+bochs config
[meinos.git] / apps / init / init.objdump
blob66ef3806d82ea435e7b1be98085c0123fbbb452d
2 init:     file format elf32-i386
4 Disassembly of section .init:
6 40001094 <.init>:
7 40001094:       e8 37 03 00 00          call   400013d0 <frame_dummy>
8 40001099:       e8 c2 d4 00 00          call   4000e560 <__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 14 64 00 00          call   400074d4 <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 2a 99 00 00          call   4000aa24 <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 45 08                mov    0x8(%ebp),%eax
52 40001121:       8b 00                   mov    (%eax),%eax
53 40001123:       85 c0                   test   %eax,%eax
54 40001125:       74 32                   je     40001159 <get_cmdline+0xb9>
55 40001127:       83 7d 14 00             cmpl   $0x0,0x14(%ebp)
56 4000112b:       74 10                   je     4000113d <get_cmdline+0x9d>
57 4000112d:       8b 45 08                mov    0x8(%ebp),%eax
58 40001130:       83 c0 10                add    $0x10,%eax
59 40001133:       89 c2                   mov    %eax,%edx
60 40001135:       03 55 f8                add    -0x8(%ebp),%edx
61 40001138:       8b 45 14                mov    0x14(%ebp),%eax
62 4000113b:       89 10                   mov    %edx,(%eax)
63 4000113d:       8b 45 08                mov    0x8(%ebp),%eax
64 40001140:       83 c0 10                add    $0x10,%eax
65 40001143:       03 45 f8                add    -0x8(%ebp),%eax
66 40001146:       89 04 24                mov    %eax,(%esp)
67 40001149:       e8 d6 98 00 00          call   4000aa24 <strlen>
68 4000114e:       03 45 f8                add    -0x8(%ebp),%eax
69 40001151:       83 c0 01                add    $0x1,%eax
70 40001154:       89 45 f8                mov    %eax,-0x8(%ebp)
71 40001157:       eb 0f                   jmp    40001168 <get_cmdline+0xc8>
72 40001159:       83 7d 14 00             cmpl   $0x0,0x14(%ebp)
73 4000115d:       74 09                   je     40001168 <get_cmdline+0xc8>
74 4000115f:       8b 45 14                mov    0x14(%ebp),%eax
75 40001162:       c7 00 00 00 00 00       movl   $0x0,(%eax)
76 40001168:       8b 45 08                mov    0x8(%ebp),%eax
77 4000116b:       8b 40 04                mov    0x4(%eax),%eax
78 4000116e:       85 c0                   test   %eax,%eax
79 40001170:       74 32                   je     400011a4 <get_cmdline+0x104>
80 40001172:       83 7d 18 00             cmpl   $0x0,0x18(%ebp)
81 40001176:       74 10                   je     40001188 <get_cmdline+0xe8>
82 40001178:       8b 45 08                mov    0x8(%ebp),%eax
83 4000117b:       83 c0 10                add    $0x10,%eax
84 4000117e:       89 c2                   mov    %eax,%edx
85 40001180:       03 55 f8                add    -0x8(%ebp),%edx
86 40001183:       8b 45 18                mov    0x18(%ebp),%eax
87 40001186:       89 10                   mov    %edx,(%eax)
88 40001188:       8b 45 08                mov    0x8(%ebp),%eax
89 4000118b:       83 c0 10                add    $0x10,%eax
90 4000118e:       03 45 f8                add    -0x8(%ebp),%eax
91 40001191:       89 04 24                mov    %eax,(%esp)
92 40001194:       e8 8b 98 00 00          call   4000aa24 <strlen>
93 40001199:       03 45 f8                add    -0x8(%ebp),%eax
94 4000119c:       83 c0 01                add    $0x1,%eax
95 4000119f:       89 45 f8                mov    %eax,-0x8(%ebp)
96 400011a2:       eb 0f                   jmp    400011b3 <get_cmdline+0x113>
97 400011a4:       83 7d 18 00             cmpl   $0x0,0x18(%ebp)
98 400011a8:       74 09                   je     400011b3 <get_cmdline+0x113>
99 400011aa:       8b 45 18                mov    0x18(%ebp),%eax
100 400011ad:       c7 00 00 00 00 00       movl   $0x0,(%eax)
101 400011b3:       8b 45 08                mov    0x8(%ebp),%eax
102 400011b6:       8b 40 08                mov    0x8(%eax),%eax
103 400011b9:       85 c0                   test   %eax,%eax
104 400011bb:       74 32                   je     400011ef <get_cmdline+0x14f>
105 400011bd:       83 7d 1c 00             cmpl   $0x0,0x1c(%ebp)
106 400011c1:       74 10                   je     400011d3 <get_cmdline+0x133>
107 400011c3:       8b 45 08                mov    0x8(%ebp),%eax
108 400011c6:       83 c0 10                add    $0x10,%eax
109 400011c9:       89 c2                   mov    %eax,%edx
110 400011cb:       03 55 f8                add    -0x8(%ebp),%edx
111 400011ce:       8b 45 1c                mov    0x1c(%ebp),%eax
112 400011d1:       89 10                   mov    %edx,(%eax)
113 400011d3:       8b 45 08                mov    0x8(%ebp),%eax
114 400011d6:       83 c0 10                add    $0x10,%eax
115 400011d9:       03 45 f8                add    -0x8(%ebp),%eax
116 400011dc:       89 04 24                mov    %eax,(%esp)
117 400011df:       e8 40 98 00 00          call   4000aa24 <strlen>
118 400011e4:       03 45 f8                add    -0x8(%ebp),%eax
119 400011e7:       83 c0 01                add    $0x1,%eax
120 400011ea:       89 45 f8                mov    %eax,-0x8(%ebp)
121 400011ed:       eb 0f                   jmp    400011fe <get_cmdline+0x15e>
122 400011ef:       83 7d 1c 00             cmpl   $0x0,0x1c(%ebp)
123 400011f3:       74 09                   je     400011fe <get_cmdline+0x15e>
124 400011f5:       8b 45 1c                mov    0x1c(%ebp),%eax
125 400011f8:       c7 00 00 00 00 00       movl   $0x0,(%eax)
126 400011fe:       8b 55 0c                mov    0xc(%ebp),%edx
127 40001201:       8b 45 f4                mov    -0xc(%ebp),%eax
128 40001204:       89 02                   mov    %eax,(%edx)
129 40001206:       8b 55 10                mov    0x10(%ebp),%edx
130 40001209:       8b 45 f0                mov    -0x10(%ebp),%eax
131 4000120c:       89 02                   mov    %eax,(%edx)
132 4000120e:       c9                      leave  
133 4000120f:       c3                      ret    
135 40001210 <crt0_quit>:
136 40001210:       55                      push   %ebp
137 40001211:       89 e5                   mov    %esp,%ebp
138 40001213:       83 ec 18                sub    $0x18,%esp
139 40001216:       a1 04 1c 01 40          mov    0x40011c04,%eax
140 4000121b:       85 c0                   test   %eax,%eax
141 4000121d:       74 2a                   je     40001249 <crt0_quit+0x39>
142 4000121f:       a1 04 1c 01 40          mov    0x40011c04,%eax
143 40001224:       89 04 24                mov    %eax,(%esp)
144 40001227:       e8 df 7a 00 00          call   40008d0b <shmdt>
145 4000122c:       a1 00 05 01 40          mov    0x40010500,%eax
146 40001231:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
147 40001238:       00 
148 40001239:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
149 40001240:       00 
150 40001241:       89 04 24                mov    %eax,(%esp)
151 40001244:       e8 32 7b 00 00          call   40008d7b <shmctl>
152 40001249:       c9                      leave  
153 4000124a:       c3                      ret    
155 4000124b <_start>:
156 4000124b:       55                      push   %ebp
157 4000124c:       89 e5                   mov    %esp,%ebp
158 4000124e:       83 ec 38                sub    $0x38,%esp
159 40001251:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
160 40001258:       8d 45 fc                lea    -0x4(%ebp),%eax
161 4000125b:       89 45 f8                mov    %eax,-0x8(%ebp)
162 4000125e:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
163 40001265:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
164 4000126c:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
165 40001273:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
166 4000127a:       e8 ad 80 00 00          call   4000932c <_stdlib_init_pre>
167 4000127f:       e8 c4 a1 00 00          call   4000b448 <_libmeinos_init>
168 40001284:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
169 4000128b:       00 
170 4000128c:       c7 04 24 28 00 00 00    movl   $0x28,(%esp)
171 40001293:       e8 38 b7 00 00          call   4000c9d0 <syscall_call>
172 40001298:       89 44 24 08             mov    %eax,0x8(%esp)
173 4000129c:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
174 400012a3:       00 
175 400012a4:       c7 04 24 32 00 00 00    movl   $0x32,(%esp)
176 400012ab:       e8 20 b7 00 00          call   4000c9d0 <syscall_call>
177 400012b0:       a3 00 05 01 40          mov    %eax,0x40010500
178 400012b5:       a1 00 05 01 40          mov    0x40010500,%eax
179 400012ba:       83 f8 ff                cmp    $0xffffffff,%eax
180 400012bd:       74 5e                   je     4000131d <_start+0xd2>
181 400012bf:       a1 00 05 01 40          mov    0x40010500,%eax
182 400012c4:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
183 400012cb:       00 
184 400012cc:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
185 400012d3:       00 
186 400012d4:       89 04 24                mov    %eax,(%esp)
187 400012d7:       e8 ac 79 00 00          call   40008c88 <shmat>
188 400012dc:       a3 04 1c 01 40          mov    %eax,0x40011c04
189 400012e1:       a1 04 1c 01 40          mov    0x40011c04,%eax
190 400012e6:       85 c0                   test   %eax,%eax
191 400012e8:       74 3d                   je     40001327 <_start+0xdc>
192 400012ea:       8b 15 04 1c 01 40       mov    0x40011c04,%edx
193 400012f0:       8d 45 e8                lea    -0x18(%ebp),%eax
194 400012f3:       89 44 24 14             mov    %eax,0x14(%esp)
195 400012f7:       8d 45 ec                lea    -0x14(%ebp),%eax
196 400012fa:       89 44 24 10             mov    %eax,0x10(%esp)
197 400012fe:       8d 45 f0                lea    -0x10(%ebp),%eax
198 40001301:       89 44 24 0c             mov    %eax,0xc(%esp)
199 40001305:       8d 45 f4                lea    -0xc(%ebp),%eax
200 40001308:       89 44 24 08             mov    %eax,0x8(%esp)
201 4000130c:       8d 45 f8                lea    -0x8(%ebp),%eax
202 4000130f:       89 44 24 04             mov    %eax,0x4(%esp)
203 40001313:       89 14 24                mov    %edx,(%esp)
204 40001316:       e8 85 fd ff ff          call   400010a0 <get_cmdline>
205 4000131b:       eb 0a                   jmp    40001327 <_start+0xdc>
206 4000131d:       c7 05 04 1c 01 40 00    movl   $0x0,0x40011c04
207 40001324:       00 00 00 
208 40001327:       8b 45 e8                mov    -0x18(%ebp),%eax
209 4000132a:       8b 55 ec                mov    -0x14(%ebp),%edx
210 4000132d:       8b 4d f0                mov    -0x10(%ebp),%ecx
211 40001330:       89 44 24 08             mov    %eax,0x8(%esp)
212 40001334:       89 54 24 04             mov    %edx,0x4(%esp)
213 40001338:       89 0c 24                mov    %ecx,(%esp)
214 4000133b:       e8 51 80 00 00          call   40009391 <_stdlib_init_post>
215 40001340:       b8 10 12 00 40          mov    $0x40001210,%eax
216 40001345:       89 04 24                mov    %eax,(%esp)
217 40001348:       e8 c7 80 00 00          call   40009414 <atexit>
218 4000134d:       8b 45 f8                mov    -0x8(%ebp),%eax
219 40001350:       8b 55 f4                mov    -0xc(%ebp),%edx
220 40001353:       89 44 24 04             mov    %eax,0x4(%esp)
221 40001357:       89 14 24                mov    %edx,(%esp)
222 4000135a:       e8 17 07 00 00          call   40001a76 <main>
223 4000135f:       89 04 24                mov    %eax,(%esp)
224 40001362:       e8 55 80 00 00          call   400093bc <exit>
225 40001367:       eb fe                   jmp    40001367 <_start+0x11c>
226 40001369:       90                      nop    
227 4000136a:       90                      nop    
228 4000136b:       90                      nop    
229 4000136c:       90                      nop    
230 4000136d:       90                      nop    
231 4000136e:       90                      nop    
232 4000136f:       90                      nop    
234 40001370 <__do_global_dtors_aux>:
235 40001370:       55                      push   %ebp
236 40001371:       89 e5                   mov    %esp,%ebp
237 40001373:       53                      push   %ebx
238 40001374:       83 ec 04                sub    $0x4,%esp
239 40001377:       e8 00 00 00 00          call   4000137c <__do_global_dtors_aux+0xc>
240 4000137c:       5b                      pop    %ebx
241 4000137d:       81 c3 80 ef 00 00       add    $0xef80,%ebx
242 40001383:       80 bb 08 02 00 00 00    cmpb   $0x0,0x208(%ebx)
243 4000138a:       74 0f                   je     4000139b <__do_global_dtors_aux+0x2b>
244 4000138c:       eb 3c                   jmp    400013ca <__do_global_dtors_aux+0x5a>
245 4000138e:       66 90                   xchg   %ax,%ax
246 40001390:       83 c0 04                add    $0x4,%eax
247 40001393:       89 83 28 00 00 00       mov    %eax,0x28(%ebx)
248 40001399:       ff d2                   call   *%edx
249 4000139b:       8b 83 28 00 00 00       mov    0x28(%ebx),%eax
250 400013a1:       8b 10                   mov    (%eax),%edx
251 400013a3:       85 d2                   test   %edx,%edx
252 400013a5:       75 e9                   jne    40001390 <__do_global_dtors_aux+0x20>
253 400013a7:       8b 83 f4 ff ff ff       mov    -0xc(%ebx),%eax
254 400013ad:       85 c0                   test   %eax,%eax
255 400013af:       74 12                   je     400013c3 <__do_global_dtors_aux+0x53>
256 400013b1:       83 ec 0c                sub    $0xc,%esp
257 400013b4:       8d 83 6c ef ff ff       lea    -0x1094(%ebx),%eax
258 400013ba:       50                      push   %eax
259 400013bb:       e8 40 ec ff bf          call   0 <get_cmdline-0x400010a0>
260 400013c0:       83 c4 10                add    $0x10,%esp
261 400013c3:       c6 83 08 02 00 00 01    movb   $0x1,0x208(%ebx)
262 400013ca:       8b 5d fc                mov    -0x4(%ebp),%ebx
263 400013cd:       c9                      leave  
264 400013ce:       c3                      ret    
265 400013cf:       90                      nop    
267 400013d0 <frame_dummy>:
268 400013d0:       55                      push   %ebp
269 400013d1:       89 e5                   mov    %esp,%ebp
270 400013d3:       53                      push   %ebx
271 400013d4:       83 ec 04                sub    $0x4,%esp
272 400013d7:       e8 00 00 00 00          call   400013dc <frame_dummy+0xc>
273 400013dc:       5b                      pop    %ebx
274 400013dd:       81 c3 20 ef 00 00       add    $0xef20,%ebx
275 400013e3:       8b 83 fc ff ff ff       mov    -0x4(%ebx),%eax
276 400013e9:       85 c0                   test   %eax,%eax
277 400013eb:       74 18                   je     40001405 <frame_dummy+0x35>
278 400013ed:       8d 83 0c 02 00 00       lea    0x20c(%ebx),%eax
279 400013f3:       51                      push   %ecx
280 400013f4:       51                      push   %ecx
281 400013f5:       50                      push   %eax
282 400013f6:       8d 83 6c ef ff ff       lea    -0x1094(%ebx),%eax
283 400013fc:       50                      push   %eax
284 400013fd:       e8 fe eb ff bf          call   0 <get_cmdline-0x400010a0>
285 40001402:       83 c4 10                add    $0x10,%esp
286 40001405:       8b 93 f0 ff ff ff       mov    -0x10(%ebx),%edx
287 4000140b:       85 d2                   test   %edx,%edx
288 4000140d:       74 19                   je     40001428 <frame_dummy+0x58>
289 4000140f:       8b 93 f8 ff ff ff       mov    -0x8(%ebx),%edx
290 40001415:       85 d2                   test   %edx,%edx
291 40001417:       74 0f                   je     40001428 <frame_dummy+0x58>
292 40001419:       83 ec 0c                sub    $0xc,%esp
293 4000141c:       8d 83 f0 ff ff ff       lea    -0x10(%ebx),%eax
294 40001422:       50                      push   %eax
295 40001423:       ff d2                   call   *%edx
296 40001425:       83 c4 10                add    $0x10,%esp
297 40001428:       8b 5d fc                mov    -0x4(%ebp),%ebx
298 4000142b:       c9                      leave  
299 4000142c:       c3                      ret    
300 4000142d:       90                      nop    
301 4000142e:       90                      nop    
302 4000142f:       90                      nop    
304 40001430 <sigusr1_handler>:
305 40001430:       55                      push   %ebp
306 40001431:       89 e5                   mov    %esp,%ebp
307 40001433:       a1 20 05 01 40          mov    0x40010520,%eax
308 40001438:       40                      inc    %eax
309 40001439:       a3 20 05 01 40          mov    %eax,0x40010520
310 4000143e:       5d                      pop    %ebp
311 4000143f:       c3                      ret    
313 40001440 <init_init>:
314 40001440:       55                      push   %ebp
315 40001441:       89 e5                   mov    %esp,%ebp
316 40001443:       83 ec 08                sub    $0x8,%esp
317 40001446:       83 ec 08                sub    $0x8,%esp
318 40001449:       68 30 14 00 40          push   $0x40001430
319 4000144e:       6a 0a                   push   $0xa
320 40001450:       e8 08 7e 00 00          call   4000925d <signal>
321 40001455:       83 c4 10                add    $0x10,%esp
322 40001458:       c9                      leave  
323 40001459:       c3                      ret    
325 4000145a <init_run>:
326 4000145a:       55                      push   %ebp
327 4000145b:       89 e5                   mov    %esp,%ebp
328 4000145d:       83 ec 18                sub    $0x18,%esp
329 40001460:       83 ec 0c                sub    $0xc,%esp
330 40001463:       ff 75 08                pushl  0x8(%ebp)
331 40001466:       e8 20 00 00 00          call   4000148b <getpidbyname>
332 4000146b:       83 c4 10                add    $0x10,%esp
333 4000146e:       89 45 fc                mov    %eax,-0x4(%ebp)
334 40001471:       c7 05 20 05 01 40 00    movl   $0x0,0x40010520
335 40001478:       00 00 00 
336 4000147b:       83 ec 0c                sub    $0xc,%esp
337 4000147e:       ff 75 fc                pushl  -0x4(%ebp)
338 40001481:       e8 1f 00 00 00          call   400014a5 <proc_run>
339 40001486:       83 c4 10                add    $0x10,%esp
340 40001489:       c9                      leave  
341 4000148a:       c3                      ret    
343 4000148b <getpidbyname>:
344 4000148b:       55                      push   %ebp
345 4000148c:       89 e5                   mov    %esp,%ebp
346 4000148e:       83 ec 08                sub    $0x8,%esp
347 40001491:       83 ec 04                sub    $0x4,%esp
348 40001494:       ff 75 08                pushl  0x8(%ebp)
349 40001497:       6a 01                   push   $0x1
350 40001499:       6a 31                   push   $0x31
351 4000149b:       e8 30 b5 00 00          call   4000c9d0 <syscall_call>
352 400014a0:       83 c4 10                add    $0x10,%esp
353 400014a3:       c9                      leave  
354 400014a4:       c3                      ret    
356 400014a5 <proc_run>:
357 400014a5:       55                      push   %ebp
358 400014a6:       89 e5                   mov    %esp,%ebp
359 400014a8:       83 ec 08                sub    $0x8,%esp
360 400014ab:       83 ec 08                sub    $0x8,%esp
361 400014ae:       6a 12                   push   $0x12
362 400014b0:       ff 75 08                pushl  0x8(%ebp)
363 400014b3:       e8 05 00 00 00          call   400014bd <kill>
364 400014b8:       83 c4 10                add    $0x10,%esp
365 400014bb:       c9                      leave  
366 400014bc:       c3                      ret    
368 400014bd <kill>:
369 400014bd:       55                      push   %ebp
370 400014be:       89 e5                   mov    %esp,%ebp
371 400014c0:       83 ec 08                sub    $0x8,%esp
372 400014c3:       ff 75 0c                pushl  0xc(%ebp)
373 400014c6:       ff 75 08                pushl  0x8(%ebp)
374 400014c9:       6a 02                   push   $0x2
375 400014cb:       6a 4d                   push   $0x4d
376 400014cd:       e8 fe b4 00 00          call   4000c9d0 <syscall_call>
377 400014d2:       83 c4 10                add    $0x10,%esp
378 400014d5:       c9                      leave  
379 400014d6:       c3                      ret    
381 400014d7 <init_wait>:
382 400014d7:       55                      push   %ebp
383 400014d8:       89 e5                   mov    %esp,%ebp
384 400014da:       83 ec 18                sub    $0x18,%esp
385 400014dd:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
386 400014e4:       c7 45 fc 10 27 00 00    movl   $0x2710,-0x4(%ebp)
387 400014eb:       eb 14                   jmp    40001501 <init_wait+0x2a>
388 400014ed:       83 45 f8 0a             addl   $0xa,-0x8(%ebp)
389 400014f1:       83 ec 0c                sub    $0xc,%esp
390 400014f4:       68 10 27 00 00          push   $0x2710
391 400014f9:       e8 16 84 00 00          call   40009914 <usleep>
392 400014fe:       83 c4 10                add    $0x10,%esp
393 40001501:       a1 20 05 01 40          mov    0x40010520,%eax
394 40001506:       85 c0                   test   %eax,%eax
395 40001508:       75 08                   jne    40001512 <init_wait+0x3b>
396 4000150a:       8b 45 f8                mov    -0x8(%ebp),%eax
397 4000150d:       3b 45 fc                cmp    -0x4(%ebp),%eax
398 40001510:       72 db                   jb     400014ed <init_wait+0x16>
399 40001512:       8b 45 f8                mov    -0x8(%ebp),%eax
400 40001515:       3b 45 fc                cmp    -0x4(%ebp),%eax
401 40001518:       0f 92 c0                setb   %al
402 4000151b:       25 ff 00 00 00          and    $0xff,%eax
403 40001520:       c9                      leave  
404 40001521:       c3                      ret    
406 40001522 <init_link>:
407 40001522:       55                      push   %ebp
408 40001523:       89 e5                   mov    %esp,%ebp
409 40001525:       83 ec 18                sub    $0x18,%esp
410 40001528:       ff 75 08                pushl  0x8(%ebp)
411 4000152b:       68 dc e5 00 40          push   $0x4000e5dc
412 40001530:       68 e2 e5 00 40          push   $0x4000e5e2
413 40001535:       8d 45 fc                lea    -0x4(%ebp),%eax
414 40001538:       50                      push   %eax
415 40001539:       e8 82 0b 00 00          call   400020c0 <asprintf>
416 4000153e:       83 c4 10                add    $0x10,%esp
417 40001541:       8b 45 fc                mov    -0x4(%ebp),%eax
418 40001544:       83 ec 08                sub    $0x8,%esp
419 40001547:       ff 75 08                pushl  0x8(%ebp)
420 4000154a:       50                      push   %eax
421 4000154b:       e8 92 28 00 00          call   40003de2 <symlink>
422 40001550:       83 c4 10                add    $0x10,%esp
423 40001553:       8b 45 fc                mov    -0x4(%ebp),%eax
424 40001556:       83 ec 0c                sub    $0xc,%esp
425 40001559:       50                      push   %eax
426 4000155a:       e8 2c 64 00 00          call   4000798b <free>
427 4000155f:       83 c4 10                add    $0x10,%esp
428 40001562:       c9                      leave  
429 40001563:       c3                      ret    
431 40001564 <exe_load>:
432 40001564:       55                      push   %ebp
433 40001565:       89 e5                   mov    %esp,%ebp
434 40001567:       83 ec 08                sub    $0x8,%esp
435 4000156a:       83 ec 08                sub    $0x8,%esp
436 4000156d:       ff 75 0c                pushl  0xc(%ebp)
437 40001570:       ff 75 08                pushl  0x8(%ebp)
438 40001573:       e8 ce 09 00 00          call   40001f46 <elf_load>
439 40001578:       83 c4 10                add    $0x10,%esp
440 4000157b:       c9                      leave  
441 4000157c:       c3                      ret    
443 4000157d <proc_fork>:
444 4000157d:       55                      push   %ebp
445 4000157e:       89 e5                   mov    %esp,%ebp
446 40001580:       56                      push   %esi
447 40001581:       53                      push   %ebx
448 40001582:       83 ec 30                sub    $0x30,%esp
449 40001585:       a1 08 1c 01 40          mov    0x40011c08,%eax
450 4000158a:       83 ec 0c                sub    $0xc,%esp
451 4000158d:       50                      push   %eax
452 4000158e:       e8 91 a7 00 00          call   4000bd24 <getname>
453 40001593:       83 c4 10                add    $0x10,%esp
454 40001596:       89 45 e4                mov    %eax,-0x1c(%ebp)
455 40001599:       8b 35 08 1c 01 40       mov    0x40011c08,%esi
456 4000159f:       a1 08 1c 01 40          mov    0x40011c08,%eax
457 400015a4:       83 ec 0c                sub    $0xc,%esp
458 400015a7:       50                      push   %eax
459 400015a8:       e8 2c 01 00 00          call   400016d9 <getgidbypid>
460 400015ad:       83 c4 10                add    $0x10,%esp
461 400015b0:       89 c3                   mov    %eax,%ebx
462 400015b2:       a1 08 1c 01 40          mov    0x40011c08,%eax
463 400015b7:       83 ec 0c                sub    $0xc,%esp
464 400015ba:       50                      push   %eax
465 400015bb:       e8 33 01 00 00          call   400016f3 <getuidbypid>
466 400015c0:       83 c4 10                add    $0x10,%esp
467 400015c3:       56                      push   %esi
468 400015c4:       53                      push   %ebx
469 400015c5:       50                      push   %eax
470 400015c6:       ff 75 e4                pushl  -0x1c(%ebp)
471 400015c9:       e8 3f 01 00 00          call   4000170d <proc_create>
472 400015ce:       83 c4 10                add    $0x10,%esp
473 400015d1:       89 45 e8                mov    %eax,-0x18(%ebp)
474 400015d4:       83 ec 08                sub    $0x8,%esp
475 400015d7:       ff 75 0c                pushl  0xc(%ebp)
476 400015da:       ff 75 e8                pushl  -0x18(%ebp)
477 400015dd:       e8 4e 01 00 00          call   40001730 <proc_setvar>
478 400015e2:       83 c4 10                add    $0x10,%esp
479 400015e5:       83 7d e8 ff             cmpl   $0xffffffff,-0x18(%ebp)
480 400015e9:       0f 84 e0 00 00 00       je     400016cf <proc_fork+0x152>
481 400015ef:       a1 08 1c 01 40          mov    0x40011c08,%eax
482 400015f4:       83 ec 08                sub    $0x8,%esp
483 400015f7:       8d 55 e0                lea    -0x20(%ebp),%edx
484 400015fa:       52                      push   %edx
485 400015fb:       50                      push   %eax
486 400015fc:       e8 93 a7 00 00          call   4000bd94 <proc_mempagelist>
487 40001601:       83 c4 10                add    $0x10,%esp
488 40001604:       89 45 f0                mov    %eax,-0x10(%ebp)
489 40001607:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
490 4000160b:       0f 84 9f 00 00 00       je     400016b0 <proc_fork+0x133>
491 40001611:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
492 40001618:       e9 87 00 00 00          jmp    400016a4 <proc_fork+0x127>
493 4000161d:       8b 45 ec                mov    -0x14(%ebp),%eax
494 40001620:       c1 e0 02                shl    $0x2,%eax
495 40001623:       03 45 f0                add    -0x10(%ebp),%eax
496 40001626:       8b 10                   mov    (%eax),%edx
497 40001628:       8b 0d 08 1c 01 40       mov    0x40011c08,%ecx
498 4000162e:       83 ec 08                sub    $0x8,%esp
499 40001631:       6a 00                   push   $0x0
500 40001633:       8d 45 d4                lea    -0x2c(%ebp),%eax
501 40001636:       50                      push   %eax
502 40001637:       8d 45 d8                lea    -0x28(%ebp),%eax
503 4000163a:       50                      push   %eax
504 4000163b:       8d 45 dc                lea    -0x24(%ebp),%eax
505 4000163e:       50                      push   %eax
506 4000163f:       52                      push   %edx
507 40001640:       51                      push   %ecx
508 40001641:       e8 04 01 00 00          call   4000174a <proc_memget>
509 40001646:       83 c4 20                add    $0x20,%esp
510 40001649:       89 45 f4                mov    %eax,-0xc(%ebp)
511 4000164c:       8b 45 dc                mov    -0x24(%ebp),%eax
512 4000164f:       85 c0                   test   %eax,%eax
513 40001651:       74 4e                   je     400016a1 <proc_fork+0x124>
514 40001653:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
515 40001657:       74 29                   je     40001682 <proc_fork+0x105>
516 40001659:       8b 55 d4                mov    -0x2c(%ebp),%edx
517 4000165c:       8b 4d d8                mov    -0x28(%ebp),%ecx
518 4000165f:       8b 45 ec                mov    -0x14(%ebp),%eax
519 40001662:       c1 e0 02                shl    $0x2,%eax
520 40001665:       03 45 f0                add    -0x10(%ebp),%eax
521 40001668:       8b 00                   mov    (%eax),%eax
522 4000166a:       83 ec 08                sub    $0x8,%esp
523 4000166d:       6a 01                   push   $0x1
524 4000166f:       52                      push   %edx
525 40001670:       51                      push   %ecx
526 40001671:       ff 75 f4                pushl  -0xc(%ebp)
527 40001674:       50                      push   %eax
528 40001675:       ff 75 e8                pushl  -0x18(%ebp)
529 40001678:       e8 f3 00 00 00          call   40001770 <proc_memmap>
530 4000167d:       83 c4 20                add    $0x20,%esp
531 40001680:       eb 1f                   jmp    400016a1 <proc_fork+0x124>
532 40001682:       8b 55 d4                mov    -0x2c(%ebp),%edx
533 40001685:       8b 4d d8                mov    -0x28(%ebp),%ecx
534 40001688:       8b 45 ec                mov    -0x14(%ebp),%eax
535 4000168b:       c1 e0 02                shl    $0x2,%eax
536 4000168e:       03 45 f0                add    -0x10(%ebp),%eax
537 40001691:       8b 00                   mov    (%eax),%eax
538 40001693:       52                      push   %edx
539 40001694:       51                      push   %ecx
540 40001695:       50                      push   %eax
541 40001696:       ff 75 e8                pushl  -0x18(%ebp)
542 40001699:       e8 f8 00 00 00          call   40001796 <proc_memalloc>
543 4000169e:       83 c4 10                add    $0x10,%esp
544 400016a1:       ff 45 ec                incl   -0x14(%ebp)
545 400016a4:       8b 45 e0                mov    -0x20(%ebp),%eax
546 400016a7:       39 45 ec                cmp    %eax,-0x14(%ebp)
547 400016aa:       0f 82 6d ff ff ff       jb     4000161d <proc_fork+0xa0>
548 400016b0:       83 ec 08                sub    $0x8,%esp
549 400016b3:       ff 75 08                pushl  0x8(%ebp)
550 400016b6:       ff 75 e8                pushl  -0x18(%ebp)
551 400016b9:       e8 fb 00 00 00          call   400017b9 <proc_jump>
552 400016be:       83 c4 10                add    $0x10,%esp
553 400016c1:       83 ec 0c                sub    $0xc,%esp
554 400016c4:       ff 75 e8                pushl  -0x18(%ebp)
555 400016c7:       e8 d9 fd ff ff          call   400014a5 <proc_run>
556 400016cc:       83 c4 10                add    $0x10,%esp
557 400016cf:       8b 45 e8                mov    -0x18(%ebp),%eax
558 400016d2:       8d 65 f8                lea    -0x8(%ebp),%esp
559 400016d5:       5b                      pop    %ebx
560 400016d6:       5e                      pop    %esi
561 400016d7:       5d                      pop    %ebp
562 400016d8:       c3                      ret    
564 400016d9 <getgidbypid>:
565 400016d9:       55                      push   %ebp
566 400016da:       89 e5                   mov    %esp,%ebp
567 400016dc:       83 ec 08                sub    $0x8,%esp
568 400016df:       83 ec 04                sub    $0x4,%esp
569 400016e2:       ff 75 08                pushl  0x8(%ebp)
570 400016e5:       6a 01                   push   $0x1
571 400016e7:       6a 2a                   push   $0x2a
572 400016e9:       e8 e2 b2 00 00          call   4000c9d0 <syscall_call>
573 400016ee:       83 c4 10                add    $0x10,%esp
574 400016f1:       c9                      leave  
575 400016f2:       c3                      ret    
577 400016f3 <getuidbypid>:
578 400016f3:       55                      push   %ebp
579 400016f4:       89 e5                   mov    %esp,%ebp
580 400016f6:       83 ec 08                sub    $0x8,%esp
581 400016f9:       83 ec 04                sub    $0x4,%esp
582 400016fc:       ff 75 08                pushl  0x8(%ebp)
583 400016ff:       6a 01                   push   $0x1
584 40001701:       6a 29                   push   $0x29
585 40001703:       e8 c8 b2 00 00          call   4000c9d0 <syscall_call>
586 40001708:       83 c4 10                add    $0x10,%esp
587 4000170b:       c9                      leave  
588 4000170c:       c3                      ret    
590 4000170d <proc_create>:
591 4000170d:       55                      push   %ebp
592 4000170e:       89 e5                   mov    %esp,%ebp
593 40001710:       83 ec 08                sub    $0x8,%esp
594 40001713:       83 ec 08                sub    $0x8,%esp
595 40001716:       ff 75 14                pushl  0x14(%ebp)
596 40001719:       ff 75 10                pushl  0x10(%ebp)
597 4000171c:       ff 75 0c                pushl  0xc(%ebp)
598 4000171f:       ff 75 08                pushl  0x8(%ebp)
599 40001722:       6a 04                   push   $0x4
600 40001724:       6a 37                   push   $0x37
601 40001726:       e8 a5 b2 00 00          call   4000c9d0 <syscall_call>
602 4000172b:       83 c4 20                add    $0x20,%esp
603 4000172e:       c9                      leave  
604 4000172f:       c3                      ret    
606 40001730 <proc_setvar>:
607 40001730:       55                      push   %ebp
608 40001731:       89 e5                   mov    %esp,%ebp
609 40001733:       83 ec 08                sub    $0x8,%esp
610 40001736:       ff 75 0c                pushl  0xc(%ebp)
611 40001739:       ff 75 08                pushl  0x8(%ebp)
612 4000173c:       6a 02                   push   $0x2
613 4000173e:       6a 33                   push   $0x33
614 40001740:       e8 8b b2 00 00          call   4000c9d0 <syscall_call>
615 40001745:       83 c4 10                add    $0x10,%esp
616 40001748:       c9                      leave  
617 40001749:       c3                      ret    
619 4000174a <proc_memget>:
620 4000174a:       55                      push   %ebp
621 4000174b:       89 e5                   mov    %esp,%ebp
622 4000174d:       83 ec 08                sub    $0x8,%esp
623 40001750:       ff 75 1c                pushl  0x1c(%ebp)
624 40001753:       ff 75 18                pushl  0x18(%ebp)
625 40001756:       ff 75 14                pushl  0x14(%ebp)
626 40001759:       ff 75 10                pushl  0x10(%ebp)
627 4000175c:       ff 75 0c                pushl  0xc(%ebp)
628 4000175f:       ff 75 08                pushl  0x8(%ebp)
629 40001762:       6a 06                   push   $0x6
630 40001764:       6a 3e                   push   $0x3e
631 40001766:       e8 65 b2 00 00          call   4000c9d0 <syscall_call>
632 4000176b:       83 c4 20                add    $0x20,%esp
633 4000176e:       c9                      leave  
634 4000176f:       c3                      ret    
636 40001770 <proc_memmap>:
637 40001770:       55                      push   %ebp
638 40001771:       89 e5                   mov    %esp,%ebp
639 40001773:       83 ec 08                sub    $0x8,%esp
640 40001776:       ff 75 1c                pushl  0x1c(%ebp)
641 40001779:       ff 75 18                pushl  0x18(%ebp)
642 4000177c:       ff 75 14                pushl  0x14(%ebp)
643 4000177f:       ff 75 10                pushl  0x10(%ebp)
644 40001782:       ff 75 0c                pushl  0xc(%ebp)
645 40001785:       ff 75 08                pushl  0x8(%ebp)
646 40001788:       6a 06                   push   $0x6
647 4000178a:       6a 39                   push   $0x39
648 4000178c:       e8 3f b2 00 00          call   4000c9d0 <syscall_call>
649 40001791:       83 c4 20                add    $0x20,%esp
650 40001794:       c9                      leave  
651 40001795:       c3                      ret    
653 40001796 <proc_memalloc>:
654 40001796:       55                      push   %ebp
655 40001797:       89 e5                   mov    %esp,%ebp
656 40001799:       83 ec 08                sub    $0x8,%esp
657 4000179c:       83 ec 08                sub    $0x8,%esp
658 4000179f:       ff 75 14                pushl  0x14(%ebp)
659 400017a2:       ff 75 10                pushl  0x10(%ebp)
660 400017a5:       ff 75 0c                pushl  0xc(%ebp)
661 400017a8:       ff 75 08                pushl  0x8(%ebp)
662 400017ab:       6a 04                   push   $0x4
663 400017ad:       6a 3a                   push   $0x3a
664 400017af:       e8 1c b2 00 00          call   4000c9d0 <syscall_call>
665 400017b4:       83 c4 20                add    $0x20,%esp
666 400017b7:       c9                      leave  
667 400017b8:       c3                      ret    
669 400017b9 <proc_jump>:
670 400017b9:       55                      push   %ebp
671 400017ba:       89 e5                   mov    %esp,%ebp
672 400017bc:       83 ec 08                sub    $0x8,%esp
673 400017bf:       ff 75 0c                pushl  0xc(%ebp)
674 400017c2:       ff 75 08                pushl  0x8(%ebp)
675 400017c5:       6a 02                   push   $0x2
676 400017c7:       6a 41                   push   $0x41
677 400017c9:       e8 02 b2 00 00          call   4000c9d0 <syscall_call>
678 400017ce:       83 c4 10                add    $0x10,%esp
679 400017d1:       c9                      leave  
680 400017d2:       c3                      ret    
682 400017d3 <proc_exec>:
683 400017d3:       55                      push   %ebp
684 400017d4:       89 e5                   mov    %esp,%ebp
685 400017d6:       83 ec 18                sub    $0x18,%esp
686 400017d9:       83 ec 0c                sub    $0xc,%esp
687 400017dc:       ff 75 08                pushl  0x8(%ebp)
688 400017df:       e8 f5 91 00 00          call   4000a9d9 <strdup>
689 400017e4:       83 c4 10                add    $0x10,%esp
690 400017e7:       89 45 f4                mov    %eax,-0xc(%ebp)
691 400017ea:       a1 08 1c 01 40          mov    0x40011c08,%eax
692 400017ef:       83 ec 0c                sub    $0xc,%esp
693 400017f2:       50                      push   %eax
694 400017f3:       e8 b4 00 00 00          call   400018ac <proc_stop>
695 400017f8:       83 c4 10                add    $0x10,%esp
696 400017fb:       a1 08 1c 01 40          mov    0x40011c08,%eax
697 40001800:       83 ec 08                sub    $0x8,%esp
698 40001803:       ff 75 0c                pushl  0xc(%ebp)
699 40001806:       50                      push   %eax
700 40001807:       e8 24 ff ff ff          call   40001730 <proc_setvar>
701 4000180c:       83 c4 10                add    $0x10,%esp
702 4000180f:       83 ec 0c                sub    $0xc,%esp
703 40001812:       ff 75 f4                pushl  -0xc(%ebp)
704 40001815:       e8 fe 70 00 00          call   40008918 <basename>
705 4000181a:       83 c4 10                add    $0x10,%esp
706 4000181d:       8b 15 08 1c 01 40       mov    0x40011c08,%edx
707 40001823:       83 ec 08                sub    $0x8,%esp
708 40001826:       50                      push   %eax
709 40001827:       52                      push   %edx
710 40001828:       e8 97 00 00 00          call   400018c4 <proc_setname>
711 4000182d:       83 c4 10                add    $0x10,%esp
712 40001830:       c7 45 f8 00 00 00 40    movl   $0x40000000,-0x8(%ebp)
713 40001837:       eb 1b                   jmp    40001854 <proc_exec+0x81>
714 40001839:       a1 08 1c 01 40          mov    0x40011c08,%eax
715 4000183e:       83 ec 08                sub    $0x8,%esp
716 40001841:       ff 75 f8                pushl  -0x8(%ebp)
717 40001844:       50                      push   %eax
718 40001845:       e8 94 00 00 00          call   400018de <proc_memfree>
719 4000184a:       83 c4 10                add    $0x10,%esp
720 4000184d:       81 45 f8 00 10 00 00    addl   $0x1000,-0x8(%ebp)
721 40001854:       81 7d f8 ff ef bf ff    cmpl   $0xffbfefff,-0x8(%ebp)
722 4000185b:       76 dc                   jbe    40001839 <proc_exec+0x66>
723 4000185d:       a1 08 1c 01 40          mov    0x40011c08,%eax
724 40001862:       83 ec 08                sub    $0x8,%esp
725 40001865:       ff 75 08                pushl  0x8(%ebp)
726 40001868:       50                      push   %eax
727 40001869:       e8 f6 fc ff ff          call   40001564 <exe_load>
728 4000186e:       83 c4 10                add    $0x10,%esp
729 40001871:       89 45 fc                mov    %eax,-0x4(%ebp)
730 40001874:       a1 08 1c 01 40          mov    0x40011c08,%eax
731 40001879:       83 ec 08                sub    $0x8,%esp
732 4000187c:       ff 75 fc                pushl  -0x4(%ebp)
733 4000187f:       50                      push   %eax
734 40001880:       e8 34 ff ff ff          call   400017b9 <proc_jump>
735 40001885:       83 c4 10                add    $0x10,%esp
736 40001888:       a1 08 1c 01 40          mov    0x40011c08,%eax
737 4000188d:       83 ec 0c                sub    $0xc,%esp
738 40001890:       50                      push   %eax
739 40001891:       e8 62 00 00 00          call   400018f8 <proc_createstack>
740 40001896:       83 c4 10                add    $0x10,%esp
741 40001899:       a1 08 1c 01 40          mov    0x40011c08,%eax
742 4000189e:       83 ec 0c                sub    $0xc,%esp
743 400018a1:       50                      push   %eax
744 400018a2:       e8 fe fb ff ff          call   400014a5 <proc_run>
745 400018a7:       83 c4 10                add    $0x10,%esp
746 400018aa:       c9                      leave  
747 400018ab:       c3                      ret    
749 400018ac <proc_stop>:
750 400018ac:       55                      push   %ebp
751 400018ad:       89 e5                   mov    %esp,%ebp
752 400018af:       83 ec 08                sub    $0x8,%esp
753 400018b2:       83 ec 08                sub    $0x8,%esp
754 400018b5:       6a 13                   push   $0x13
755 400018b7:       ff 75 08                pushl  0x8(%ebp)
756 400018ba:       e8 fe fb ff ff          call   400014bd <kill>
757 400018bf:       83 c4 10                add    $0x10,%esp
758 400018c2:       c9                      leave  
759 400018c3:       c3                      ret    
761 400018c4 <proc_setname>:
762 400018c4:       55                      push   %ebp
763 400018c5:       89 e5                   mov    %esp,%ebp
764 400018c7:       83 ec 08                sub    $0x8,%esp
765 400018ca:       ff 75 0c                pushl  0xc(%ebp)
766 400018cd:       ff 75 08                pushl  0x8(%ebp)
767 400018d0:       6a 02                   push   $0x2
768 400018d2:       6a 30                   push   $0x30
769 400018d4:       e8 f7 b0 00 00          call   4000c9d0 <syscall_call>
770 400018d9:       83 c4 10                add    $0x10,%esp
771 400018dc:       c9                      leave  
772 400018dd:       c3                      ret    
774 400018de <proc_memfree>:
775 400018de:       55                      push   %ebp
776 400018df:       89 e5                   mov    %esp,%ebp
777 400018e1:       83 ec 08                sub    $0x8,%esp
778 400018e4:       ff 75 0c                pushl  0xc(%ebp)
779 400018e7:       ff 75 08                pushl  0x8(%ebp)
780 400018ea:       6a 02                   push   $0x2
781 400018ec:       6a 3c                   push   $0x3c
782 400018ee:       e8 dd b0 00 00          call   4000c9d0 <syscall_call>
783 400018f3:       83 c4 10                add    $0x10,%esp
784 400018f6:       c9                      leave  
785 400018f7:       c3                      ret    
787 400018f8 <proc_createstack>:
788 400018f8:       55                      push   %ebp
789 400018f9:       89 e5                   mov    %esp,%ebp
790 400018fb:       83 ec 08                sub    $0x8,%esp
791 400018fe:       83 ec 04                sub    $0x4,%esp
792 40001901:       ff 75 08                pushl  0x8(%ebp)
793 40001904:       6a 01                   push   $0x1
794 40001906:       6a 42                   push   $0x42
795 40001908:       e8 c3 b0 00 00          call   4000c9d0 <syscall_call>
796 4000190d:       83 c4 10                add    $0x10,%esp
797 40001910:       c9                      leave  
798 40001911:       c3                      ret    
800 40001912 <proc_execute>:
801 40001912:       55                      push   %ebp
802 40001913:       89 e5                   mov    %esp,%ebp
803 40001915:       57                      push   %edi
804 40001916:       56                      push   %esi
805 40001917:       53                      push   %ebx
806 40001918:       83 ec 1c                sub    $0x1c,%esp
807 4000191b:       83 ec 0c                sub    $0xc,%esp
808 4000191e:       ff 75 08                pushl  0x8(%ebp)
809 40001921:       e8 b3 90 00 00          call   4000a9d9 <strdup>
810 40001926:       83 c4 10                add    $0x10,%esp
811 40001929:       89 45 e8                mov    %eax,-0x18(%ebp)
812 4000192c:       8b 35 08 1c 01 40       mov    0x40011c08,%esi
813 40001932:       a1 08 1c 01 40          mov    0x40011c08,%eax
814 40001937:       83 ec 0c                sub    $0xc,%esp
815 4000193a:       50                      push   %eax
816 4000193b:       e8 99 fd ff ff          call   400016d9 <getgidbypid>
817 40001940:       83 c4 10                add    $0x10,%esp
818 40001943:       89 c7                   mov    %eax,%edi
819 40001945:       a1 08 1c 01 40          mov    0x40011c08,%eax
820 4000194a:       83 ec 0c                sub    $0xc,%esp
821 4000194d:       50                      push   %eax
822 4000194e:       e8 a0 fd ff ff          call   400016f3 <getuidbypid>
823 40001953:       83 c4 10                add    $0x10,%esp
824 40001956:       89 c3                   mov    %eax,%ebx
825 40001958:       83 ec 0c                sub    $0xc,%esp
826 4000195b:       ff 75 e8                pushl  -0x18(%ebp)
827 4000195e:       e8 b5 6f 00 00          call   40008918 <basename>
828 40001963:       83 c4 10                add    $0x10,%esp
829 40001966:       56                      push   %esi
830 40001967:       57                      push   %edi
831 40001968:       53                      push   %ebx
832 40001969:       50                      push   %eax
833 4000196a:       e8 9e fd ff ff          call   4000170d <proc_create>
834 4000196f:       83 c4 10                add    $0x10,%esp
835 40001972:       89 45 ec                mov    %eax,-0x14(%ebp)
836 40001975:       83 ec 08                sub    $0x8,%esp
837 40001978:       ff 75 0c                pushl  0xc(%ebp)
838 4000197b:       ff 75 ec                pushl  -0x14(%ebp)
839 4000197e:       e8 ad fd ff ff          call   40001730 <proc_setvar>
840 40001983:       83 c4 10                add    $0x10,%esp
841 40001986:       83 ec 08                sub    $0x8,%esp
842 40001989:       ff 75 08                pushl  0x8(%ebp)
843 4000198c:       ff 75 ec                pushl  -0x14(%ebp)
844 4000198f:       e8 d0 fb ff ff          call   40001564 <exe_load>
845 40001994:       83 c4 10                add    $0x10,%esp
846 40001997:       89 45 f0                mov    %eax,-0x10(%ebp)
847 4000199a:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
848 4000199e:       75 17                   jne    400019b7 <proc_execute+0xa5>
849 400019a0:       83 ec 0c                sub    $0xc,%esp
850 400019a3:       ff 75 ec                pushl  -0x14(%ebp)
851 400019a6:       e8 4a 00 00 00          call   400019f5 <proc_destroy>
852 400019ab:       83 c4 10                add    $0x10,%esp
853 400019ae:       c7 45 e0 ff ff ff ff    movl   $0xffffffff,-0x20(%ebp)
854 400019b5:       eb 33                   jmp    400019ea <proc_execute+0xd8>
855 400019b7:       83 ec 08                sub    $0x8,%esp
856 400019ba:       ff 75 f0                pushl  -0x10(%ebp)
857 400019bd:       ff 75 ec                pushl  -0x14(%ebp)
858 400019c0:       e8 f4 fd ff ff          call   400017b9 <proc_jump>
859 400019c5:       83 c4 10                add    $0x10,%esp
860 400019c8:       83 ec 0c                sub    $0xc,%esp
861 400019cb:       ff 75 ec                pushl  -0x14(%ebp)
862 400019ce:       e8 25 ff ff ff          call   400018f8 <proc_createstack>
863 400019d3:       83 c4 10                add    $0x10,%esp
864 400019d6:       83 ec 0c                sub    $0xc,%esp
865 400019d9:       ff 75 ec                pushl  -0x14(%ebp)
866 400019dc:       e8 c4 fa ff ff          call   400014a5 <proc_run>
867 400019e1:       83 c4 10                add    $0x10,%esp
868 400019e4:       8b 45 ec                mov    -0x14(%ebp),%eax
869 400019e7:       89 45 e0                mov    %eax,-0x20(%ebp)
870 400019ea:       8b 45 e0                mov    -0x20(%ebp),%eax
871 400019ed:       8d 65 f4                lea    -0xc(%ebp),%esp
872 400019f0:       5b                      pop    %ebx
873 400019f1:       5e                      pop    %esi
874 400019f2:       5f                      pop    %edi
875 400019f3:       5d                      pop    %ebp
876 400019f4:       c3                      ret    
878 400019f5 <proc_destroy>:
879 400019f5:       55                      push   %ebp
880 400019f6:       89 e5                   mov    %esp,%ebp
881 400019f8:       83 ec 08                sub    $0x8,%esp
882 400019fb:       83 ec 04                sub    $0x4,%esp
883 400019fe:       ff 75 08                pushl  0x8(%ebp)
884 40001a01:       6a 01                   push   $0x1
885 40001a03:       6a 38                   push   $0x38
886 40001a05:       e8 c6 af 00 00          call   4000c9d0 <syscall_call>
887 40001a0a:       83 c4 10                add    $0x10,%esp
888 40001a0d:       c9                      leave  
889 40001a0e:       c3                      ret    
891 40001a0f <init_computer_shutdown>:
892 40001a0f:       55                      push   %ebp
893 40001a10:       89 e5                   mov    %esp,%ebp
894 40001a12:       83 ec 18                sub    $0x18,%esp
895 40001a15:       eb 10                   jmp    40001a27 <init_computer_shutdown+0x18>
896 40001a17:       83 ec 08                sub    $0x8,%esp
897 40001a1a:       6a 09                   push   $0x9
898 40001a1c:       ff 75 fc                pushl  -0x4(%ebp)
899 40001a1f:       e8 99 fa ff ff          call   400014bd <kill>
900 40001a24:       83 c4 10                add    $0x10,%esp
901 40001a27:       83 ec 08                sub    $0x8,%esp
902 40001a2a:       6a 00                   push   $0x0
903 40001a2c:       6a 28                   push   $0x28
904 40001a2e:       e8 9d af 00 00          call   4000c9d0 <syscall_call>
905 40001a33:       83 c4 10                add    $0x10,%esp
906 40001a36:       83 ec 08                sub    $0x8,%esp
907 40001a39:       6a 00                   push   $0x0
908 40001a3b:       50                      push   %eax
909 40001a3c:       e8 1b 00 00 00          call   40001a5c <getchildbypid>
910 40001a41:       83 c4 10                add    $0x10,%esp
911 40001a44:       89 45 fc                mov    %eax,-0x4(%ebp)
912 40001a47:       83 7d fc ff             cmpl   $0xffffffff,-0x4(%ebp)
913 40001a4b:       75 ca                   jne    40001a17 <init_computer_shutdown+0x8>
914 40001a4d:       83 ec 0c                sub    $0xc,%esp
915 40001a50:       6a 00                   push   $0x0
916 40001a52:       e8 65 79 00 00          call   400093bc <exit>
917 40001a57:       83 c4 10                add    $0x10,%esp
918 40001a5a:       c9                      leave  
919 40001a5b:       c3                      ret    
921 40001a5c <getchildbypid>:
922 40001a5c:       55                      push   %ebp
923 40001a5d:       89 e5                   mov    %esp,%ebp
924 40001a5f:       83 ec 08                sub    $0x8,%esp
925 40001a62:       ff 75 0c                pushl  0xc(%ebp)
926 40001a65:       ff 75 08                pushl  0x8(%ebp)
927 40001a68:       6a 02                   push   $0x2
928 40001a6a:       6a 2e                   push   $0x2e
929 40001a6c:       e8 5f af 00 00          call   4000c9d0 <syscall_call>
930 40001a71:       83 c4 10                add    $0x10,%esp
931 40001a74:       c9                      leave  
932 40001a75:       c3                      ret    
934 40001a76 <main>:
935 40001a76:       8d 4c 24 04             lea    0x4(%esp),%ecx
936 40001a7a:       83 e4 f0                and    $0xfffffff0,%esp
937 40001a7d:       ff 71 fc                pushl  -0x4(%ecx)
938 40001a80:       55                      push   %ebp
939 40001a81:       89 e5                   mov    %esp,%ebp
940 40001a83:       51                      push   %ecx
941 40001a84:       83 ec 14                sub    $0x14,%esp
942 40001a87:       e8 b4 f9 ff ff          call   40001440 <init_init>
943 40001a8c:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
944 40001a93:       e9 92 01 00 00          jmp    40001c2a <main+0x1b4>
945 40001a98:       8b 45 f8                mov    -0x8(%ebp),%eax
946 40001a9b:       8b 04 85 40 03 01 40    mov    0x40010340(,%eax,4),%eax
947 40001aa2:       83 ec 0c                sub    $0xc,%esp
948 40001aa5:       50                      push   %eax
949 40001aa6:       e8 af f9 ff ff          call   4000145a <init_run>
950 40001aab:       83 c4 10                add    $0x10,%esp
951 40001aae:       8b 45 f8                mov    -0x8(%ebp),%eax
952 40001ab1:       8b 04 85 40 03 01 40    mov    0x40010340(,%eax,4),%eax
953 40001ab8:       83 ec 0c                sub    $0xc,%esp
954 40001abb:       50                      push   %eax
955 40001abc:       e8 16 fa ff ff          call   400014d7 <init_wait>
956 40001ac1:       83 c4 10                add    $0x10,%esp
957 40001ac4:       85 c0                   test   %eax,%eax
958 40001ac6:       75 2e                   jne    40001af6 <main+0x80>
959 40001ac8:       8b 45 f8                mov    -0x8(%ebp),%eax
960 40001acb:       8b 04 85 40 03 01 40    mov    0x40010340(,%eax,4),%eax
961 40001ad2:       8b 15 18 1c 01 40       mov    0x40011c18,%edx
962 40001ad8:       83 ec 04                sub    $0x4,%esp
963 40001adb:       50                      push   %eax
964 40001adc:       68 e8 e5 00 40          push   $0x4000e5e8
965 40001ae1:       52                      push   %edx
966 40001ae2:       e8 d1 28 00 00          call   400043b8 <fprintf>
967 40001ae7:       83 c4 10                add    $0x10,%esp
968 40001aea:       c7 45 e8 01 00 00 00    movl   $0x1,-0x18(%ebp)
969 40001af1:       e9 d4 01 00 00          jmp    40001cca <main+0x254>
970 40001af6:       8b 45 f8                mov    -0x8(%ebp),%eax
971 40001af9:       8b 04 85 40 03 01 40    mov    0x40010340(,%eax,4),%eax
972 40001b00:       83 ec 08                sub    $0x8,%esp
973 40001b03:       68 c8 e5 00 40          push   $0x4000e5c8
974 40001b08:       50                      push   %eax
975 40001b09:       e8 f6 8d 00 00          call   4000a904 <strcmp>
976 40001b0e:       83 c4 10                add    $0x10,%esp
977 40001b11:       85 c0                   test   %eax,%eax
978 40001b13:       75 2b                   jne    40001b40 <main+0xca>
979 40001b15:       6a 01                   push   $0x1
980 40001b17:       68 1b e6 00 40          push   $0x4000e61b
981 40001b1c:       68 dc e5 00 40          push   $0x4000e5dc
982 40001b21:       68 c8 e5 00 40          push   $0x4000e5c8
983 40001b26:       e8 2a 99 00 00          call   4000b455 <vfs_mount>
984 40001b2b:       83 c4 10                add    $0x10,%esp
985 40001b2e:       83 ec 0c                sub    $0xc,%esp
986 40001b31:       6a 01                   push   $0x1
987 40001b33:       e8 b6 7d 00 00          call   400098ee <sleep>
988 40001b38:       83 c4 10                add    $0x10,%esp
989 40001b3b:       e9 e7 00 00 00          jmp    40001c27 <main+0x1b1>
990 40001b40:       8b 45 f8                mov    -0x8(%ebp),%eax
991 40001b43:       8b 04 85 40 03 01 40    mov    0x40010340(,%eax,4),%eax
992 40001b4a:       83 ec 08                sub    $0x8,%esp
993 40001b4d:       68 ac e5 00 40          push   $0x4000e5ac
994 40001b52:       50                      push   %eax
995 40001b53:       e8 ac 8d 00 00          call   4000a904 <strcmp>
996 40001b58:       83 c4 10                add    $0x10,%esp
997 40001b5b:       85 c0                   test   %eax,%eax
998 40001b5d:       0f 85 c4 00 00 00       jne    40001c27 <main+0x1b1>
999 40001b63:       6a 00                   push   $0x0
1000 40001b65:       6a 00                   push   $0x0
1001 40001b67:       68 27 e6 00 40          push   $0x4000e627
1002 40001b6c:       68 ac e5 00 40          push   $0x4000e5ac
1003 40001b71:       e8 df 98 00 00          call   4000b455 <vfs_mount>
1004 40001b76:       83 c4 10                add    $0x10,%esp
1005 40001b79:       83 ec 08                sub    $0x8,%esp
1006 40001b7c:       68 ff 01 00 00          push   $0x1ff
1007 40001b81:       68 29 e6 00 40          push   $0x4000e629
1008 40001b86:       e8 4a 01 00 00          call   40001cd5 <mkdir>
1009 40001b8b:       83 c4 10                add    $0x10,%esp
1010 40001b8e:       83 ec 08                sub    $0x8,%esp
1011 40001b91:       68 ff 01 00 00          push   $0x1ff
1012 40001b96:       68 dc e5 00 40          push   $0x4000e5dc
1013 40001b9b:       e8 35 01 00 00          call   40001cd5 <mkdir>
1014 40001ba0:       83 c4 10                add    $0x10,%esp
1015 40001ba3:       83 ec 08                sub    $0x8,%esp
1016 40001ba6:       68 ff 01 00 00          push   $0x1ff
1017 40001bab:       68 2e e6 00 40          push   $0x4000e62e
1018 40001bb0:       e8 20 01 00 00          call   40001cd5 <mkdir>
1019 40001bb5:       83 c4 10                add    $0x10,%esp
1020 40001bb8:       83 ec 08                sub    $0x8,%esp
1021 40001bbb:       68 ff 01 00 00          push   $0x1ff
1022 40001bc0:       68 33 e6 00 40          push   $0x4000e633
1023 40001bc5:       e8 0b 01 00 00          call   40001cd5 <mkdir>
1024 40001bca:       83 c4 10                add    $0x10,%esp
1025 40001bcd:       83 ec 08                sub    $0x8,%esp
1026 40001bd0:       68 ff 01 00 00          push   $0x1ff
1027 40001bd5:       68 38 e6 00 40          push   $0x4000e638
1028 40001bda:       e8 f6 00 00 00          call   40001cd5 <mkdir>
1029 40001bdf:       83 c4 10                add    $0x10,%esp
1030 40001be2:       83 ec 08                sub    $0x8,%esp
1031 40001be5:       68 ff 01 00 00          push   $0x1ff
1032 40001bea:       68 3d e6 00 40          push   $0x4000e63d
1033 40001bef:       e8 e1 00 00 00          call   40001cd5 <mkdir>
1034 40001bf4:       83 c4 10                add    $0x10,%esp
1035 40001bf7:       83 ec 0c                sub    $0xc,%esp
1036 40001bfa:       68 46 e6 00 40          push   $0x4000e646
1037 40001bff:       e8 1e f9 ff ff          call   40001522 <init_link>
1038 40001c04:       83 c4 10                add    $0x10,%esp
1039 40001c07:       83 ec 0c                sub    $0xc,%esp
1040 40001c0a:       68 4b e6 00 40          push   $0x4000e64b
1041 40001c0f:       e8 0e f9 ff ff          call   40001522 <init_link>
1042 40001c14:       83 c4 10                add    $0x10,%esp
1043 40001c17:       83 ec 0c                sub    $0xc,%esp
1044 40001c1a:       68 50 e6 00 40          push   $0x4000e650
1045 40001c1f:       e8 fe f8 ff ff          call   40001522 <init_link>
1046 40001c24:       83 c4 10                add    $0x10,%esp
1047 40001c27:       ff 45 f8                incl   -0x8(%ebp)
1048 40001c2a:       8b 45 f8                mov    -0x8(%ebp),%eax
1049 40001c2d:       8b 04 85 40 03 01 40    mov    0x40010340(,%eax,4),%eax
1050 40001c34:       85 c0                   test   %eax,%eax
1051 40001c36:       0f 85 5c fe ff ff       jne    40001a98 <main+0x22>
1052 40001c3c:       6a 04                   push   $0x4
1053 40001c3e:       68 55 e6 00 40          push   $0x4000e655
1054 40001c43:       68 7d 15 00 40          push   $0x4000157d
1055 40001c48:       68 58 e6 00 40          push   $0x4000e658
1056 40001c4d:       e8 d2 a1 00 00          call   4000be24 <rpc_func_create>
1057 40001c52:       83 c4 10                add    $0x10,%esp
1058 40001c55:       68 04 04 00 00          push   $0x404
1059 40001c5a:       68 62 e6 00 40          push   $0x4000e662
1060 40001c5f:       68 d3 17 00 40          push   $0x400017d3
1061 40001c64:       68 65 e6 00 40          push   $0x4000e665
1062 40001c69:       e8 b6 a1 00 00          call   4000be24 <rpc_func_create>
1063 40001c6e:       83 c4 10                add    $0x10,%esp
1064 40001c71:       68 04 04 00 00          push   $0x404
1065 40001c76:       68 62 e6 00 40          push   $0x4000e662
1066 40001c7b:       68 12 19 00 40          push   $0x40001912
1067 40001c80:       68 6f e6 00 40          push   $0x4000e66f
1068 40001c85:       e8 9a a1 00 00          call   4000be24 <rpc_func_create>
1069 40001c8a:       83 c4 10                add    $0x10,%esp
1070 40001c8d:       6a 00                   push   $0x0
1071 40001c8f:       68 7c e6 00 40          push   $0x4000e67c
1072 40001c94:       68 0f 1a 00 40          push   $0x40001a0f
1073 40001c99:       68 7d e6 00 40          push   $0x4000e67d
1074 40001c9e:       e8 81 a1 00 00          call   4000be24 <rpc_func_create>
1075 40001ca3:       83 c4 10                add    $0x10,%esp
1076 40001ca6:       83 ec 0c                sub    $0xc,%esp
1077 40001ca9:       68 8f e6 00 40          push   $0x4000e68f
1078 40001cae:       e8 a7 f7 ff ff          call   4000145a <init_run>
1079 40001cb3:       83 c4 10                add    $0x10,%esp
1080 40001cb6:       83 ec 0c                sub    $0xc,%esp
1081 40001cb9:       6a ff                   push   $0xffffffff
1082 40001cbb:       e8 10 ac 00 00          call   4000c8d0 <rpc_mainloop>
1083 40001cc0:       83 c4 10                add    $0x10,%esp
1084 40001cc3:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
1085 40001cca:       8b 45 e8                mov    -0x18(%ebp),%eax
1086 40001ccd:       8b 4d fc                mov    -0x4(%ebp),%ecx
1087 40001cd0:       c9                      leave  
1088 40001cd1:       8d 61 fc                lea    -0x4(%ecx),%esp
1089 40001cd4:       c3                      ret    
1091 40001cd5 <mkdir>:
1092 40001cd5:       55                      push   %ebp
1093 40001cd6:       89 e5                   mov    %esp,%ebp
1094 40001cd8:       83 ec 08                sub    $0x8,%esp
1095 40001cdb:       8b 45 0c                mov    0xc(%ebp),%eax
1096 40001cde:       80 cc 40                or     $0x40,%ah
1097 40001ce1:       83 ec 04                sub    $0x4,%esp
1098 40001ce4:       6a 00                   push   $0x0
1099 40001ce6:       50                      push   %eax
1100 40001ce7:       ff 75 08                pushl  0x8(%ebp)
1101 40001cea:       e8 73 0a 00 00          call   40002762 <mknod>
1102 40001cef:       83 c4 10                add    $0x10,%esp
1103 40001cf2:       c9                      leave  
1104 40001cf3:       c3                      ret    
1106 40001cf4 <elf_validate>:
1107 40001cf4:       55                      push   %ebp
1108 40001cf5:       89 e5                   mov    %esp,%ebp
1109 40001cf7:       83 ec 04                sub    $0x4,%esp
1110 40001cfa:       8b 45 08                mov    0x8(%ebp),%eax
1111 40001cfd:       8a 00                   mov    (%eax),%al
1112 40001cff:       3c 7f                   cmp    $0x7f,%al
1113 40001d01:       75 1e                   jne    40001d21 <elf_validate+0x2d>
1114 40001d03:       8b 45 08                mov    0x8(%ebp),%eax
1115 40001d06:       8a 40 01                mov    0x1(%eax),%al
1116 40001d09:       3c 45                   cmp    $0x45,%al
1117 40001d0b:       75 14                   jne    40001d21 <elf_validate+0x2d>
1118 40001d0d:       8b 45 08                mov    0x8(%ebp),%eax
1119 40001d10:       8a 40 02                mov    0x2(%eax),%al
1120 40001d13:       3c 4c                   cmp    $0x4c,%al
1121 40001d15:       75 0a                   jne    40001d21 <elf_validate+0x2d>
1122 40001d17:       8b 45 08                mov    0x8(%ebp),%eax
1123 40001d1a:       8a 40 03                mov    0x3(%eax),%al
1124 40001d1d:       3c 46                   cmp    $0x46,%al
1125 40001d1f:       74 09                   je     40001d2a <elf_validate+0x36>
1126 40001d21:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
1127 40001d28:       eb 63                   jmp    40001d8d <elf_validate+0x99>
1128 40001d2a:       8b 45 08                mov    0x8(%ebp),%eax
1129 40001d2d:       66 8b 40 12             mov    0x12(%eax),%ax
1130 40001d31:       66 83 f8 03             cmp    $0x3,%ax
1131 40001d35:       74 09                   je     40001d40 <elf_validate+0x4c>
1132 40001d37:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
1133 40001d3e:       eb 4d                   jmp    40001d8d <elf_validate+0x99>
1134 40001d40:       8b 45 08                mov    0x8(%ebp),%eax
1135 40001d43:       8a 40 04                mov    0x4(%eax),%al
1136 40001d46:       3c 01                   cmp    $0x1,%al
1137 40001d48:       74 09                   je     40001d53 <elf_validate+0x5f>
1138 40001d4a:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
1139 40001d51:       eb 3a                   jmp    40001d8d <elf_validate+0x99>
1140 40001d53:       8b 45 08                mov    0x8(%ebp),%eax
1141 40001d56:       8a 40 05                mov    0x5(%eax),%al
1142 40001d59:       3c 01                   cmp    $0x1,%al
1143 40001d5b:       74 09                   je     40001d66 <elf_validate+0x72>
1144 40001d5d:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
1145 40001d64:       eb 27                   jmp    40001d8d <elf_validate+0x99>
1146 40001d66:       8b 45 08                mov    0x8(%ebp),%eax
1147 40001d69:       8a 40 06                mov    0x6(%eax),%al
1148 40001d6c:       ba 00 00 00 00          mov    $0x0,%edx
1149 40001d71:       88 c2                   mov    %al,%dl
1150 40001d73:       8b 45 08                mov    0x8(%ebp),%eax
1151 40001d76:       8b 40 14                mov    0x14(%eax),%eax
1152 40001d79:       39 c2                   cmp    %eax,%edx
1153 40001d7b:       74 09                   je     40001d86 <elf_validate+0x92>
1154 40001d7d:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
1155 40001d84:       eb 07                   jmp    40001d8d <elf_validate+0x99>
1156 40001d86:       c7 45 fc 01 00 00 00    movl   $0x1,-0x4(%ebp)
1157 40001d8d:       8b 45 fc                mov    -0x4(%ebp),%eax
1158 40001d90:       c9                      leave  
1159 40001d91:       c3                      ret    
1161 40001d92 <elf_loadseg>:
1162 40001d92:       55                      push   %ebp
1163 40001d93:       89 e5                   mov    %esp,%ebp
1164 40001d95:       83 ec 38                sub    $0x38,%esp
1165 40001d98:       81 7d 10 ff ff ff 3f    cmpl   $0x3fffffff,0x10(%ebp)
1166 40001d9f:       77 0c                   ja     40001dad <elf_loadseg+0x1b>
1167 40001da1:       c7 45 d4 ff ff ff ff    movl   $0xffffffff,-0x2c(%ebp)
1168 40001da8:       e9 3a 01 00 00          jmp    40001ee7 <elf_loadseg+0x155>
1169 40001dad:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
1170 40001db4:       83 ec 08                sub    $0x8,%esp
1171 40001db7:       6a 00                   push   $0x0
1172 40001db9:       6a 28                   push   $0x28
1173 40001dbb:       e8 10 ac 00 00          call   4000c9d0 <syscall_call>
1174 40001dc0:       83 c4 10                add    $0x10,%esp
1175 40001dc3:       89 45 f4                mov    %eax,-0xc(%ebp)
1176 40001dc6:       8b 45 18                mov    0x18(%ebp),%eax
1177 40001dc9:       83 ec 04                sub    $0x4,%esp
1178 40001dcc:       6a 00                   push   $0x0
1179 40001dce:       50                      push   %eax
1180 40001dcf:       ff 75 0c                pushl  0xc(%ebp)
1181 40001dd2:       e8 94 12 00 00          call   4000306b <lseek>
1182 40001dd7:       83 c4 10                add    $0x10,%esp
1183 40001dda:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
1184 40001de1:       e9 ef 00 00 00          jmp    40001ed5 <elf_loadseg+0x143>
1185 40001de6:       83 ec 04                sub    $0x4,%esp
1186 40001de9:       68 00 10 00 00          push   $0x1000
1187 40001dee:       6a 01                   push   $0x1
1188 40001df0:       6a 01                   push   $0x1
1189 40001df2:       e8 d9 ab 00 00          call   4000c9d0 <syscall_call>
1190 40001df7:       83 c4 10                add    $0x10,%esp
1191 40001dfa:       89 45 f8                mov    %eax,-0x8(%ebp)
1192 40001dfd:       8b 45 ec                mov    -0x14(%ebp),%eax
1193 40001e00:       3b 45 1c                cmp    0x1c(%ebp),%eax
1194 40001e03:       77 29                   ja     40001e2e <elf_loadseg+0x9c>
1195 40001e05:       8b 45 ec                mov    -0x14(%ebp),%eax
1196 40001e08:       05 00 10 00 00          add    $0x1000,%eax
1197 40001e0d:       3b 45 1c                cmp    0x1c(%ebp),%eax
1198 40001e10:       76 0d                   jbe    40001e1f <elf_loadseg+0x8d>
1199 40001e12:       8b 45 1c                mov    0x1c(%ebp),%eax
1200 40001e15:       25 ff 0f 00 00          and    $0xfff,%eax
1201 40001e1a:       89 45 dc                mov    %eax,-0x24(%ebp)
1202 40001e1d:       eb 07                   jmp    40001e26 <elf_loadseg+0x94>
1203 40001e1f:       c7 45 dc 00 10 00 00    movl   $0x1000,-0x24(%ebp)
1204 40001e26:       8b 45 dc                mov    -0x24(%ebp),%eax
1205 40001e29:       89 45 d8                mov    %eax,-0x28(%ebp)
1206 40001e2c:       eb 07                   jmp    40001e35 <elf_loadseg+0xa3>
1207 40001e2e:       c7 45 d8 00 00 00 00    movl   $0x0,-0x28(%ebp)
1208 40001e35:       8b 45 d8                mov    -0x28(%ebp),%eax
1209 40001e38:       89 45 fc                mov    %eax,-0x4(%ebp)
1210 40001e3b:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
1211 40001e3f:       74 16                   je     40001e57 <elf_loadseg+0xc5>
1212 40001e41:       83 ec 04                sub    $0x4,%esp
1213 40001e44:       ff 75 fc                pushl  -0x4(%ebp)
1214 40001e47:       ff 75 f8                pushl  -0x8(%ebp)
1215 40001e4a:       ff 75 0c                pushl  0xc(%ebp)
1216 40001e4d:       e8 25 10 00 00          call   40002e77 <read>
1217 40001e52:       83 c4 10                add    $0x10,%esp
1218 40001e55:       eb 15                   jmp    40001e6c <elf_loadseg+0xda>
1219 40001e57:       83 ec 04                sub    $0x4,%esp
1220 40001e5a:       68 00 10 00 00          push   $0x1000
1221 40001e5f:       6a 00                   push   $0x0
1222 40001e61:       ff 75 f8                pushl  -0x8(%ebp)
1223 40001e64:       e8 e0 89 00 00          call   4000a849 <memset>
1224 40001e69:       83 c4 10                add    $0x10,%esp
1225 40001e6c:       83 ec 04                sub    $0x4,%esp
1226 40001e6f:       ff 75 f8                pushl  -0x8(%ebp)
1227 40001e72:       6a 01                   push   $0x1
1228 40001e74:       6a 03                   push   $0x3
1229 40001e76:       e8 55 ab 00 00          call   4000c9d0 <syscall_call>
1230 40001e7b:       83 c4 10                add    $0x10,%esp
1231 40001e7e:       89 c2                   mov    %eax,%edx
1232 40001e80:       8b 45 ec                mov    -0x14(%ebp),%eax
1233 40001e83:       03 45 10                add    0x10(%ebp),%eax
1234 40001e86:       83 ec 08                sub    $0x8,%esp
1235 40001e89:       6a 00                   push   $0x0
1236 40001e8b:       6a 01                   push   $0x1
1237 40001e8d:       ff 75 20                pushl  0x20(%ebp)
1238 40001e90:       52                      push   %edx
1239 40001e91:       50                      push   %eax
1240 40001e92:       ff 75 08                pushl  0x8(%ebp)
1241 40001e95:       e8 52 00 00 00          call   40001eec <proc_memmap>
1242 40001e9a:       83 c4 20                add    $0x20,%esp
1243 40001e9d:       85 c0                   test   %eax,%eax
1244 40001e9f:       75 1a                   jne    40001ebb <elf_loadseg+0x129>
1245 40001ea1:       83 ec 08                sub    $0x8,%esp
1246 40001ea4:       ff 75 f8                pushl  -0x8(%ebp)
1247 40001ea7:       ff 75 f4                pushl  -0xc(%ebp)
1248 40001eaa:       e8 63 00 00 00          call   40001f12 <proc_memunmap>
1249 40001eaf:       83 c4 10                add    $0x10,%esp
1250 40001eb2:       81 45 ec 00 10 00 00    addl   $0x1000,-0x14(%ebp)
1251 40001eb9:       eb 1a                   jmp    40001ed5 <elf_loadseg+0x143>
1252 40001ebb:       83 ec 08                sub    $0x8,%esp
1253 40001ebe:       ff 75 f8                pushl  -0x8(%ebp)
1254 40001ec1:       ff 75 f4                pushl  -0xc(%ebp)
1255 40001ec4:       e8 63 00 00 00          call   40001f2c <proc_memfree>
1256 40001ec9:       83 c4 10                add    $0x10,%esp
1257 40001ecc:       c7 45 f0 ff ff ff ff    movl   $0xffffffff,-0x10(%ebp)
1258 40001ed3:       eb 0c                   jmp    40001ee1 <elf_loadseg+0x14f>
1259 40001ed5:       8b 45 ec                mov    -0x14(%ebp),%eax
1260 40001ed8:       3b 45 14                cmp    0x14(%ebp),%eax
1261 40001edb:       0f 82 05 ff ff ff       jb     40001de6 <elf_loadseg+0x54>
1262 40001ee1:       8b 45 f0                mov    -0x10(%ebp),%eax
1263 40001ee4:       89 45 d4                mov    %eax,-0x2c(%ebp)
1264 40001ee7:       8b 45 d4                mov    -0x2c(%ebp),%eax
1265 40001eea:       c9                      leave  
1266 40001eeb:       c3                      ret    
1268 40001eec <proc_memmap>:
1269 40001eec:       55                      push   %ebp
1270 40001eed:       89 e5                   mov    %esp,%ebp
1271 40001eef:       83 ec 08                sub    $0x8,%esp
1272 40001ef2:       ff 75 1c                pushl  0x1c(%ebp)
1273 40001ef5:       ff 75 18                pushl  0x18(%ebp)
1274 40001ef8:       ff 75 14                pushl  0x14(%ebp)
1275 40001efb:       ff 75 10                pushl  0x10(%ebp)
1276 40001efe:       ff 75 0c                pushl  0xc(%ebp)
1277 40001f01:       ff 75 08                pushl  0x8(%ebp)
1278 40001f04:       6a 06                   push   $0x6
1279 40001f06:       6a 39                   push   $0x39
1280 40001f08:       e8 c3 aa 00 00          call   4000c9d0 <syscall_call>
1281 40001f0d:       83 c4 20                add    $0x20,%esp
1282 40001f10:       c9                      leave  
1283 40001f11:       c3                      ret    
1285 40001f12 <proc_memunmap>:
1286 40001f12:       55                      push   %ebp
1287 40001f13:       89 e5                   mov    %esp,%ebp
1288 40001f15:       83 ec 08                sub    $0x8,%esp
1289 40001f18:       ff 75 0c                pushl  0xc(%ebp)
1290 40001f1b:       ff 75 08                pushl  0x8(%ebp)
1291 40001f1e:       6a 02                   push   $0x2
1292 40001f20:       6a 39                   push   $0x39
1293 40001f22:       e8 a9 aa 00 00          call   4000c9d0 <syscall_call>
1294 40001f27:       83 c4 10                add    $0x10,%esp
1295 40001f2a:       c9                      leave  
1296 40001f2b:       c3                      ret    
1298 40001f2c <proc_memfree>:
1299 40001f2c:       55                      push   %ebp
1300 40001f2d:       89 e5                   mov    %esp,%ebp
1301 40001f2f:       83 ec 08                sub    $0x8,%esp
1302 40001f32:       ff 75 0c                pushl  0xc(%ebp)
1303 40001f35:       ff 75 08                pushl  0x8(%ebp)
1304 40001f38:       6a 02                   push   $0x2
1305 40001f3a:       6a 3c                   push   $0x3c
1306 40001f3c:       e8 8f aa 00 00          call   4000c9d0 <syscall_call>
1307 40001f41:       83 c4 10                add    $0x10,%esp
1308 40001f44:       c9                      leave  
1309 40001f45:       c3                      ret    
1311 40001f46 <elf_load>:
1312 40001f46:       55                      push   %ebp
1313 40001f47:       89 e5                   mov    %esp,%ebp
1314 40001f49:       56                      push   %esi
1315 40001f4a:       53                      push   %ebx
1316 40001f4b:       83 ec 60                sub    $0x60,%esp
1317 40001f4e:       83 ec 08                sub    $0x8,%esp
1318 40001f51:       6a 01                   push   $0x1
1319 40001f53:       ff 75 0c                pushl  0xc(%ebp)
1320 40001f56:       e8 a6 09 00 00          call   40002901 <open>
1321 40001f5b:       83 c4 10                add    $0x10,%esp
1322 40001f5e:       89 45 e8                mov    %eax,-0x18(%ebp)
1323 40001f61:       83 7d e8 ff             cmpl   $0xffffffff,-0x18(%ebp)
1324 40001f65:       0f 84 44 01 00 00       je     400020af <elf_load+0x169>
1325 40001f6b:       83 ec 04                sub    $0x4,%esp
1326 40001f6e:       6a 34                   push   $0x34
1327 40001f70:       8d 45 b4                lea    -0x4c(%ebp),%eax
1328 40001f73:       50                      push   %eax
1329 40001f74:       ff 75 e8                pushl  -0x18(%ebp)
1330 40001f77:       e8 fb 0e 00 00          call   40002e77 <read>
1331 40001f7c:       83 c4 10                add    $0x10,%esp
1332 40001f7f:       8d 45 b4                lea    -0x4c(%ebp),%eax
1333 40001f82:       50                      push   %eax
1334 40001f83:       e8 6c fd ff ff          call   40001cf4 <elf_validate>
1335 40001f88:       83 c4 04                add    $0x4,%esp
1336 40001f8b:       85 c0                   test   %eax,%eax
1337 40001f8d:       75 0c                   jne    40001f9b <elf_load+0x55>
1338 40001f8f:       c7 45 a4 00 00 00 00    movl   $0x0,-0x5c(%ebp)
1339 40001f96:       e9 1b 01 00 00          jmp    400020b6 <elf_load+0x170>
1340 40001f9b:       8b 45 cc                mov    -0x34(%ebp),%eax
1341 40001f9e:       89 45 f0                mov    %eax,-0x10(%ebp)
1342 40001fa1:       8b 45 e0                mov    -0x20(%ebp),%eax
1343 40001fa4:       25 ff ff 00 00          and    $0xffff,%eax
1344 40001fa9:       c1 e0 05                shl    $0x5,%eax
1345 40001fac:       83 ec 0c                sub    $0xc,%esp
1346 40001faf:       50                      push   %eax
1347 40001fb0:       e8 1f 55 00 00          call   400074d4 <malloc>
1348 40001fb5:       83 c4 10                add    $0x10,%esp
1349 40001fb8:       89 45 f4                mov    %eax,-0xc(%ebp)
1350 40001fbb:       8b 45 d0                mov    -0x30(%ebp),%eax
1351 40001fbe:       83 ec 04                sub    $0x4,%esp
1352 40001fc1:       6a 00                   push   $0x0
1353 40001fc3:       50                      push   %eax
1354 40001fc4:       ff 75 e8                pushl  -0x18(%ebp)
1355 40001fc7:       e8 9f 10 00 00          call   4000306b <lseek>
1356 40001fcc:       83 c4 10                add    $0x10,%esp
1357 40001fcf:       8b 45 e0                mov    -0x20(%ebp),%eax
1358 40001fd2:       25 ff ff 00 00          and    $0xffff,%eax
1359 40001fd7:       c1 e0 05                shl    $0x5,%eax
1360 40001fda:       83 ec 04                sub    $0x4,%esp
1361 40001fdd:       50                      push   %eax
1362 40001fde:       ff 75 f4                pushl  -0xc(%ebp)
1363 40001fe1:       ff 75 e8                pushl  -0x18(%ebp)
1364 40001fe4:       e8 8e 0e 00 00          call   40002e77 <read>
1365 40001fe9:       83 c4 10                add    $0x10,%esp
1366 40001fec:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
1367 40001ff3:       e9 82 00 00 00          jmp    4000207a <elf_load+0x134>
1368 40001ff8:       8b 45 ec                mov    -0x14(%ebp),%eax
1369 40001ffb:       c1 e0 05                shl    $0x5,%eax
1370 40001ffe:       03 45 f4                add    -0xc(%ebp),%eax
1371 40002001:       8b 00                   mov    (%eax),%eax
1372 40002003:       83 f8 01                cmp    $0x1,%eax
1373 40002006:       75 6f                   jne    40002077 <elf_load+0x131>
1374 40002008:       8b 45 ec                mov    -0x14(%ebp),%eax
1375 4000200b:       c1 e0 05                shl    $0x5,%eax
1376 4000200e:       03 45 f4                add    -0xc(%ebp),%eax
1377 40002011:       8b 40 18                mov    0x18(%eax),%eax
1378 40002014:       83 e0 02                and    $0x2,%eax
1379 40002017:       85 c0                   test   %eax,%eax
1380 40002019:       0f 95 c0                setne  %al
1381 4000201c:       ba 00 00 00 00          mov    $0x0,%edx
1382 40002021:       88 c2                   mov    %al,%dl
1383 40002023:       8b 45 ec                mov    -0x14(%ebp),%eax
1384 40002026:       c1 e0 05                shl    $0x5,%eax
1385 40002029:       03 45 f4                add    -0xc(%ebp),%eax
1386 4000202c:       8b 48 10                mov    0x10(%eax),%ecx
1387 4000202f:       8b 45 ec                mov    -0x14(%ebp),%eax
1388 40002032:       c1 e0 05                shl    $0x5,%eax
1389 40002035:       03 45 f4                add    -0xc(%ebp),%eax
1390 40002038:       8b 58 04                mov    0x4(%eax),%ebx
1391 4000203b:       8b 45 ec                mov    -0x14(%ebp),%eax
1392 4000203e:       c1 e0 05                shl    $0x5,%eax
1393 40002041:       03 45 f4                add    -0xc(%ebp),%eax
1394 40002044:       8b 70 14                mov    0x14(%eax),%esi
1395 40002047:       8b 45 ec                mov    -0x14(%ebp),%eax
1396 4000204a:       c1 e0 05                shl    $0x5,%eax
1397 4000204d:       03 45 f4                add    -0xc(%ebp),%eax
1398 40002050:       8b 40 08                mov    0x8(%eax),%eax
1399 40002053:       83 ec 04                sub    $0x4,%esp
1400 40002056:       52                      push   %edx
1401 40002057:       51                      push   %ecx
1402 40002058:       53                      push   %ebx
1403 40002059:       56                      push   %esi
1404 4000205a:       50                      push   %eax
1405 4000205b:       ff 75 e8                pushl  -0x18(%ebp)
1406 4000205e:       ff 75 08                pushl  0x8(%ebp)
1407 40002061:       e8 2c fd ff ff          call   40001d92 <elf_loadseg>
1408 40002066:       83 c4 20                add    $0x20,%esp
1409 40002069:       83 f8 ff                cmp    $0xffffffff,%eax
1410 4000206c:       75 09                   jne    40002077 <elf_load+0x131>
1411 4000206e:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
1412 40002075:       eb 14                   jmp    4000208b <elf_load+0x145>
1413 40002077:       ff 45 ec                incl   -0x14(%ebp)
1414 4000207a:       8b 45 e0                mov    -0x20(%ebp),%eax
1415 4000207d:       25 ff ff 00 00          and    $0xffff,%eax
1416 40002082:       3b 45 ec                cmp    -0x14(%ebp),%eax
1417 40002085:       0f 87 6d ff ff ff       ja     40001ff8 <elf_load+0xb2>
1418 4000208b:       83 ec 0c                sub    $0xc,%esp
1419 4000208e:       ff 75 f4                pushl  -0xc(%ebp)
1420 40002091:       e8 f5 58 00 00          call   4000798b <free>
1421 40002096:       83 c4 10                add    $0x10,%esp
1422 40002099:       83 ec 0c                sub    $0xc,%esp
1423 4000209c:       ff 75 e8                pushl  -0x18(%ebp)
1424 4000209f:       e8 e0 0a 00 00          call   40002b84 <close>
1425 400020a4:       83 c4 10                add    $0x10,%esp
1426 400020a7:       8b 45 f0                mov    -0x10(%ebp),%eax
1427 400020aa:       89 45 a4                mov    %eax,-0x5c(%ebp)
1428 400020ad:       eb 07                   jmp    400020b6 <elf_load+0x170>
1429 400020af:       c7 45 a4 00 00 00 00    movl   $0x0,-0x5c(%ebp)
1430 400020b6:       8b 45 a4                mov    -0x5c(%ebp),%eax
1431 400020b9:       8d 65 f8                lea    -0x8(%ebp),%esp
1432 400020bc:       5b                      pop    %ebx
1433 400020bd:       5e                      pop    %esi
1434 400020be:       5d                      pop    %ebp
1435 400020bf:       c3                      ret    
1437 400020c0 <asprintf>:
1438 400020c0:       55                      push   %ebp
1439 400020c1:       89 e5                   mov    %esp,%ebp
1440 400020c3:       83 ec 38                sub    $0x38,%esp
1441 400020c6:       8d 45 10                lea    0x10(%ebp),%eax
1442 400020c9:       89 45 f0                mov    %eax,-0x10(%ebp)
1443 400020cc:       8b 45 f0                mov    -0x10(%ebp),%eax
1444 400020cf:       89 45 ec                mov    %eax,-0x14(%ebp)
1445 400020d2:       8b 45 ec                mov    -0x14(%ebp),%eax
1446 400020d5:       89 44 24 0c             mov    %eax,0xc(%esp)
1447 400020d9:       8b 45 0c                mov    0xc(%ebp),%eax
1448 400020dc:       89 44 24 08             mov    %eax,0x8(%esp)
1449 400020e0:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
1450 400020e7:       00 
1451 400020e8:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
1452 400020ef:       e8 d5 7c 00 00          call   40009dc9 <vsnprintf>
1453 400020f4:       83 c0 01                add    $0x1,%eax
1454 400020f7:       89 45 f8                mov    %eax,-0x8(%ebp)
1455 400020fa:       8b 45 f8                mov    -0x8(%ebp),%eax
1456 400020fd:       89 04 24                mov    %eax,(%esp)
1457 40002100:       e8 cf 53 00 00          call   400074d4 <malloc>
1458 40002105:       89 45 fc                mov    %eax,-0x4(%ebp)
1459 40002108:       8b 55 08                mov    0x8(%ebp),%edx
1460 4000210b:       8b 45 fc                mov    -0x4(%ebp),%eax
1461 4000210e:       89 02                   mov    %eax,(%edx)
1462 40002110:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
1463 40002114:       75 09                   jne    4000211f <asprintf+0x5f>
1464 40002116:       c7 45 dc ff ff ff ff    movl   $0xffffffff,-0x24(%ebp)
1465 4000211d:       eb 29                   jmp    40002148 <asprintf+0x88>
1466 4000211f:       8b 45 f0                mov    -0x10(%ebp),%eax
1467 40002122:       8b 55 f8                mov    -0x8(%ebp),%edx
1468 40002125:       89 44 24 0c             mov    %eax,0xc(%esp)
1469 40002129:       8b 45 0c                mov    0xc(%ebp),%eax
1470 4000212c:       89 44 24 08             mov    %eax,0x8(%esp)
1471 40002130:       89 54 24 04             mov    %edx,0x4(%esp)
1472 40002134:       8b 45 fc                mov    -0x4(%ebp),%eax
1473 40002137:       89 04 24                mov    %eax,(%esp)
1474 4000213a:       e8 8a 7c 00 00          call   40009dc9 <vsnprintf>
1475 4000213f:       89 45 f4                mov    %eax,-0xc(%ebp)
1476 40002142:       8b 45 f4                mov    -0xc(%ebp),%eax
1477 40002145:       89 45 dc                mov    %eax,-0x24(%ebp)
1478 40002148:       8b 45 dc                mov    -0x24(%ebp),%eax
1479 4000214b:       c9                      leave  
1480 4000214c:       c3                      ret    
1481 4000214d:       90                      nop    
1482 4000214e:       90                      nop    
1483 4000214f:       90                      nop    
1485 40002150 <_fs_init>:
1486 40002150:       55                      push   %ebp
1487 40002151:       89 e5                   mov    %esp,%ebp
1488 40002153:       83 ec 28                sub    $0x28,%esp
1489 40002156:       e8 09 8f 00 00          call   4000b064 <llist_create>
1490 4000215b:       a3 24 05 01 40          mov    %eax,0x40010524
1491 40002160:       e8 ff 8e 00 00          call   4000b064 <llist_create>
1492 40002165:       a3 28 05 01 40          mov    %eax,0x40010528
1493 4000216a:       c7 05 3c 05 01 40 ff    movl   $0x1ff,0x4001053c
1494 40002171:       01 00 00 
1495 40002174:       c7 04 24 95 e6 00 40    movl   $0x4000e695,(%esp)
1496 4000217b:       e8 99 aa 00 00          call   4000cc19 <getenv>
1497 40002180:       89 45 fc                mov    %eax,-0x4(%ebp)
1498 40002183:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
1499 40002187:       75 07                   jne    40002190 <_fs_init+0x40>
1500 40002189:       c7 45 fc 9a e6 00 40    movl   $0x4000e69a,-0x4(%ebp)
1501 40002190:       c7 44 24 08 0c 00 00    movl   $0xc,0x8(%esp)
1502 40002197:       00 
1503 40002198:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
1504 4000219f:       00 
1505 400021a0:       c7 04 24 30 05 01 40    movl   $0x40010530,(%esp)
1506 400021a7:       e8 9d 86 00 00          call   4000a849 <memset>
1507 400021ac:       8b 45 fc                mov    -0x4(%ebp),%eax
1508 400021af:       89 04 24                mov    %eax,(%esp)
1509 400021b2:       e8 72 04 00 00          call   40002629 <chdir>
1510 400021b7:       c7 05 2c 05 01 40 00    movl   $0x0,0x4001052c
1511 400021be:       00 00 00 
1512 400021c1:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
1513 400021c5:       74 13                   je     400021da <_fs_init+0x8a>
1514 400021c7:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
1515 400021ce:       00 
1516 400021cf:       8b 45 08                mov    0x8(%ebp),%eax
1517 400021d2:       89 04 24                mov    %eax,(%esp)
1518 400021d5:       e8 27 07 00 00          call   40002901 <open>
1519 400021da:       c7 05 2c 05 01 40 01    movl   $0x1,0x4001052c
1520 400021e1:       00 00 00 
1521 400021e4:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
1522 400021e8:       74 13                   je     400021fd <_fs_init+0xad>
1523 400021ea:       c7 44 24 04 02 00 00    movl   $0x2,0x4(%esp)
1524 400021f1:       00 
1525 400021f2:       8b 45 0c                mov    0xc(%ebp),%eax
1526 400021f5:       89 04 24                mov    %eax,(%esp)
1527 400021f8:       e8 04 07 00 00          call   40002901 <open>
1528 400021fd:       c7 05 2c 05 01 40 02    movl   $0x2,0x4001052c
1529 40002204:       00 00 00 
1530 40002207:       83 7d 10 00             cmpl   $0x0,0x10(%ebp)
1531 4000220b:       74 13                   je     40002220 <_fs_init+0xd0>
1532 4000220d:       c7 44 24 04 02 00 00    movl   $0x2,0x4(%esp)
1533 40002214:       00 
1534 40002215:       8b 45 10                mov    0x10(%ebp),%eax
1535 40002218:       89 04 24                mov    %eax,(%esp)
1536 4000221b:       e8 e1 06 00 00          call   40002901 <open>
1537 40002220:       c7 05 2c 05 01 40 03    movl   $0x3,0x4001052c
1538 40002227:       00 00 00 
1539 4000222a:       c9                      leave  
1540 4000222b:       c3                      ret    
1542 4000222c <mp_match>:
1543 4000222c:       55                      push   %ebp
1544 4000222d:       89 e5                   mov    %esp,%ebp
1545 4000222f:       53                      push   %ebx
1546 40002230:       83 ec 34                sub    $0x34,%esp
1547 40002233:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
1548 4000223a:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
1549 40002241:       8b 45 08                mov    0x8(%ebp),%eax
1550 40002244:       89 04 24                mov    %eax,(%esp)
1551 40002247:       e8 cc 92 00 00          call   4000b518 <path_parse>
1552 4000224c:       89 45 f8                mov    %eax,-0x8(%ebp)
1553 4000224f:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
1554 40002253:       74 0b                   je     40002260 <mp_match+0x34>
1555 40002255:       8b 45 f8                mov    -0x8(%ebp),%eax
1556 40002258:       89 04 24                mov    %eax,(%esp)
1557 4000225b:       e8 96 9a 00 00          call   4000bcf6 <path_parent>
1558 40002260:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
1559 40002267:       eb 30                   jmp    40002299 <mp_match+0x6d>
1560 40002269:       8b 45 f0                mov    -0x10(%ebp),%eax
1561 4000226c:       8b 40 08                mov    0x8(%eax),%eax
1562 4000226f:       89 44 24 04             mov    %eax,0x4(%esp)
1563 40002273:       8b 45 f8                mov    -0x8(%ebp),%eax
1564 40002276:       89 04 24                mov    %eax,(%esp)
1565 40002279:       e8 40 97 00 00          call   4000b9be <path_compare>
1566 4000227e:       89 45 e8                mov    %eax,-0x18(%ebp)
1567 40002281:       8b 45 e8                mov    -0x18(%ebp),%eax
1568 40002284:       3b 45 ec                cmp    -0x14(%ebp),%eax
1569 40002287:       76 0c                   jbe    40002295 <mp_match+0x69>
1570 40002289:       8b 45 e8                mov    -0x18(%ebp),%eax
1571 4000228c:       89 45 ec                mov    %eax,-0x14(%ebp)
1572 4000228f:       8b 45 f0                mov    -0x10(%ebp),%eax
1573 40002292:       89 45 f4                mov    %eax,-0xc(%ebp)
1574 40002295:       83 45 e4 01             addl   $0x1,-0x1c(%ebp)
1575 40002299:       a1 28 05 01 40          mov    0x40010528,%eax
1576 4000229e:       8b 55 e4                mov    -0x1c(%ebp),%edx
1577 400022a1:       89 54 24 04             mov    %edx,0x4(%esp)
1578 400022a5:       89 04 24                mov    %eax,(%esp)
1579 400022a8:       e8 6a 8f 00 00          call   4000b217 <llist_get>
1580 400022ad:       89 45 f0                mov    %eax,-0x10(%ebp)
1581 400022b0:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
1582 400022b4:       75 b3                   jne    40002269 <mp_match+0x3d>
1583 400022b6:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
1584 400022ba:       74 48                   je     40002304 <mp_match+0xd8>
1585 400022bc:       8b 45 08                mov    0x8(%ebp),%eax
1586 400022bf:       89 04 24                mov    %eax,(%esp)
1587 400022c2:       e8 5d 87 00 00          call   4000aa24 <strlen>
1588 400022c7:       89 c3                   mov    %eax,%ebx
1589 400022c9:       8b 45 f4                mov    -0xc(%ebp),%eax
1590 400022cc:       8b 40 0c                mov    0xc(%eax),%eax
1591 400022cf:       89 04 24                mov    %eax,(%esp)
1592 400022d2:       e8 4d 87 00 00          call   4000aa24 <strlen>
1593 400022d7:       89 da                   mov    %ebx,%edx
1594 400022d9:       29 c2                   sub    %eax,%edx
1595 400022db:       89 d0                   mov    %edx,%eax
1596 400022dd:       8d 58 01                lea    0x1(%eax),%ebx
1597 400022e0:       8b 45 f4                mov    -0xc(%ebp),%eax
1598 400022e3:       8b 40 0c                mov    0xc(%eax),%eax
1599 400022e6:       89 04 24                mov    %eax,(%esp)
1600 400022e9:       e8 36 87 00 00          call   4000aa24 <strlen>
1601 400022ee:       03 45 08                add    0x8(%ebp),%eax
1602 400022f1:       89 5c 24 08             mov    %ebx,0x8(%esp)
1603 400022f5:       89 44 24 04             mov    %eax,0x4(%esp)
1604 400022f9:       8b 45 08                mov    0x8(%ebp),%eax
1605 400022fc:       89 04 24                mov    %eax,(%esp)
1606 400022ff:       e8 20 84 00 00          call   4000a724 <memmove>
1607 40002304:       8b 45 08                mov    0x8(%ebp),%eax
1608 40002307:       0f b6 00                movzbl (%eax),%eax
1609 4000230a:       84 c0                   test   %al,%al
1610 4000230c:       75 13                   jne    40002321 <mp_match+0xf5>
1611 4000230e:       c7 44 24 04 9a e6 00    movl   $0x4000e69a,0x4(%esp)
1612 40002315:       40 
1613 40002316:       8b 45 08                mov    0x8(%ebp),%eax
1614 40002319:       89 04 24                mov    %eax,(%esp)
1615 4000231c:       e8 70 86 00 00          call   4000a991 <strcpy>
1616 40002321:       8b 45 f4                mov    -0xc(%ebp),%eax
1617 40002324:       83 c4 34                add    $0x34,%esp
1618 40002327:       5b                      pop    %ebx
1619 40002328:       5d                      pop    %ebp
1620 40002329:       c3                      ret    
1622 4000232a <fsbypath>:
1623 4000232a:       55                      push   %ebp
1624 4000232b:       89 e5                   mov    %esp,%ebp
1625 4000232d:       53                      push   %ebx
1626 4000232e:       83 ec 24                sub    $0x24,%esp
1627 40002331:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
1628 40002335:       74 0a                   je     40002341 <fsbypath+0x17>
1629 40002337:       8b 45 08                mov    0x8(%ebp),%eax
1630 4000233a:       0f b6 00                movzbl (%eax),%eax
1631 4000233d:       84 c0                   test   %al,%al
1632 4000233f:       75 0c                   jne    4000234d <fsbypath+0x23>
1633 40002341:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
1634 40002348:       e9 52 01 00 00          jmp    4000249f <fsbypath+0x175>
1635 4000234d:       8b 45 0c                mov    0xc(%ebp),%eax
1636 40002350:       89 44 24 04             mov    %eax,0x4(%esp)
1637 40002354:       8b 45 08                mov    0x8(%ebp),%eax
1638 40002357:       89 04 24                mov    %eax,(%esp)
1639 4000235a:       e8 cd fe ff ff          call   4000222c <mp_match>
1640 4000235f:       89 45 f4                mov    %eax,-0xc(%ebp)
1641 40002362:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
1642 40002366:       0f 85 2d 01 00 00       jne    40002499 <fsbypath+0x16f>
1643 4000236c:       c7 04 24 10 00 00 00    movl   $0x10,(%esp)
1644 40002373:       e8 5c 51 00 00          call   400074d4 <malloc>
1645 40002378:       89 45 f4                mov    %eax,-0xc(%ebp)
1646 4000237b:       8b 45 08                mov    0x8(%ebp),%eax
1647 4000237e:       89 04 24                mov    %eax,(%esp)
1648 40002381:       e8 53 86 00 00          call   4000a9d9 <strdup>
1649 40002386:       89 45 f8                mov    %eax,-0x8(%ebp)
1650 40002389:       8b 45 0c                mov    0xc(%ebp),%eax
1651 4000238c:       89 44 24 0c             mov    %eax,0xc(%esp)
1652 40002390:       8b 45 08                mov    0x8(%ebp),%eax
1653 40002393:       89 44 24 08             mov    %eax,0x8(%esp)
1654 40002397:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
1655 4000239e:       00 
1656 4000239f:       c7 04 24 9c e6 00 40    movl   $0x4000e69c,(%esp)
1657 400023a6:       e8 40 a0 00 00          call   4000c3eb <rpc_call>
1658 400023ab:       89 c2                   mov    %eax,%edx
1659 400023ad:       8b 45 f4                mov    -0xc(%ebp),%eax
1660 400023b0:       89 50 04                mov    %edx,0x4(%eax)
1661 400023b3:       8b 45 f4                mov    -0xc(%ebp),%eax
1662 400023b6:       8b 40 04                mov    0x4(%eax),%eax
1663 400023b9:       85 c0                   test   %eax,%eax
1664 400023bb:       79 24                   jns    400023e1 <fsbypath+0xb7>
1665 400023bd:       8b 45 f8                mov    -0x8(%ebp),%eax
1666 400023c0:       89 04 24                mov    %eax,(%esp)
1667 400023c3:       e8 c3 55 00 00          call   4000798b <free>
1668 400023c8:       8b 45 f4                mov    -0xc(%ebp),%eax
1669 400023cb:       8b 40 04                mov    0x4(%eax),%eax
1670 400023ce:       f7 d8                   neg    %eax
1671 400023d0:       a3 10 1c 01 40          mov    %eax,0x40011c10
1672 400023d5:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
1673 400023dc:       e9 be 00 00 00          jmp    4000249f <fsbypath+0x175>
1674 400023e1:       8b 45 f8                mov    -0x8(%ebp),%eax
1675 400023e4:       89 04 24                mov    %eax,(%esp)
1676 400023e7:       e8 38 86 00 00          call   4000aa24 <strlen>
1677 400023ec:       89 c3                   mov    %eax,%ebx
1678 400023ee:       8b 45 08                mov    0x8(%ebp),%eax
1679 400023f1:       89 04 24                mov    %eax,(%esp)
1680 400023f4:       e8 2b 86 00 00          call   4000aa24 <strlen>
1681 400023f9:       89 da                   mov    %ebx,%edx
1682 400023fb:       29 c2                   sub    %eax,%edx
1683 400023fd:       89 d0                   mov    %edx,%eax
1684 400023ff:       03 45 f8                add    -0x8(%ebp),%eax
1685 40002402:       c6 00 00                movb   $0x0,(%eax)
1686 40002405:       8b 45 f8                mov    -0x8(%ebp),%eax
1687 40002408:       89 04 24                mov    %eax,(%esp)
1688 4000240b:       e8 08 91 00 00          call   4000b518 <path_parse>
1689 40002410:       89 c2                   mov    %eax,%edx
1690 40002412:       8b 45 f4                mov    -0xc(%ebp),%eax
1691 40002415:       89 50 08                mov    %edx,0x8(%eax)
1692 40002418:       8b 45 f4                mov    -0xc(%ebp),%eax
1693 4000241b:       8b 40 08                mov    0x8(%eax),%eax
1694 4000241e:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
1695 40002425:       00 
1696 40002426:       89 04 24                mov    %eax,(%esp)
1697 40002429:       e8 b6 93 00 00          call   4000b7e4 <path_output>
1698 4000242e:       89 c2                   mov    %eax,%edx
1699 40002430:       8b 45 f4                mov    -0xc(%ebp),%eax
1700 40002433:       89 50 0c                mov    %edx,0xc(%eax)
1701 40002436:       8b 45 f8                mov    -0x8(%ebp),%eax
1702 40002439:       89 04 24                mov    %eax,(%esp)
1703 4000243c:       e8 4a 55 00 00          call   4000798b <free>
1704 40002441:       8b 45 f4                mov    -0xc(%ebp),%eax
1705 40002444:       8b 40 04                mov    0x4(%eax),%eax
1706 40002447:       89 44 24 08             mov    %eax,0x8(%esp)
1707 4000244b:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
1708 40002452:       00 
1709 40002453:       c7 04 24 a8 e6 00 40    movl   $0x4000e6a8,(%esp)
1710 4000245a:       e8 8c 9f 00 00          call   4000c3eb <rpc_call>
1711 4000245f:       89 c2                   mov    %eax,%edx
1712 40002461:       8b 45 f4                mov    -0xc(%ebp),%eax
1713 40002464:       89 10                   mov    %edx,(%eax)
1714 40002466:       8b 45 f4                mov    -0xc(%ebp),%eax
1715 40002469:       8b 00                   mov    (%eax),%eax
1716 4000246b:       85 c0                   test   %eax,%eax
1717 4000246d:       79 15                   jns    40002484 <fsbypath+0x15a>
1718 4000246f:       8b 45 f4                mov    -0xc(%ebp),%eax
1719 40002472:       8b 00                   mov    (%eax),%eax
1720 40002474:       f7 d8                   neg    %eax
1721 40002476:       a3 10 1c 01 40          mov    %eax,0x40011c10
1722 4000247b:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
1723 40002482:       eb 1b                   jmp    4000249f <fsbypath+0x175>
1724 40002484:       8b 15 28 05 01 40       mov    0x40010528,%edx
1725 4000248a:       8b 45 f4                mov    -0xc(%ebp),%eax
1726 4000248d:       89 44 24 04             mov    %eax,0x4(%esp)
1727 40002491:       89 14 24                mov    %edx,(%esp)
1728 40002494:       e8 46 8c 00 00          call   4000b0df <llist_push>
1729 40002499:       8b 45 f4                mov    -0xc(%ebp),%eax
1730 4000249c:       89 45 e8                mov    %eax,-0x18(%ebp)
1731 4000249f:       8b 45 e8                mov    -0x18(%ebp),%eax
1732 400024a2:       83 c4 24                add    $0x24,%esp
1733 400024a5:       5b                      pop    %ebx
1734 400024a6:       5d                      pop    %ebp
1735 400024a7:       c3                      ret    
1737 400024a8 <lidxbyfh>:
1738 400024a8:       55                      push   %ebp
1739 400024a9:       89 e5                   mov    %esp,%ebp
1740 400024ab:       83 ec 28                sub    $0x28,%esp
1741 400024ae:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
1742 400024b5:       eb 17                   jmp    400024ce <lidxbyfh+0x26>
1743 400024b7:       8b 45 f8                mov    -0x8(%ebp),%eax
1744 400024ba:       8b 40 14                mov    0x14(%eax),%eax
1745 400024bd:       3b 45 08                cmp    0x8(%ebp),%eax
1746 400024c0:       75 08                   jne    400024ca <lidxbyfh+0x22>
1747 400024c2:       8b 45 fc                mov    -0x4(%ebp),%eax
1748 400024c5:       89 45 ec                mov    %eax,-0x14(%ebp)
1749 400024c8:       eb 29                   jmp    400024f3 <lidxbyfh+0x4b>
1750 400024ca:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
1751 400024ce:       8b 45 fc                mov    -0x4(%ebp),%eax
1752 400024d1:       8b 15 24 05 01 40       mov    0x40010524,%edx
1753 400024d7:       89 44 24 04             mov    %eax,0x4(%esp)
1754 400024db:       89 14 24                mov    %edx,(%esp)
1755 400024de:       e8 34 8d 00 00          call   4000b217 <llist_get>
1756 400024e3:       89 45 f8                mov    %eax,-0x8(%ebp)
1757 400024e6:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
1758 400024ea:       75 cb                   jne    400024b7 <lidxbyfh+0xf>
1759 400024ec:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
1760 400024f3:       8b 45 ec                mov    -0x14(%ebp),%eax
1761 400024f6:       c9                      leave  
1762 400024f7:       c3                      ret    
1764 400024f8 <filebyfh>:
1765 400024f8:       55                      push   %ebp
1766 400024f9:       89 e5                   mov    %esp,%ebp
1767 400024fb:       83 ec 28                sub    $0x28,%esp
1768 400024fe:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
1769 40002502:       78 2e                   js     40002532 <filebyfh+0x3a>
1770 40002504:       8b 45 08                mov    0x8(%ebp),%eax
1771 40002507:       89 04 24                mov    %eax,(%esp)
1772 4000250a:       e8 99 ff ff ff          call   400024a8 <lidxbyfh>
1773 4000250f:       89 45 fc                mov    %eax,-0x4(%ebp)
1774 40002512:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
1775 40002516:       78 1a                   js     40002532 <filebyfh+0x3a>
1776 40002518:       8b 45 fc                mov    -0x4(%ebp),%eax
1777 4000251b:       8b 15 24 05 01 40       mov    0x40010524,%edx
1778 40002521:       89 44 24 04             mov    %eax,0x4(%esp)
1779 40002525:       89 14 24                mov    %edx,(%esp)
1780 40002528:       e8 ea 8c 00 00          call   4000b217 <llist_get>
1781 4000252d:       89 45 ec                mov    %eax,-0x14(%ebp)
1782 40002530:       eb 07                   jmp    40002539 <filebyfh+0x41>
1783 40002532:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
1784 40002539:       8b 45 ec                mov    -0x14(%ebp),%eax
1785 4000253c:       c9                      leave  
1786 4000253d:       c3                      ret    
1788 4000253e <getabsolutepath>:
1789 4000253e:       55                      push   %ebp
1790 4000253f:       89 e5                   mov    %esp,%ebp
1791 40002541:       83 ec 18                sub    $0x18,%esp
1792 40002544:       8b 45 08                mov    0x8(%ebp),%eax
1793 40002547:       89 04 24                mov    %eax,(%esp)
1794 4000254a:       e8 c9 8f 00 00          call   4000b518 <path_parse>
1795 4000254f:       89 45 f8                mov    %eax,-0x8(%ebp)
1796 40002552:       8b 45 f8                mov    -0x8(%ebp),%eax
1797 40002555:       8b 40 0c                mov    0xc(%eax),%eax
1798 40002558:       85 c0                   test   %eax,%eax
1799 4000255a:       75 29                   jne    40002585 <getabsolutepath+0x47>
1800 4000255c:       8b 15 38 05 01 40       mov    0x40010538,%edx
1801 40002562:       8b 45 f8                mov    -0x8(%ebp),%eax
1802 40002565:       89 44 24 04             mov    %eax,0x4(%esp)
1803 40002569:       89 14 24                mov    %edx,(%esp)
1804 4000256c:       e8 70 95 00 00          call   4000bae1 <path_cat>
1805 40002571:       89 45 fc                mov    %eax,-0x4(%ebp)
1806 40002574:       8b 45 f8                mov    -0x8(%ebp),%eax
1807 40002577:       89 04 24                mov    %eax,(%esp)
1808 4000257a:       e8 be 90 00 00          call   4000b63d <path_destroy>
1809 4000257f:       8b 45 fc                mov    -0x4(%ebp),%eax
1810 40002582:       89 45 f8                mov    %eax,-0x8(%ebp)
1811 40002585:       8b 45 f8                mov    -0x8(%ebp),%eax
1812 40002588:       89 04 24                mov    %eax,(%esp)
1813 4000258b:       e8 e2 90 00 00          call   4000b672 <path_reject_dots>
1814 40002590:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
1815 40002597:       00 
1816 40002598:       8b 45 f8                mov    -0x8(%ebp),%eax
1817 4000259b:       89 04 24                mov    %eax,(%esp)
1818 4000259e:       e8 41 92 00 00          call   4000b7e4 <path_output>
1819 400025a3:       c9                      leave  
1820 400025a4:       c3                      ret    
1822 400025a5 <getcwd>:
1823 400025a5:       55                      push   %ebp
1824 400025a6:       89 e5                   mov    %esp,%ebp
1825 400025a8:       83 ec 18                sub    $0x18,%esp
1826 400025ab:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
1827 400025af:       75 1b                   jne    400025cc <getcwd+0x27>
1828 400025b1:       a1 34 05 01 40          mov    0x40010534,%eax
1829 400025b6:       83 c0 01                add    $0x1,%eax
1830 400025b9:       89 45 0c                mov    %eax,0xc(%ebp)
1831 400025bc:       8b 45 0c                mov    0xc(%ebp),%eax
1832 400025bf:       89 04 24                mov    %eax,(%esp)
1833 400025c2:       e8 0d 4f 00 00          call   400074d4 <malloc>
1834 400025c7:       89 45 08                mov    %eax,0x8(%ebp)
1835 400025ca:       eb 39                   jmp    40002605 <getcwd+0x60>
1836 400025cc:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
1837 400025d0:       75 13                   jne    400025e5 <getcwd+0x40>
1838 400025d2:       c7 05 10 1c 01 40 1c    movl   $0x1c,0x40011c10
1839 400025d9:       00 00 00 
1840 400025dc:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
1841 400025e3:       eb 3f                   jmp    40002624 <getcwd+0x7f>
1842 400025e5:       a1 34 05 01 40          mov    0x40010534,%eax
1843 400025ea:       83 c0 01                add    $0x1,%eax
1844 400025ed:       3b 45 0c                cmp    0xc(%ebp),%eax
1845 400025f0:       76 13                   jbe    40002605 <getcwd+0x60>
1846 400025f2:       c7 05 10 1c 01 40 46    movl   $0x46,0x40011c10
1847 400025f9:       00 00 00 
1848 400025fc:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
1849 40002603:       eb 1f                   jmp    40002624 <getcwd+0x7f>
1850 40002605:       8b 15 30 05 01 40       mov    0x40010530,%edx
1851 4000260b:       8b 45 0c                mov    0xc(%ebp),%eax
1852 4000260e:       89 44 24 08             mov    %eax,0x8(%esp)
1853 40002612:       89 54 24 04             mov    %edx,0x4(%esp)
1854 40002616:       8b 45 08                mov    0x8(%ebp),%eax
1855 40002619:       89 04 24                mov    %eax,(%esp)
1856 4000261c:       e8 43 85 00 00          call   4000ab64 <strncpy>
1857 40002621:       89 45 fc                mov    %eax,-0x4(%ebp)
1858 40002624:       8b 45 fc                mov    -0x4(%ebp),%eax
1859 40002627:       c9                      leave  
1860 40002628:       c3                      ret    
1862 40002629 <chdir>:
1863 40002629:       55                      push   %ebp
1864 4000262a:       89 e5                   mov    %esp,%ebp
1865 4000262c:       83 ec 28                sub    $0x28,%esp
1866 4000262f:       8b 45 08                mov    0x8(%ebp),%eax
1867 40002632:       89 04 24                mov    %eax,(%esp)
1868 40002635:       e8 04 ff ff ff          call   4000253e <getabsolutepath>
1869 4000263a:       89 45 08                mov    %eax,0x8(%ebp)
1870 4000263d:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
1871 40002641:       75 07                   jne    4000264a <chdir+0x21>
1872 40002643:       c7 45 08 9a e6 00 40    movl   $0x4000e69a,0x8(%ebp)
1873 4000264a:       8b 45 08                mov    0x8(%ebp),%eax
1874 4000264d:       89 04 24                mov    %eax,(%esp)
1875 40002650:       e8 36 0e 00 00          call   4000348b <opendir>
1876 40002655:       89 45 fc                mov    %eax,-0x4(%ebp)
1877 40002658:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
1878 4000265c:       0f 84 94 00 00 00       je     400026f6 <chdir+0xcd>
1879 40002662:       8b 45 fc                mov    -0x4(%ebp),%eax
1880 40002665:       89 04 24                mov    %eax,(%esp)
1881 40002668:       e8 f7 0f 00 00          call   40003664 <closedir>
1882 4000266d:       a1 30 05 01 40          mov    0x40010530,%eax
1883 40002672:       89 04 24                mov    %eax,(%esp)
1884 40002675:       e8 11 53 00 00          call   4000798b <free>
1885 4000267a:       a1 38 05 01 40          mov    0x40010538,%eax
1886 4000267f:       89 04 24                mov    %eax,(%esp)
1887 40002682:       e8 b6 8f 00 00          call   4000b63d <path_destroy>
1888 40002687:       8b 45 08                mov    0x8(%ebp),%eax
1889 4000268a:       89 04 24                mov    %eax,(%esp)
1890 4000268d:       e8 86 8e 00 00          call   4000b518 <path_parse>
1891 40002692:       a3 38 05 01 40          mov    %eax,0x40010538
1892 40002697:       a1 38 05 01 40          mov    0x40010538,%eax
1893 4000269c:       89 04 24                mov    %eax,(%esp)
1894 4000269f:       e8 ce 8f 00 00          call   4000b672 <path_reject_dots>
1895 400026a4:       a1 38 05 01 40          mov    0x40010538,%eax
1896 400026a9:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
1897 400026b0:       00 
1898 400026b1:       89 04 24                mov    %eax,(%esp)
1899 400026b4:       e8 2b 91 00 00          call   4000b7e4 <path_output>
1900 400026b9:       a3 30 05 01 40          mov    %eax,0x40010530
1901 400026be:       a1 30 05 01 40          mov    0x40010530,%eax
1902 400026c3:       89 04 24                mov    %eax,(%esp)
1903 400026c6:       e8 59 83 00 00          call   4000aa24 <strlen>
1904 400026cb:       a3 34 05 01 40          mov    %eax,0x40010534
1905 400026d0:       a1 30 05 01 40          mov    0x40010530,%eax
1906 400026d5:       c7 44 24 08 01 00 00    movl   $0x1,0x8(%esp)
1907 400026dc:       00 
1908 400026dd:       89 44 24 04             mov    %eax,0x4(%esp)
1909 400026e1:       c7 04 24 95 e6 00 40    movl   $0x4000e695,(%esp)
1910 400026e8:       e8 6f a5 00 00          call   4000cc5c <setenv>
1911 400026ed:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
1912 400026f4:       eb 07                   jmp    400026fd <chdir+0xd4>
1913 400026f6:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
1914 400026fd:       8b 45 ec                mov    -0x14(%ebp),%eax
1915 40002700:       c9                      leave  
1916 40002701:       c3                      ret    
1918 40002702 <fchdir>:
1919 40002702:       55                      push   %ebp
1920 40002703:       89 e5                   mov    %esp,%ebp
1921 40002705:       83 ec 18                sub    $0x18,%esp
1922 40002708:       8b 45 08                mov    0x8(%ebp),%eax
1923 4000270b:       89 04 24                mov    %eax,(%esp)
1924 4000270e:       e8 e5 fd ff ff          call   400024f8 <filebyfh>
1925 40002713:       89 45 fc                mov    %eax,-0x4(%ebp)
1926 40002716:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
1927 4000271a:       74 13                   je     4000272f <fchdir+0x2d>
1928 4000271c:       8b 45 fc                mov    -0x4(%ebp),%eax
1929 4000271f:       8b 40 18                mov    0x18(%eax),%eax
1930 40002722:       89 04 24                mov    %eax,(%esp)
1931 40002725:       e8 ff fe ff ff          call   40002629 <chdir>
1932 4000272a:       89 45 f8                mov    %eax,-0x8(%ebp)
1933 4000272d:       eb 07                   jmp    40002736 <fchdir+0x34>
1934 4000272f:       c7 45 f8 f8 ff ff ff    movl   $0xfffffff8,-0x8(%ebp)
1935 40002736:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
1936 4000273a:       79 0c                   jns    40002748 <fchdir+0x46>
1937 4000273c:       8b 45 f8                mov    -0x8(%ebp),%eax
1938 4000273f:       89 c2                   mov    %eax,%edx
1939 40002741:       f7 da                   neg    %edx
1940 40002743:       89 55 ec                mov    %edx,-0x14(%ebp)
1941 40002746:       eb 07                   jmp    4000274f <fchdir+0x4d>
1942 40002748:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
1943 4000274f:       8b 45 ec                mov    -0x14(%ebp),%eax
1944 40002752:       a3 10 1c 01 40          mov    %eax,0x40011c10
1945 40002757:       8b 45 f8                mov    -0x8(%ebp),%eax
1946 4000275a:       c1 f8 1f                sar    $0x1f,%eax
1947 4000275d:       0b 45 f8                or     -0x8(%ebp),%eax
1948 40002760:       c9                      leave  
1949 40002761:       c3                      ret    
1951 40002762 <mknod>:
1952 40002762:       55                      push   %ebp
1953 40002763:       89 e5                   mov    %esp,%ebp
1954 40002765:       53                      push   %ebx
1955 40002766:       83 ec 34                sub    $0x34,%esp
1956 40002769:       8b 45 08                mov    0x8(%ebp),%eax
1957 4000276c:       89 04 24                mov    %eax,(%esp)
1958 4000276f:       e8 ca fd ff ff          call   4000253e <getabsolutepath>
1959 40002774:       89 45 f4                mov    %eax,-0xc(%ebp)
1960 40002777:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
1961 4000277e:       00 
1962 4000277f:       8b 45 f4                mov    -0xc(%ebp),%eax
1963 40002782:       89 04 24                mov    %eax,(%esp)
1964 40002785:       e8 a0 fb ff ff          call   4000232a <fsbypath>
1965 4000278a:       89 45 f8                mov    %eax,-0x8(%ebp)
1966 4000278d:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
1967 40002791:       74 67                   je     400027fa <mknod+0x98>
1968 40002793:       8b 45 f8                mov    -0x8(%ebp),%eax
1969 40002796:       8b 00                   mov    (%eax),%eax
1970 40002798:       89 44 24 08             mov    %eax,0x8(%esp)
1971 4000279c:       c7 44 24 04 b3 e6 00    movl   $0x4000e6b3,0x4(%esp)
1972 400027a3:       40 
1973 400027a4:       8d 45 ec                lea    -0x14(%ebp),%eax
1974 400027a7:       89 04 24                mov    %eax,(%esp)
1975 400027aa:       e8 11 f9 ff ff          call   400020c0 <asprintf>
1976 400027af:       a1 3c 05 01 40          mov    0x4001053c,%eax
1977 400027b4:       f7 d0                   not    %eax
1978 400027b6:       89 c2                   mov    %eax,%edx
1979 400027b8:       23 55 0c                and    0xc(%ebp),%edx
1980 400027bb:       8b 45 f8                mov    -0x8(%ebp),%eax
1981 400027be:       8b 48 04                mov    0x4(%eax),%ecx
1982 400027c1:       8b 5d ec                mov    -0x14(%ebp),%ebx
1983 400027c4:       8b 45 10                mov    0x10(%ebp),%eax
1984 400027c7:       89 44 24 14             mov    %eax,0x14(%esp)
1985 400027cb:       89 54 24 10             mov    %edx,0x10(%esp)
1986 400027cf:       8b 45 f4                mov    -0xc(%ebp),%eax
1987 400027d2:       89 44 24 0c             mov    %eax,0xc(%esp)
1988 400027d6:       89 4c 24 08             mov    %ecx,0x8(%esp)
1989 400027da:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
1990 400027e1:       00 
1991 400027e2:       89 1c 24                mov    %ebx,(%esp)
1992 400027e5:       e8 01 9c 00 00          call   4000c3eb <rpc_call>
1993 400027ea:       89 45 f0                mov    %eax,-0x10(%ebp)
1994 400027ed:       8b 45 ec                mov    -0x14(%ebp),%eax
1995 400027f0:       89 04 24                mov    %eax,(%esp)
1996 400027f3:       e8 93 51 00 00          call   4000798b <free>
1997 400027f8:       eb 07                   jmp    40002801 <mknod+0x9f>
1998 400027fa:       c7 45 f0 e4 ff ff ff    movl   $0xffffffe4,-0x10(%ebp)
1999 40002801:       8b 45 f4                mov    -0xc(%ebp),%eax
2000 40002804:       89 04 24                mov    %eax,(%esp)
2001 40002807:       e8 7f 51 00 00          call   4000798b <free>
2002 4000280c:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
2003 40002810:       79 0c                   jns    4000281e <mknod+0xbc>
2004 40002812:       8b 45 f0                mov    -0x10(%ebp),%eax
2005 40002815:       89 c2                   mov    %eax,%edx
2006 40002817:       f7 da                   neg    %edx
2007 40002819:       89 55 e8                mov    %edx,-0x18(%ebp)
2008 4000281c:       eb 07                   jmp    40002825 <mknod+0xc3>
2009 4000281e:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
2010 40002825:       8b 45 e8                mov    -0x18(%ebp),%eax
2011 40002828:       a3 10 1c 01 40          mov    %eax,0x40011c10
2012 4000282d:       8b 45 f0                mov    -0x10(%ebp),%eax
2013 40002830:       c1 f8 1f                sar    $0x1f,%eax
2014 40002833:       0b 45 f0                or     -0x10(%ebp),%eax
2015 40002836:       83 c4 34                add    $0x34,%esp
2016 40002839:       5b                      pop    %ebx
2017 4000283a:       5d                      pop    %ebp
2018 4000283b:       c3                      ret    
2020 4000283c <access>:
2021 4000283c:       55                      push   %ebp
2022 4000283d:       89 e5                   mov    %esp,%ebp
2023 4000283f:       83 ec 28                sub    $0x28,%esp
2024 40002842:       8b 45 08                mov    0x8(%ebp),%eax
2025 40002845:       89 04 24                mov    %eax,(%esp)
2026 40002848:       e8 f1 fc ff ff          call   4000253e <getabsolutepath>
2027 4000284d:       89 45 f8                mov    %eax,-0x8(%ebp)
2028 40002850:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
2029 40002857:       00 
2030 40002858:       8b 45 f8                mov    -0x8(%ebp),%eax
2031 4000285b:       89 04 24                mov    %eax,(%esp)
2032 4000285e:       e8 c7 fa ff ff          call   4000232a <fsbypath>
2033 40002863:       89 45 fc                mov    %eax,-0x4(%ebp)
2034 40002866:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
2035 4000286a:       74 57                   je     400028c3 <access+0x87>
2036 4000286c:       8b 45 fc                mov    -0x4(%ebp),%eax
2037 4000286f:       8b 00                   mov    (%eax),%eax
2038 40002871:       89 44 24 08             mov    %eax,0x8(%esp)
2039 40002875:       c7 44 24 04 bf e6 00    movl   $0x4000e6bf,0x4(%esp)
2040 4000287c:       40 
2041 4000287d:       8d 45 f0                lea    -0x10(%ebp),%eax
2042 40002880:       89 04 24                mov    %eax,(%esp)
2043 40002883:       e8 38 f8 ff ff          call   400020c0 <asprintf>
2044 40002888:       8b 45 fc                mov    -0x4(%ebp),%eax
2045 4000288b:       8b 50 04                mov    0x4(%eax),%edx
2046 4000288e:       8b 4d f0                mov    -0x10(%ebp),%ecx
2047 40002891:       8b 45 0c                mov    0xc(%ebp),%eax
2048 40002894:       89 44 24 10             mov    %eax,0x10(%esp)
2049 40002898:       8b 45 f8                mov    -0x8(%ebp),%eax
2050 4000289b:       89 44 24 0c             mov    %eax,0xc(%esp)
2051 4000289f:       89 54 24 08             mov    %edx,0x8(%esp)
2052 400028a3:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
2053 400028aa:       00 
2054 400028ab:       89 0c 24                mov    %ecx,(%esp)
2055 400028ae:       e8 38 9b 00 00          call   4000c3eb <rpc_call>
2056 400028b3:       89 45 f4                mov    %eax,-0xc(%ebp)
2057 400028b6:       8b 45 f0                mov    -0x10(%ebp),%eax
2058 400028b9:       89 04 24                mov    %eax,(%esp)
2059 400028bc:       e8 ca 50 00 00          call   4000798b <free>
2060 400028c1:       eb 07                   jmp    400028ca <access+0x8e>
2061 400028c3:       c7 45 f4 e4 ff ff ff    movl   $0xffffffe4,-0xc(%ebp)
2062 400028ca:       8b 45 f8                mov    -0x8(%ebp),%eax
2063 400028cd:       89 04 24                mov    %eax,(%esp)
2064 400028d0:       e8 b6 50 00 00          call   4000798b <free>
2065 400028d5:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
2066 400028d9:       79 0c                   jns    400028e7 <access+0xab>
2067 400028db:       8b 45 f4                mov    -0xc(%ebp),%eax
2068 400028de:       89 c2                   mov    %eax,%edx
2069 400028e0:       f7 da                   neg    %edx
2070 400028e2:       89 55 ec                mov    %edx,-0x14(%ebp)
2071 400028e5:       eb 07                   jmp    400028ee <access+0xb2>
2072 400028e7:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
2073 400028ee:       8b 45 ec                mov    -0x14(%ebp),%eax
2074 400028f1:       a3 10 1c 01 40          mov    %eax,0x40011c10
2075 400028f6:       8b 45 f4                mov    -0xc(%ebp),%eax
2076 400028f9:       c1 f8 1f                sar    $0x1f,%eax
2077 400028fc:       0b 45 f4                or     -0xc(%ebp),%eax
2078 400028ff:       c9                      leave  
2079 40002900:       c3                      ret    
2081 40002901 <open>:
2082 40002901:       55                      push   %ebp
2083 40002902:       89 e5                   mov    %esp,%ebp
2084 40002904:       83 ec 48                sub    $0x48,%esp
2085 40002907:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
2086 4000290e:       8b 45 08                mov    0x8(%ebp),%eax
2087 40002911:       89 04 24                mov    %eax,(%esp)
2088 40002914:       e8 25 fc ff ff          call   4000253e <getabsolutepath>
2089 40002919:       89 45 ec                mov    %eax,-0x14(%ebp)
2090 4000291c:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
2091 40002923:       00 
2092 40002924:       8b 45 ec                mov    -0x14(%ebp),%eax
2093 40002927:       89 04 24                mov    %eax,(%esp)
2094 4000292a:       e8 fb f9 ff ff          call   4000232a <fsbypath>
2095 4000292f:       89 45 f0                mov    %eax,-0x10(%ebp)
2096 40002932:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
2097 40002936:       75 0a                   jne    40002942 <open+0x41>
2098 40002938:       a1 10 1c 01 40          mov    0x40011c10,%eax
2099 4000293d:       f7 d8                   neg    %eax
2100 4000293f:       89 45 e4                mov    %eax,-0x1c(%ebp)
2101 40002942:       8d 45 10                lea    0x10(%ebp),%eax
2102 40002945:       89 45 e0                mov    %eax,-0x20(%ebp)
2103 40002948:       83 7d e4 00             cmpl   $0x0,-0x1c(%ebp)
2104 4000294c:       0f 85 9c 01 00 00       jne    40002aee <open+0x1ed>
2105 40002952:       8b 45 0c                mov    0xc(%ebp),%eax
2106 40002955:       83 e0 04                and    $0x4,%eax
2107 40002958:       85 c0                   test   %eax,%eax
2108 4000295a:       74 48                   je     400029a4 <open+0xa3>
2109 4000295c:       83 65 0c fb             andl   $0xfffffffb,0xc(%ebp)
2110 40002960:       8b 55 e0                mov    -0x20(%ebp),%edx
2111 40002963:       8d 42 04                lea    0x4(%edx),%eax
2112 40002966:       89 45 e0                mov    %eax,-0x20(%ebp)
2113 40002969:       89 d0                   mov    %edx,%eax
2114 4000296b:       8b 00                   mov    (%eax),%eax
2115 4000296d:       80 cc 80                or     $0x80,%ah
2116 40002970:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
2117 40002977:       00 
2118 40002978:       89 44 24 04             mov    %eax,0x4(%esp)
2119 4000297c:       8b 45 08                mov    0x8(%ebp),%eax
2120 4000297f:       89 04 24                mov    %eax,(%esp)
2121 40002982:       e8 db fd ff ff          call   40002762 <mknod>
2122 40002987:       89 45 f8                mov    %eax,-0x8(%ebp)
2123 4000298a:       83 7d f8 ff             cmpl   $0xffffffff,-0x8(%ebp)
2124 4000298e:       75 14                   jne    400029a4 <open+0xa3>
2125 40002990:       a1 10 1c 01 40          mov    0x40011c10,%eax
2126 40002995:       83 f8 14                cmp    $0x14,%eax
2127 40002998:       74 0a                   je     400029a4 <open+0xa3>
2128 4000299a:       a1 10 1c 01 40          mov    0x40011c10,%eax
2129 4000299f:       f7 d8                   neg    %eax
2130 400029a1:       89 45 e4                mov    %eax,-0x1c(%ebp)
2131 400029a4:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
2132 400029ab:       00 
2133 400029ac:       c7 44 24 04 00 20 00    movl   $0x2000,0x4(%esp)
2134 400029b3:       00 
2135 400029b4:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
2136 400029bb:       e8 0c 62 00 00          call   40008bcc <shmget>
2137 400029c0:       89 45 f4                mov    %eax,-0xc(%ebp)
2138 400029c3:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
2139 400029ca:       00 
2140 400029cb:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
2141 400029d2:       00 
2142 400029d3:       8b 45 f4                mov    -0xc(%ebp),%eax
2143 400029d6:       89 04 24                mov    %eax,(%esp)
2144 400029d9:       e8 aa 62 00 00          call   40008c88 <shmat>
2145 400029de:       89 45 e8                mov    %eax,-0x18(%ebp)
2146 400029e1:       83 7d e8 00             cmpl   $0x0,-0x18(%ebp)
2147 400029e5:       0f 84 03 01 00 00       je     40002aee <open+0x1ed>
2148 400029eb:       8b 55 e8                mov    -0x18(%ebp),%edx
2149 400029ee:       c7 44 24 08 00 20 00    movl   $0x2000,0x8(%esp)
2150 400029f5:       00 
2151 400029f6:       8b 45 ec                mov    -0x14(%ebp),%eax
2152 400029f9:       89 44 24 04             mov    %eax,0x4(%esp)
2153 400029fd:       89 14 24                mov    %edx,(%esp)
2154 40002a00:       e8 5f 81 00 00          call   4000ab64 <strncpy>
2155 40002a05:       8b 45 f0                mov    -0x10(%ebp),%eax
2156 40002a08:       8b 00                   mov    (%eax),%eax
2157 40002a0a:       89 44 24 08             mov    %eax,0x8(%esp)
2158 40002a0e:       c7 44 24 04 cc e6 00    movl   $0x4000e6cc,0x4(%esp)
2159 40002a15:       40 
2160 40002a16:       8d 45 dc                lea    -0x24(%ebp),%eax
2161 40002a19:       89 04 24                mov    %eax,(%esp)
2162 40002a1c:       e8 9f f6 ff ff          call   400020c0 <asprintf>
2163 40002a21:       8b 45 f0                mov    -0x10(%ebp),%eax
2164 40002a24:       8b 50 04                mov    0x4(%eax),%edx
2165 40002a27:       8b 4d dc                mov    -0x24(%ebp),%ecx
2166 40002a2a:       8b 45 f4                mov    -0xc(%ebp),%eax
2167 40002a2d:       89 44 24 10             mov    %eax,0x10(%esp)
2168 40002a31:       8b 45 0c                mov    0xc(%ebp),%eax
2169 40002a34:       89 44 24 0c             mov    %eax,0xc(%esp)
2170 40002a38:       89 54 24 08             mov    %edx,0x8(%esp)
2171 40002a3c:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
2172 40002a43:       00 
2173 40002a44:       89 0c 24                mov    %ecx,(%esp)
2174 40002a47:       e8 9f 99 00 00          call   4000c3eb <rpc_call>
2175 40002a4c:       89 45 e4                mov    %eax,-0x1c(%ebp)
2176 40002a4f:       8b 45 dc                mov    -0x24(%ebp),%eax
2177 40002a52:       89 04 24                mov    %eax,(%esp)
2178 40002a55:       e8 31 4f 00 00          call   4000798b <free>
2179 40002a5a:       83 7d e4 00             cmpl   $0x0,-0x1c(%ebp)
2180 40002a5e:       0f 88 8a 00 00 00       js     40002aee <open+0x1ed>
2181 40002a64:       c7 04 24 28 00 00 00    movl   $0x28,(%esp)
2182 40002a6b:       e8 64 4a 00 00          call   400074d4 <malloc>
2183 40002a70:       89 45 fc                mov    %eax,-0x4(%ebp)
2184 40002a73:       8b 55 fc                mov    -0x4(%ebp),%edx
2185 40002a76:       8b 45 e4                mov    -0x1c(%ebp),%eax
2186 40002a79:       89 42 04                mov    %eax,0x4(%edx)
2187 40002a7c:       8b 55 fc                mov    -0x4(%ebp),%edx
2188 40002a7f:       8b 45 f0                mov    -0x10(%ebp),%eax
2189 40002a82:       89 02                   mov    %eax,(%edx)
2190 40002a84:       8b 55 fc                mov    -0x4(%ebp),%edx
2191 40002a87:       8b 45 0c                mov    0xc(%ebp),%eax
2192 40002a8a:       89 42 10                mov    %eax,0x10(%edx)
2193 40002a8d:       8b 45 fc                mov    -0x4(%ebp),%eax
2194 40002a90:       c7 40 0c 00 80 00 00    movl   $0x8000,0xc(%eax)
2195 40002a97:       8b 15 2c 05 01 40       mov    0x4001052c,%edx
2196 40002a9d:       8b 45 fc                mov    -0x4(%ebp),%eax
2197 40002aa0:       89 50 14                mov    %edx,0x14(%eax)
2198 40002aa3:       8d 42 01                lea    0x1(%edx),%eax
2199 40002aa6:       a3 2c 05 01 40          mov    %eax,0x4001052c
2200 40002aab:       8b 45 ec                mov    -0x14(%ebp),%eax
2201 40002aae:       89 04 24                mov    %eax,(%esp)
2202 40002ab1:       e8 23 7f 00 00          call   4000a9d9 <strdup>
2203 40002ab6:       89 c2                   mov    %eax,%edx
2204 40002ab8:       8b 45 fc                mov    -0x4(%ebp),%eax
2205 40002abb:       89 50 18                mov    %edx,0x18(%eax)
2206 40002abe:       8b 55 fc                mov    -0x4(%ebp),%edx
2207 40002ac1:       8b 45 f4                mov    -0xc(%ebp),%eax
2208 40002ac4:       89 42 1c                mov    %eax,0x1c(%edx)
2209 40002ac7:       8b 55 fc                mov    -0x4(%ebp),%edx
2210 40002aca:       8b 45 e8                mov    -0x18(%ebp),%eax
2211 40002acd:       89 42 20                mov    %eax,0x20(%edx)
2212 40002ad0:       8b 45 fc                mov    -0x4(%ebp),%eax
2213 40002ad3:       8b 40 14                mov    0x14(%eax),%eax
2214 40002ad6:       89 45 e4                mov    %eax,-0x1c(%ebp)
2215 40002ad9:       8b 15 24 05 01 40       mov    0x40010524,%edx
2216 40002adf:       8b 45 fc                mov    -0x4(%ebp),%eax
2217 40002ae2:       89 44 24 04             mov    %eax,0x4(%esp)
2218 40002ae6:       89 14 24                mov    %edx,(%esp)
2219 40002ae9:       e8 f1 85 00 00          call   4000b0df <llist_push>
2220 40002aee:       8b 45 ec                mov    -0x14(%ebp),%eax
2221 40002af1:       89 04 24                mov    %eax,(%esp)
2222 40002af4:       e8 92 4e 00 00          call   4000798b <free>
2223 40002af9:       83 7d e4 00             cmpl   $0x0,-0x1c(%ebp)
2224 40002afd:       79 0c                   jns    40002b0b <open+0x20a>
2225 40002aff:       8b 45 e4                mov    -0x1c(%ebp),%eax
2226 40002b02:       89 c2                   mov    %eax,%edx
2227 40002b04:       f7 da                   neg    %edx
2228 40002b06:       89 55 cc                mov    %edx,-0x34(%ebp)
2229 40002b09:       eb 07                   jmp    40002b12 <open+0x211>
2230 40002b0b:       c7 45 cc 00 00 00 00    movl   $0x0,-0x34(%ebp)
2231 40002b12:       8b 45 cc                mov    -0x34(%ebp),%eax
2232 40002b15:       a3 10 1c 01 40          mov    %eax,0x40011c10
2233 40002b1a:       8b 45 e4                mov    -0x1c(%ebp),%eax
2234 40002b1d:       c1 f8 1f                sar    $0x1f,%eax
2235 40002b20:       0b 45 e4                or     -0x1c(%ebp),%eax
2236 40002b23:       c9                      leave  
2237 40002b24:       c3                      ret    
2239 40002b25 <_close_all_filehandles>:
2240 40002b25:       55                      push   %ebp
2241 40002b26:       89 e5                   mov    %esp,%ebp
2242 40002b28:       83 ec 18                sub    $0x18,%esp
2243 40002b2b:       eb 3f                   jmp    40002b6c <_close_all_filehandles+0x47>
2244 40002b2d:       8b 45 fc                mov    -0x4(%ebp),%eax
2245 40002b30:       8b 40 0c                mov    0xc(%eax),%eax
2246 40002b33:       25 00 f0 00 00          and    $0xf000,%eax
2247 40002b38:       3d 00 80 00 00          cmp    $0x8000,%eax
2248 40002b3d:       75 10                   jne    40002b4f <_close_all_filehandles+0x2a>
2249 40002b3f:       8b 45 fc                mov    -0x4(%ebp),%eax
2250 40002b42:       8b 40 14                mov    0x14(%eax),%eax
2251 40002b45:       89 04 24                mov    %eax,(%esp)
2252 40002b48:       e8 37 00 00 00          call   40002b84 <close>
2253 40002b4d:       eb 1d                   jmp    40002b6c <_close_all_filehandles+0x47>
2254 40002b4f:       8b 45 fc                mov    -0x4(%ebp),%eax
2255 40002b52:       8b 40 0c                mov    0xc(%eax),%eax
2256 40002b55:       25 00 f0 00 00          and    $0xf000,%eax
2257 40002b5a:       3d 00 40 00 00          cmp    $0x4000,%eax
2258 40002b5f:       75 0b                   jne    40002b6c <_close_all_filehandles+0x47>
2259 40002b61:       8b 45 fc                mov    -0x4(%ebp),%eax
2260 40002b64:       89 04 24                mov    %eax,(%esp)
2261 40002b67:       e8 f8 0a 00 00          call   40003664 <closedir>
2262 40002b6c:       a1 24 05 01 40          mov    0x40010524,%eax
2263 40002b71:       89 04 24                mov    %eax,(%esp)
2264 40002b74:       e8 bf 85 00 00          call   4000b138 <llist_pop>
2265 40002b79:       89 45 fc                mov    %eax,-0x4(%ebp)
2266 40002b7c:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
2267 40002b80:       75 ab                   jne    40002b2d <_close_all_filehandles+0x8>
2268 40002b82:       c9                      leave  
2269 40002b83:       c3                      ret    
2271 40002b84 <close>:
2272 40002b84:       55                      push   %ebp
2273 40002b85:       89 e5                   mov    %esp,%ebp
2274 40002b87:       83 ec 28                sub    $0x28,%esp
2275 40002b8a:       8b 45 08                mov    0x8(%ebp),%eax
2276 40002b8d:       89 04 24                mov    %eax,(%esp)
2277 40002b90:       e8 63 f9 ff ff          call   400024f8 <filebyfh>
2278 40002b95:       89 45 fc                mov    %eax,-0x4(%ebp)
2279 40002b98:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
2280 40002b9c:       0f 84 bf 00 00 00       je     40002c61 <close+0xdd>
2281 40002ba2:       8b 45 fc                mov    -0x4(%ebp),%eax
2282 40002ba5:       8b 00                   mov    (%eax),%eax
2283 40002ba7:       8b 00                   mov    (%eax),%eax
2284 40002ba9:       89 44 24 08             mov    %eax,0x8(%esp)
2285 40002bad:       c7 44 24 04 d7 e6 00    movl   $0x4000e6d7,0x4(%esp)
2286 40002bb4:       40 
2287 40002bb5:       8d 45 f4                lea    -0xc(%ebp),%eax
2288 40002bb8:       89 04 24                mov    %eax,(%esp)
2289 40002bbb:       e8 00 f5 ff ff          call   400020c0 <asprintf>
2290 40002bc0:       8b 45 fc                mov    -0x4(%ebp),%eax
2291 40002bc3:       8b 50 04                mov    0x4(%eax),%edx
2292 40002bc6:       8b 45 fc                mov    -0x4(%ebp),%eax
2293 40002bc9:       8b 00                   mov    (%eax),%eax
2294 40002bcb:       8b 40 04                mov    0x4(%eax),%eax
2295 40002bce:       8b 4d f4                mov    -0xc(%ebp),%ecx
2296 40002bd1:       89 54 24 0c             mov    %edx,0xc(%esp)
2297 40002bd5:       89 44 24 08             mov    %eax,0x8(%esp)
2298 40002bd9:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
2299 40002be0:       00 
2300 40002be1:       89 0c 24                mov    %ecx,(%esp)
2301 40002be4:       e8 02 98 00 00          call   4000c3eb <rpc_call>
2302 40002be9:       89 45 f8                mov    %eax,-0x8(%ebp)
2303 40002bec:       8b 45 f4                mov    -0xc(%ebp),%eax
2304 40002bef:       89 04 24                mov    %eax,(%esp)
2305 40002bf2:       e8 94 4d 00 00          call   4000798b <free>
2306 40002bf7:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
2307 40002bfb:       75 6b                   jne    40002c68 <close+0xe4>
2308 40002bfd:       8b 45 fc                mov    -0x4(%ebp),%eax
2309 40002c00:       8b 40 20                mov    0x20(%eax),%eax
2310 40002c03:       89 04 24                mov    %eax,(%esp)
2311 40002c06:       e8 00 61 00 00          call   40008d0b <shmdt>
2312 40002c0b:       8b 45 fc                mov    -0x4(%ebp),%eax
2313 40002c0e:       8b 40 1c                mov    0x1c(%eax),%eax
2314 40002c11:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
2315 40002c18:       00 
2316 40002c19:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
2317 40002c20:       00 
2318 40002c21:       89 04 24                mov    %eax,(%esp)
2319 40002c24:       e8 52 61 00 00          call   40008d7b <shmctl>
2320 40002c29:       8b 45 08                mov    0x8(%ebp),%eax
2321 40002c2c:       89 04 24                mov    %eax,(%esp)
2322 40002c2f:       e8 74 f8 ff ff          call   400024a8 <lidxbyfh>
2323 40002c34:       8b 15 24 05 01 40       mov    0x40010524,%edx
2324 40002c3a:       89 44 24 04             mov    %eax,0x4(%esp)
2325 40002c3e:       89 14 24                mov    %edx,(%esp)
2326 40002c41:       e8 a3 86 00 00          call   4000b2e9 <llist_remove>
2327 40002c46:       8b 45 fc                mov    -0x4(%ebp),%eax
2328 40002c49:       8b 40 18                mov    0x18(%eax),%eax
2329 40002c4c:       89 04 24                mov    %eax,(%esp)
2330 40002c4f:       e8 37 4d 00 00          call   4000798b <free>
2331 40002c54:       8b 45 fc                mov    -0x4(%ebp),%eax
2332 40002c57:       89 04 24                mov    %eax,(%esp)
2333 40002c5a:       e8 2c 4d 00 00          call   4000798b <free>
2334 40002c5f:       eb 07                   jmp    40002c68 <close+0xe4>
2335 40002c61:       c7 45 f8 f8 ff ff ff    movl   $0xfffffff8,-0x8(%ebp)
2336 40002c68:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
2337 40002c6c:       79 0c                   jns    40002c7a <close+0xf6>
2338 40002c6e:       8b 45 f8                mov    -0x8(%ebp),%eax
2339 40002c71:       89 c2                   mov    %eax,%edx
2340 40002c73:       f7 da                   neg    %edx
2341 40002c75:       89 55 ec                mov    %edx,-0x14(%ebp)
2342 40002c78:       eb 07                   jmp    40002c81 <close+0xfd>
2343 40002c7a:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
2344 40002c81:       8b 45 ec                mov    -0x14(%ebp),%eax
2345 40002c84:       a3 10 1c 01 40          mov    %eax,0x40011c10
2346 40002c89:       8b 45 f8                mov    -0x8(%ebp),%eax
2347 40002c8c:       c1 f8 1f                sar    $0x1f,%eax
2348 40002c8f:       0b 45 f8                or     -0x8(%ebp),%eax
2349 40002c92:       c9                      leave  
2350 40002c93:       c3                      ret    
2352 40002c94 <dup2>:
2353 40002c94:       55                      push   %ebp
2354 40002c95:       89 e5                   mov    %esp,%ebp
2355 40002c97:       83 ec 28                sub    $0x28,%esp
2356 40002c9a:       c7 45 f4 ff ff ff ff    movl   $0xffffffff,-0xc(%ebp)
2357 40002ca1:       8b 45 08                mov    0x8(%ebp),%eax
2358 40002ca4:       89 04 24                mov    %eax,(%esp)
2359 40002ca7:       e8 4c f8 ff ff          call   400024f8 <filebyfh>
2360 40002cac:       89 45 f8                mov    %eax,-0x8(%ebp)
2361 40002caf:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
2362 40002cb3:       0f 84 21 01 00 00       je     40002dda <dup2+0x146>
2363 40002cb9:       8b 45 f8                mov    -0x8(%ebp),%eax
2364 40002cbc:       8b 00                   mov    (%eax),%eax
2365 40002cbe:       8b 00                   mov    (%eax),%eax
2366 40002cc0:       89 44 24 08             mov    %eax,0x8(%esp)
2367 40002cc4:       c7 44 24 04 d7 e6 00    movl   $0x4000e6d7,0x4(%esp)
2368 40002ccb:       40 
2369 40002ccc:       8d 45 f0                lea    -0x10(%ebp),%eax
2370 40002ccf:       89 04 24                mov    %eax,(%esp)
2371 40002cd2:       e8 e9 f3 ff ff          call   400020c0 <asprintf>
2372 40002cd7:       8b 45 f8                mov    -0x8(%ebp),%eax
2373 40002cda:       8b 50 04                mov    0x4(%eax),%edx
2374 40002cdd:       8b 45 f8                mov    -0x8(%ebp),%eax
2375 40002ce0:       8b 00                   mov    (%eax),%eax
2376 40002ce2:       8b 40 04                mov    0x4(%eax),%eax
2377 40002ce5:       8b 4d f0                mov    -0x10(%ebp),%ecx
2378 40002ce8:       89 54 24 0c             mov    %edx,0xc(%esp)
2379 40002cec:       89 44 24 08             mov    %eax,0x8(%esp)
2380 40002cf0:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
2381 40002cf7:       00 
2382 40002cf8:       89 0c 24                mov    %ecx,(%esp)
2383 40002cfb:       e8 eb 96 00 00          call   4000c3eb <rpc_call>
2384 40002d00:       89 45 f4                mov    %eax,-0xc(%ebp)
2385 40002d03:       8b 45 f0                mov    -0x10(%ebp),%eax
2386 40002d06:       89 04 24                mov    %eax,(%esp)
2387 40002d09:       e8 7d 4c 00 00          call   4000798b <free>
2388 40002d0e:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
2389 40002d12:       0f 88 cc 00 00 00       js     40002de4 <dup2+0x150>
2390 40002d18:       c7 04 24 28 00 00 00    movl   $0x28,(%esp)
2391 40002d1f:       e8 b0 47 00 00          call   400074d4 <malloc>
2392 40002d24:       89 45 fc                mov    %eax,-0x4(%ebp)
2393 40002d27:       c7 44 24 08 28 00 00    movl   $0x28,0x8(%esp)
2394 40002d2e:       00 
2395 40002d2f:       8b 45 f8                mov    -0x8(%ebp),%eax
2396 40002d32:       89 44 24 04             mov    %eax,0x4(%esp)
2397 40002d36:       8b 45 fc                mov    -0x4(%ebp),%eax
2398 40002d39:       89 04 24                mov    %eax,(%esp)
2399 40002d3c:       e8 2b 79 00 00          call   4000a66c <memcpy>
2400 40002d41:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
2401 40002d45:       75 15                   jne    40002d5c <dup2+0xc8>
2402 40002d47:       a1 2c 05 01 40          mov    0x4001052c,%eax
2403 40002d4c:       8b 55 fc                mov    -0x4(%ebp),%edx
2404 40002d4f:       89 42 14                mov    %eax,0x14(%edx)
2405 40002d52:       83 c0 01                add    $0x1,%eax
2406 40002d55:       a3 2c 05 01 40          mov    %eax,0x4001052c
2407 40002d5a:       eb 14                   jmp    40002d70 <dup2+0xdc>
2408 40002d5c:       8b 45 0c                mov    0xc(%ebp),%eax
2409 40002d5f:       89 04 24                mov    %eax,(%esp)
2410 40002d62:       e8 1d fe ff ff          call   40002b84 <close>
2411 40002d67:       8b 55 fc                mov    -0x4(%ebp),%edx
2412 40002d6a:       8b 45 0c                mov    0xc(%ebp),%eax
2413 40002d6d:       89 42 14                mov    %eax,0x14(%edx)
2414 40002d70:       8b 55 fc                mov    -0x4(%ebp),%edx
2415 40002d73:       8b 45 f4                mov    -0xc(%ebp),%eax
2416 40002d76:       89 42 04                mov    %eax,0x4(%edx)
2417 40002d79:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
2418 40002d80:       00 
2419 40002d81:       c7 44 24 04 00 20 00    movl   $0x2000,0x4(%esp)
2420 40002d88:       00 
2421 40002d89:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
2422 40002d90:       e8 37 5e 00 00          call   40008bcc <shmget>
2423 40002d95:       89 c2                   mov    %eax,%edx
2424 40002d97:       8b 45 fc                mov    -0x4(%ebp),%eax
2425 40002d9a:       89 50 1c                mov    %edx,0x1c(%eax)
2426 40002d9d:       8b 45 fc                mov    -0x4(%ebp),%eax
2427 40002da0:       8b 40 1c                mov    0x1c(%eax),%eax
2428 40002da3:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
2429 40002daa:       00 
2430 40002dab:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
2431 40002db2:       00 
2432 40002db3:       89 04 24                mov    %eax,(%esp)
2433 40002db6:       e8 cd 5e 00 00          call   40008c88 <shmat>
2434 40002dbb:       89 c2                   mov    %eax,%edx
2435 40002dbd:       8b 45 fc                mov    -0x4(%ebp),%eax
2436 40002dc0:       89 50 20                mov    %edx,0x20(%eax)
2437 40002dc3:       8b 15 24 05 01 40       mov    0x40010524,%edx
2438 40002dc9:       8b 45 fc                mov    -0x4(%ebp),%eax
2439 40002dcc:       89 44 24 04             mov    %eax,0x4(%esp)
2440 40002dd0:       89 14 24                mov    %edx,(%esp)
2441 40002dd3:       e8 07 83 00 00          call   4000b0df <llist_push>
2442 40002dd8:       eb 0a                   jmp    40002de4 <dup2+0x150>
2443 40002dda:       c7 05 10 1c 01 40 08    movl   $0x8,0x40011c10
2444 40002de1:       00 00 00 
2445 40002de4:       8b 45 f4                mov    -0xc(%ebp),%eax
2446 40002de7:       c9                      leave  
2447 40002de8:       c3                      ret    
2449 40002de9 <_read>:
2450 40002de9:       55                      push   %ebp
2451 40002dea:       89 e5                   mov    %esp,%ebp
2452 40002dec:       53                      push   %ebx
2453 40002ded:       83 ec 24                sub    $0x24,%esp
2454 40002df0:       8b 45 08                mov    0x8(%ebp),%eax
2455 40002df3:       8b 00                   mov    (%eax),%eax
2456 40002df5:       8b 00                   mov    (%eax),%eax
2457 40002df7:       89 44 24 08             mov    %eax,0x8(%esp)
2458 40002dfb:       c7 44 24 04 e3 e6 00    movl   $0x4000e6e3,0x4(%esp)
2459 40002e02:       40 
2460 40002e03:       8d 45 f4                lea    -0xc(%ebp),%eax
2461 40002e06:       89 04 24                mov    %eax,(%esp)
2462 40002e09:       e8 b2 f2 ff ff          call   400020c0 <asprintf>
2463 40002e0e:       8b 45 08                mov    0x8(%ebp),%eax
2464 40002e11:       8b 48 04                mov    0x4(%eax),%ecx
2465 40002e14:       8b 45 08                mov    0x8(%ebp),%eax
2466 40002e17:       8b 00                   mov    (%eax),%eax
2467 40002e19:       8b 50 04                mov    0x4(%eax),%edx
2468 40002e1c:       8b 5d f4                mov    -0xc(%ebp),%ebx
2469 40002e1f:       8b 45 10                mov    0x10(%ebp),%eax
2470 40002e22:       89 44 24 10             mov    %eax,0x10(%esp)
2471 40002e26:       89 4c 24 0c             mov    %ecx,0xc(%esp)
2472 40002e2a:       89 54 24 08             mov    %edx,0x8(%esp)
2473 40002e2e:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
2474 40002e35:       00 
2475 40002e36:       89 1c 24                mov    %ebx,(%esp)
2476 40002e39:       e8 ad 95 00 00          call   4000c3eb <rpc_call>
2477 40002e3e:       89 45 f8                mov    %eax,-0x8(%ebp)
2478 40002e41:       8b 45 f4                mov    -0xc(%ebp),%eax
2479 40002e44:       89 04 24                mov    %eax,(%esp)
2480 40002e47:       e8 3f 4b 00 00          call   4000798b <free>
2481 40002e4c:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
2482 40002e50:       7e 1c                   jle    40002e6e <_read+0x85>
2483 40002e52:       8b 55 f8                mov    -0x8(%ebp),%edx
2484 40002e55:       8b 45 08                mov    0x8(%ebp),%eax
2485 40002e58:       8b 40 20                mov    0x20(%eax),%eax
2486 40002e5b:       89 54 24 08             mov    %edx,0x8(%esp)
2487 40002e5f:       89 44 24 04             mov    %eax,0x4(%esp)
2488 40002e63:       8b 45 0c                mov    0xc(%ebp),%eax
2489 40002e66:       89 04 24                mov    %eax,(%esp)
2490 40002e69:       e8 fe 77 00 00          call   4000a66c <memcpy>
2491 40002e6e:       8b 45 f8                mov    -0x8(%ebp),%eax
2492 40002e71:       83 c4 24                add    $0x24,%esp
2493 40002e74:       5b                      pop    %ebx
2494 40002e75:       5d                      pop    %ebp
2495 40002e76:       c3                      ret    
2497 40002e77 <read>:
2498 40002e77:       55                      push   %ebp
2499 40002e78:       89 e5                   mov    %esp,%ebp
2500 40002e7a:       83 ec 28                sub    $0x28,%esp
2501 40002e7d:       8b 45 08                mov    0x8(%ebp),%eax
2502 40002e80:       89 04 24                mov    %eax,(%esp)
2503 40002e83:       e8 70 f6 ff ff          call   400024f8 <filebyfh>
2504 40002e88:       89 45 f0                mov    %eax,-0x10(%ebp)
2505 40002e8b:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
2506 40002e8f:       0f 84 82 00 00 00       je     40002f17 <read+0xa0>
2507 40002e95:       8b 45 10                mov    0x10(%ebp),%eax
2508 40002e98:       89 45 f4                mov    %eax,-0xc(%ebp)
2509 40002e9b:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
2510 40002ea2:       eb 5c                   jmp    40002f00 <read+0x89>
2511 40002ea4:       8b 45 f4                mov    -0xc(%ebp),%eax
2512 40002ea7:       89 45 fc                mov    %eax,-0x4(%ebp)
2513 40002eaa:       81 7d fc 00 20 00 00    cmpl   $0x2000,-0x4(%ebp)
2514 40002eb1:       76 07                   jbe    40002eba <read+0x43>
2515 40002eb3:       c7 45 fc 00 20 00 00    movl   $0x2000,-0x4(%ebp)
2516 40002eba:       8b 55 f8                mov    -0x8(%ebp),%edx
2517 40002ebd:       8b 45 0c                mov    0xc(%ebp),%eax
2518 40002ec0:       8d 14 10                lea    (%eax,%edx,1),%edx
2519 40002ec3:       8b 45 fc                mov    -0x4(%ebp),%eax
2520 40002ec6:       89 44 24 08             mov    %eax,0x8(%esp)
2521 40002eca:       89 54 24 04             mov    %edx,0x4(%esp)
2522 40002ece:       8b 45 f0                mov    -0x10(%ebp),%eax
2523 40002ed1:       89 04 24                mov    %eax,(%esp)
2524 40002ed4:       e8 10 ff ff ff          call   40002de9 <_read>
2525 40002ed9:       89 45 fc                mov    %eax,-0x4(%ebp)
2526 40002edc:       83 7d fc ff             cmpl   $0xffffffff,-0x4(%ebp)
2527 40002ee0:       75 09                   jne    40002eeb <read+0x74>
2528 40002ee2:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
2529 40002ee9:       eb 3d                   jmp    40002f28 <read+0xb1>
2530 40002eeb:       8b 45 f4                mov    -0xc(%ebp),%eax
2531 40002eee:       2b 45 fc                sub    -0x4(%ebp),%eax
2532 40002ef1:       89 45 f4                mov    %eax,-0xc(%ebp)
2533 40002ef4:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
2534 40002ef8:       74 0c                   je     40002f06 <read+0x8f>
2535 40002efa:       8b 45 fc                mov    -0x4(%ebp),%eax
2536 40002efd:       01 45 f8                add    %eax,-0x8(%ebp)
2537 40002f00:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
2538 40002f04:       7f 9e                   jg     40002ea4 <read+0x2d>
2539 40002f06:       8b 45 f4                mov    -0xc(%ebp),%eax
2540 40002f09:       8b 55 10                mov    0x10(%ebp),%edx
2541 40002f0c:       89 d1                   mov    %edx,%ecx
2542 40002f0e:       29 c1                   sub    %eax,%ecx
2543 40002f10:       89 c8                   mov    %ecx,%eax
2544 40002f12:       89 45 ec                mov    %eax,-0x14(%ebp)
2545 40002f15:       eb 11                   jmp    40002f28 <read+0xb1>
2546 40002f17:       c7 05 10 1c 01 40 08    movl   $0x8,0x40011c10
2547 40002f1e:       00 00 00 
2548 40002f21:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
2549 40002f28:       8b 45 ec                mov    -0x14(%ebp),%eax
2550 40002f2b:       c9                      leave  
2551 40002f2c:       c3                      ret    
2553 40002f2d <_write>:
2554 40002f2d:       55                      push   %ebp
2555 40002f2e:       89 e5                   mov    %esp,%ebp
2556 40002f30:       53                      push   %ebx
2557 40002f31:       83 ec 24                sub    $0x24,%esp
2558 40002f34:       8b 45 08                mov    0x8(%ebp),%eax
2559 40002f37:       8b 50 20                mov    0x20(%eax),%edx
2560 40002f3a:       8b 45 10                mov    0x10(%ebp),%eax
2561 40002f3d:       89 44 24 08             mov    %eax,0x8(%esp)
2562 40002f41:       8b 45 0c                mov    0xc(%ebp),%eax
2563 40002f44:       89 44 24 04             mov    %eax,0x4(%esp)
2564 40002f48:       89 14 24                mov    %edx,(%esp)
2565 40002f4b:       e8 1c 77 00 00          call   4000a66c <memcpy>
2566 40002f50:       8b 45 08                mov    0x8(%ebp),%eax
2567 40002f53:       8b 00                   mov    (%eax),%eax
2568 40002f55:       8b 00                   mov    (%eax),%eax
2569 40002f57:       89 44 24 08             mov    %eax,0x8(%esp)
2570 40002f5b:       c7 44 24 04 ee e6 00    movl   $0x4000e6ee,0x4(%esp)
2571 40002f62:       40 
2572 40002f63:       8d 45 f4                lea    -0xc(%ebp),%eax
2573 40002f66:       89 04 24                mov    %eax,(%esp)
2574 40002f69:       e8 52 f1 ff ff          call   400020c0 <asprintf>
2575 40002f6e:       8b 45 08                mov    0x8(%ebp),%eax
2576 40002f71:       8b 48 04                mov    0x4(%eax),%ecx
2577 40002f74:       8b 45 08                mov    0x8(%ebp),%eax
2578 40002f77:       8b 00                   mov    (%eax),%eax
2579 40002f79:       8b 50 04                mov    0x4(%eax),%edx
2580 40002f7c:       8b 5d f4                mov    -0xc(%ebp),%ebx
2581 40002f7f:       8b 45 10                mov    0x10(%ebp),%eax
2582 40002f82:       89 44 24 10             mov    %eax,0x10(%esp)
2583 40002f86:       89 4c 24 0c             mov    %ecx,0xc(%esp)
2584 40002f8a:       89 54 24 08             mov    %edx,0x8(%esp)
2585 40002f8e:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
2586 40002f95:       00 
2587 40002f96:       89 1c 24                mov    %ebx,(%esp)
2588 40002f99:       e8 4d 94 00 00          call   4000c3eb <rpc_call>
2589 40002f9e:       89 45 f8                mov    %eax,-0x8(%ebp)
2590 40002fa1:       8b 45 f4                mov    -0xc(%ebp),%eax
2591 40002fa4:       89 04 24                mov    %eax,(%esp)
2592 40002fa7:       e8 df 49 00 00          call   4000798b <free>
2593 40002fac:       8b 45 f8                mov    -0x8(%ebp),%eax
2594 40002faf:       83 c4 24                add    $0x24,%esp
2595 40002fb2:       5b                      pop    %ebx
2596 40002fb3:       5d                      pop    %ebp
2597 40002fb4:       c3                      ret    
2599 40002fb5 <write>:
2600 40002fb5:       55                      push   %ebp
2601 40002fb6:       89 e5                   mov    %esp,%ebp
2602 40002fb8:       83 ec 28                sub    $0x28,%esp
2603 40002fbb:       8b 45 08                mov    0x8(%ebp),%eax
2604 40002fbe:       89 04 24                mov    %eax,(%esp)
2605 40002fc1:       e8 32 f5 ff ff          call   400024f8 <filebyfh>
2606 40002fc6:       89 45 f0                mov    %eax,-0x10(%ebp)
2607 40002fc9:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
2608 40002fcd:       0f 84 82 00 00 00       je     40003055 <write+0xa0>
2609 40002fd3:       8b 45 10                mov    0x10(%ebp),%eax
2610 40002fd6:       89 45 f4                mov    %eax,-0xc(%ebp)
2611 40002fd9:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
2612 40002fe0:       eb 5c                   jmp    4000303e <write+0x89>
2613 40002fe2:       8b 45 f4                mov    -0xc(%ebp),%eax
2614 40002fe5:       89 45 fc                mov    %eax,-0x4(%ebp)
2615 40002fe8:       81 7d fc 00 20 00 00    cmpl   $0x2000,-0x4(%ebp)
2616 40002fef:       76 07                   jbe    40002ff8 <write+0x43>
2617 40002ff1:       c7 45 fc 00 20 00 00    movl   $0x2000,-0x4(%ebp)
2618 40002ff8:       8b 55 f8                mov    -0x8(%ebp),%edx
2619 40002ffb:       8b 45 0c                mov    0xc(%ebp),%eax
2620 40002ffe:       8d 14 10                lea    (%eax,%edx,1),%edx
2621 40003001:       8b 45 fc                mov    -0x4(%ebp),%eax
2622 40003004:       89 44 24 08             mov    %eax,0x8(%esp)
2623 40003008:       89 54 24 04             mov    %edx,0x4(%esp)
2624 4000300c:       8b 45 f0                mov    -0x10(%ebp),%eax
2625 4000300f:       89 04 24                mov    %eax,(%esp)
2626 40003012:       e8 16 ff ff ff          call   40002f2d <_write>
2627 40003017:       89 45 fc                mov    %eax,-0x4(%ebp)
2628 4000301a:       83 7d fc ff             cmpl   $0xffffffff,-0x4(%ebp)
2629 4000301e:       75 09                   jne    40003029 <write+0x74>
2630 40003020:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
2631 40003027:       eb 3d                   jmp    40003066 <write+0xb1>
2632 40003029:       8b 45 f4                mov    -0xc(%ebp),%eax
2633 4000302c:       2b 45 fc                sub    -0x4(%ebp),%eax
2634 4000302f:       89 45 f4                mov    %eax,-0xc(%ebp)
2635 40003032:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
2636 40003036:       74 0c                   je     40003044 <write+0x8f>
2637 40003038:       8b 45 fc                mov    -0x4(%ebp),%eax
2638 4000303b:       01 45 f8                add    %eax,-0x8(%ebp)
2639 4000303e:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
2640 40003042:       7f 9e                   jg     40002fe2 <write+0x2d>
2641 40003044:       8b 45 f4                mov    -0xc(%ebp),%eax
2642 40003047:       8b 55 10                mov    0x10(%ebp),%edx
2643 4000304a:       89 d1                   mov    %edx,%ecx
2644 4000304c:       29 c1                   sub    %eax,%ecx
2645 4000304e:       89 c8                   mov    %ecx,%eax
2646 40003050:       89 45 ec                mov    %eax,-0x14(%ebp)
2647 40003053:       eb 11                   jmp    40003066 <write+0xb1>
2648 40003055:       c7 05 10 1c 01 40 08    movl   $0x8,0x40011c10
2649 4000305c:       00 00 00 
2650 4000305f:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
2651 40003066:       8b 45 ec                mov    -0x14(%ebp),%eax
2652 40003069:       c9                      leave  
2653 4000306a:       c3                      ret    
2655 4000306b <lseek>:
2656 4000306b:       55                      push   %ebp
2657 4000306c:       89 e5                   mov    %esp,%ebp
2658 4000306e:       53                      push   %ebx
2659 4000306f:       83 ec 34                sub    $0x34,%esp
2660 40003072:       8b 45 08                mov    0x8(%ebp),%eax
2661 40003075:       89 04 24                mov    %eax,(%esp)
2662 40003078:       e8 7b f4 ff ff          call   400024f8 <filebyfh>
2663 4000307d:       89 45 f8                mov    %eax,-0x8(%ebp)
2664 40003080:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
2665 40003084:       74 65                   je     400030eb <lseek+0x80>
2666 40003086:       8b 45 f8                mov    -0x8(%ebp),%eax
2667 40003089:       8b 00                   mov    (%eax),%eax
2668 4000308b:       8b 00                   mov    (%eax),%eax
2669 4000308d:       89 44 24 08             mov    %eax,0x8(%esp)
2670 40003091:       c7 44 24 04 fa e6 00    movl   $0x4000e6fa,0x4(%esp)
2671 40003098:       40 
2672 40003099:       8d 45 f0                lea    -0x10(%ebp),%eax
2673 4000309c:       89 04 24                mov    %eax,(%esp)
2674 4000309f:       e8 1c f0 ff ff          call   400020c0 <asprintf>
2675 400030a4:       8b 45 f8                mov    -0x8(%ebp),%eax
2676 400030a7:       8b 50 04                mov    0x4(%eax),%edx
2677 400030aa:       8b 45 f8                mov    -0x8(%ebp),%eax
2678 400030ad:       8b 00                   mov    (%eax),%eax
2679 400030af:       8b 48 04                mov    0x4(%eax),%ecx
2680 400030b2:       8b 5d f0                mov    -0x10(%ebp),%ebx
2681 400030b5:       8b 45 10                mov    0x10(%ebp),%eax
2682 400030b8:       89 44 24 14             mov    %eax,0x14(%esp)
2683 400030bc:       8b 45 0c                mov    0xc(%ebp),%eax
2684 400030bf:       89 44 24 10             mov    %eax,0x10(%esp)
2685 400030c3:       89 54 24 0c             mov    %edx,0xc(%esp)
2686 400030c7:       89 4c 24 08             mov    %ecx,0x8(%esp)
2687 400030cb:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
2688 400030d2:       00 
2689 400030d3:       89 1c 24                mov    %ebx,(%esp)
2690 400030d6:       e8 10 93 00 00          call   4000c3eb <rpc_call>
2691 400030db:       89 45 f4                mov    %eax,-0xc(%ebp)
2692 400030de:       8b 45 f0                mov    -0x10(%ebp),%eax
2693 400030e1:       89 04 24                mov    %eax,(%esp)
2694 400030e4:       e8 a2 48 00 00          call   4000798b <free>
2695 400030e9:       eb 07                   jmp    400030f2 <lseek+0x87>
2696 400030eb:       c7 45 f4 f8 ff ff ff    movl   $0xfffffff8,-0xc(%ebp)
2697 400030f2:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
2698 400030f6:       79 0c                   jns    40003104 <lseek+0x99>
2699 400030f8:       8b 45 f4                mov    -0xc(%ebp),%eax
2700 400030fb:       89 c2                   mov    %eax,%edx
2701 400030fd:       f7 da                   neg    %edx
2702 400030ff:       89 55 e8                mov    %edx,-0x18(%ebp)
2703 40003102:       eb 07                   jmp    4000310b <lseek+0xa0>
2704 40003104:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
2705 4000310b:       8b 45 e8                mov    -0x18(%ebp),%eax
2706 4000310e:       a3 10 1c 01 40          mov    %eax,0x40011c10
2707 40003113:       8b 45 f4                mov    -0xc(%ebp),%eax
2708 40003116:       c1 f8 1f                sar    $0x1f,%eax
2709 40003119:       0b 45 f4                or     -0xc(%ebp),%eax
2710 4000311c:       83 c4 34                add    $0x34,%esp
2711 4000311f:       5b                      pop    %ebx
2712 40003120:       5d                      pop    %ebp
2713 40003121:       c3                      ret    
2715 40003122 <unlink>:
2716 40003122:       55                      push   %ebp
2717 40003123:       89 e5                   mov    %esp,%ebp
2718 40003125:       83 ec 28                sub    $0x28,%esp
2719 40003128:       8b 45 08                mov    0x8(%ebp),%eax
2720 4000312b:       89 04 24                mov    %eax,(%esp)
2721 4000312e:       e8 0b f4 ff ff          call   4000253e <getabsolutepath>
2722 40003133:       89 45 f8                mov    %eax,-0x8(%ebp)
2723 40003136:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
2724 4000313d:       00 
2725 4000313e:       8b 45 f8                mov    -0x8(%ebp),%eax
2726 40003141:       89 04 24                mov    %eax,(%esp)
2727 40003144:       e8 e1 f1 ff ff          call   4000232a <fsbypath>
2728 40003149:       89 45 fc                mov    %eax,-0x4(%ebp)
2729 4000314c:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
2730 40003150:       74 50                   je     400031a2 <unlink+0x80>
2731 40003152:       8b 45 fc                mov    -0x4(%ebp),%eax
2732 40003155:       8b 00                   mov    (%eax),%eax
2733 40003157:       89 44 24 08             mov    %eax,0x8(%esp)
2734 4000315b:       c7 44 24 04 05 e7 00    movl   $0x4000e705,0x4(%esp)
2735 40003162:       40 
2736 40003163:       8d 45 f0                lea    -0x10(%ebp),%eax
2737 40003166:       89 04 24                mov    %eax,(%esp)
2738 40003169:       e8 52 ef ff ff          call   400020c0 <asprintf>
2739 4000316e:       8b 45 fc                mov    -0x4(%ebp),%eax
2740 40003171:       8b 50 04                mov    0x4(%eax),%edx
2741 40003174:       8b 4d f0                mov    -0x10(%ebp),%ecx
2742 40003177:       8b 45 f8                mov    -0x8(%ebp),%eax
2743 4000317a:       89 44 24 0c             mov    %eax,0xc(%esp)
2744 4000317e:       89 54 24 08             mov    %edx,0x8(%esp)
2745 40003182:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
2746 40003189:       00 
2747 4000318a:       89 0c 24                mov    %ecx,(%esp)
2748 4000318d:       e8 59 92 00 00          call   4000c3eb <rpc_call>
2749 40003192:       89 45 f4                mov    %eax,-0xc(%ebp)
2750 40003195:       8b 45 f0                mov    -0x10(%ebp),%eax
2751 40003198:       89 04 24                mov    %eax,(%esp)
2752 4000319b:       e8 eb 47 00 00          call   4000798b <free>
2753 400031a0:       eb 07                   jmp    400031a9 <unlink+0x87>
2754 400031a2:       c7 45 f4 e4 ff ff ff    movl   $0xffffffe4,-0xc(%ebp)
2755 400031a9:       8b 45 f8                mov    -0x8(%ebp),%eax
2756 400031ac:       89 04 24                mov    %eax,(%esp)
2757 400031af:       e8 d7 47 00 00          call   4000798b <free>
2758 400031b4:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
2759 400031b8:       79 0c                   jns    400031c6 <unlink+0xa4>
2760 400031ba:       8b 45 f4                mov    -0xc(%ebp),%eax
2761 400031bd:       89 c2                   mov    %eax,%edx
2762 400031bf:       f7 da                   neg    %edx
2763 400031c1:       89 55 ec                mov    %edx,-0x14(%ebp)
2764 400031c4:       eb 07                   jmp    400031cd <unlink+0xab>
2765 400031c6:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
2766 400031cd:       8b 45 ec                mov    -0x14(%ebp),%eax
2767 400031d0:       a3 10 1c 01 40          mov    %eax,0x40011c10
2768 400031d5:       8b 45 f4                mov    -0xc(%ebp),%eax
2769 400031d8:       c1 f8 1f                sar    $0x1f,%eax
2770 400031db:       0b 45 f4                or     -0xc(%ebp),%eax
2771 400031de:       c9                      leave  
2772 400031df:       c3                      ret    
2774 400031e0 <rmdir>:
2775 400031e0:       55                      push   %ebp
2776 400031e1:       89 e5                   mov    %esp,%ebp
2777 400031e3:       83 ec 28                sub    $0x28,%esp
2778 400031e6:       8b 45 08                mov    0x8(%ebp),%eax
2779 400031e9:       89 04 24                mov    %eax,(%esp)
2780 400031ec:       e8 4d f3 ff ff          call   4000253e <getabsolutepath>
2781 400031f1:       89 45 f8                mov    %eax,-0x8(%ebp)
2782 400031f4:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
2783 400031fb:       00 
2784 400031fc:       8b 45 f8                mov    -0x8(%ebp),%eax
2785 400031ff:       89 04 24                mov    %eax,(%esp)
2786 40003202:       e8 23 f1 ff ff          call   4000232a <fsbypath>
2787 40003207:       89 45 fc                mov    %eax,-0x4(%ebp)
2788 4000320a:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
2789 4000320e:       74 50                   je     40003260 <rmdir+0x80>
2790 40003210:       8b 45 fc                mov    -0x4(%ebp),%eax
2791 40003213:       8b 00                   mov    (%eax),%eax
2792 40003215:       89 44 24 08             mov    %eax,0x8(%esp)
2793 40003219:       c7 44 24 04 12 e7 00    movl   $0x4000e712,0x4(%esp)
2794 40003220:       40 
2795 40003221:       8d 45 f0                lea    -0x10(%ebp),%eax
2796 40003224:       89 04 24                mov    %eax,(%esp)
2797 40003227:       e8 94 ee ff ff          call   400020c0 <asprintf>
2798 4000322c:       8b 45 fc                mov    -0x4(%ebp),%eax
2799 4000322f:       8b 50 04                mov    0x4(%eax),%edx
2800 40003232:       8b 4d f0                mov    -0x10(%ebp),%ecx
2801 40003235:       8b 45 f8                mov    -0x8(%ebp),%eax
2802 40003238:       89 44 24 0c             mov    %eax,0xc(%esp)
2803 4000323c:       89 54 24 08             mov    %edx,0x8(%esp)
2804 40003240:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
2805 40003247:       00 
2806 40003248:       89 0c 24                mov    %ecx,(%esp)
2807 4000324b:       e8 9b 91 00 00          call   4000c3eb <rpc_call>
2808 40003250:       89 45 f4                mov    %eax,-0xc(%ebp)
2809 40003253:       8b 45 f0                mov    -0x10(%ebp),%eax
2810 40003256:       89 04 24                mov    %eax,(%esp)
2811 40003259:       e8 2d 47 00 00          call   4000798b <free>
2812 4000325e:       eb 07                   jmp    40003267 <rmdir+0x87>
2813 40003260:       c7 45 f4 e4 ff ff ff    movl   $0xffffffe4,-0xc(%ebp)
2814 40003267:       8b 45 f8                mov    -0x8(%ebp),%eax
2815 4000326a:       89 04 24                mov    %eax,(%esp)
2816 4000326d:       e8 19 47 00 00          call   4000798b <free>
2817 40003272:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
2818 40003276:       79 0c                   jns    40003284 <rmdir+0xa4>
2819 40003278:       8b 45 f4                mov    -0xc(%ebp),%eax
2820 4000327b:       89 c2                   mov    %eax,%edx
2821 4000327d:       f7 da                   neg    %edx
2822 4000327f:       89 55 ec                mov    %edx,-0x14(%ebp)
2823 40003282:       eb 07                   jmp    4000328b <rmdir+0xab>
2824 40003284:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
2825 4000328b:       8b 45 ec                mov    -0x14(%ebp),%eax
2826 4000328e:       a3 10 1c 01 40          mov    %eax,0x40011c10
2827 40003293:       8b 45 f4                mov    -0xc(%ebp),%eax
2828 40003296:       c1 f8 1f                sar    $0x1f,%eax
2829 40003299:       0b 45 f4                or     -0xc(%ebp),%eax
2830 4000329c:       c9                      leave  
2831 4000329d:       c3                      ret    
2833 4000329e <rename>:
2834 4000329e:       55                      push   %ebp
2835 4000329f:       89 e5                   mov    %esp,%ebp
2836 400032a1:       83 ec 38                sub    $0x38,%esp
2837 400032a4:       8b 45 08                mov    0x8(%ebp),%eax
2838 400032a7:       89 04 24                mov    %eax,(%esp)
2839 400032aa:       e8 8f f2 ff ff          call   4000253e <getabsolutepath>
2840 400032af:       89 45 f0                mov    %eax,-0x10(%ebp)
2841 400032b2:       8b 45 0c                mov    0xc(%ebp),%eax
2842 400032b5:       89 04 24                mov    %eax,(%esp)
2843 400032b8:       e8 81 f2 ff ff          call   4000253e <getabsolutepath>
2844 400032bd:       89 45 f4                mov    %eax,-0xc(%ebp)
2845 400032c0:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
2846 400032c7:       00 
2847 400032c8:       8b 45 f0                mov    -0x10(%ebp),%eax
2848 400032cb:       89 04 24                mov    %eax,(%esp)
2849 400032ce:       e8 57 f0 ff ff          call   4000232a <fsbypath>
2850 400032d3:       89 45 f8                mov    %eax,-0x8(%ebp)
2851 400032d6:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
2852 400032dd:       00 
2853 400032de:       8b 45 f4                mov    -0xc(%ebp),%eax
2854 400032e1:       89 04 24                mov    %eax,(%esp)
2855 400032e4:       e8 41 f0 ff ff          call   4000232a <fsbypath>
2856 400032e9:       89 45 fc                mov    %eax,-0x4(%ebp)
2857 400032ec:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
2858 400032f0:       74 5f                   je     40003351 <rename+0xb3>
2859 400032f2:       8b 45 f8                mov    -0x8(%ebp),%eax
2860 400032f5:       3b 45 fc                cmp    -0x4(%ebp),%eax
2861 400032f8:       75 57                   jne    40003351 <rename+0xb3>
2862 400032fa:       8b 45 f8                mov    -0x8(%ebp),%eax
2863 400032fd:       8b 00                   mov    (%eax),%eax
2864 400032ff:       89 44 24 08             mov    %eax,0x8(%esp)
2865 40003303:       c7 44 24 04 1e e7 00    movl   $0x4000e71e,0x4(%esp)
2866 4000330a:       40 
2867 4000330b:       8d 45 e8                lea    -0x18(%ebp),%eax
2868 4000330e:       89 04 24                mov    %eax,(%esp)
2869 40003311:       e8 aa ed ff ff          call   400020c0 <asprintf>
2870 40003316:       8b 45 f8                mov    -0x8(%ebp),%eax
2871 40003319:       8b 50 04                mov    0x4(%eax),%edx
2872 4000331c:       8b 4d e8                mov    -0x18(%ebp),%ecx
2873 4000331f:       8b 45 0c                mov    0xc(%ebp),%eax
2874 40003322:       89 44 24 10             mov    %eax,0x10(%esp)
2875 40003326:       8b 45 08                mov    0x8(%ebp),%eax
2876 40003329:       89 44 24 0c             mov    %eax,0xc(%esp)
2877 4000332d:       89 54 24 08             mov    %edx,0x8(%esp)
2878 40003331:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
2879 40003338:       00 
2880 40003339:       89 0c 24                mov    %ecx,(%esp)
2881 4000333c:       e8 aa 90 00 00          call   4000c3eb <rpc_call>
2882 40003341:       89 45 ec                mov    %eax,-0x14(%ebp)
2883 40003344:       8b 45 e8                mov    -0x18(%ebp),%eax
2884 40003347:       89 04 24                mov    %eax,(%esp)
2885 4000334a:       e8 3c 46 00 00          call   4000798b <free>
2886 4000334f:       eb 07                   jmp    40003358 <rename+0xba>
2887 40003351:       c7 45 ec e4 ff ff ff    movl   $0xffffffe4,-0x14(%ebp)
2888 40003358:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
2889 4000335c:       79 0c                   jns    4000336a <rename+0xcc>
2890 4000335e:       8b 45 ec                mov    -0x14(%ebp),%eax
2891 40003361:       89 c2                   mov    %eax,%edx
2892 40003363:       f7 da                   neg    %edx
2893 40003365:       89 55 dc                mov    %edx,-0x24(%ebp)
2894 40003368:       eb 07                   jmp    40003371 <rename+0xd3>
2895 4000336a:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
2896 40003371:       8b 45 dc                mov    -0x24(%ebp),%eax
2897 40003374:       a3 10 1c 01 40          mov    %eax,0x40011c10
2898 40003379:       8b 45 ec                mov    -0x14(%ebp),%eax
2899 4000337c:       c1 f8 1f                sar    $0x1f,%eax
2900 4000337f:       0b 45 ec                or     -0x14(%ebp),%eax
2901 40003382:       c9                      leave  
2902 40003383:       c3                      ret    
2904 40003384 <truncate>:
2905 40003384:       55                      push   %ebp
2906 40003385:       89 e5                   mov    %esp,%ebp
2907 40003387:       83 ec 18                sub    $0x18,%esp
2908 4000338a:       c7 45 fc ff ff ff ff    movl   $0xffffffff,-0x4(%ebp)
2909 40003391:       c7 44 24 04 02 00 00    movl   $0x2,0x4(%esp)
2910 40003398:       00 
2911 40003399:       8b 45 08                mov    0x8(%ebp),%eax
2912 4000339c:       89 04 24                mov    %eax,(%esp)
2913 4000339f:       e8 5d f5 ff ff          call   40002901 <open>
2914 400033a4:       89 45 f8                mov    %eax,-0x8(%ebp)
2915 400033a7:       83 7d f8 ff             cmpl   $0xffffffff,-0x8(%ebp)
2916 400033ab:       74 29                   je     400033d6 <truncate+0x52>
2917 400033ad:       8b 45 0c                mov    0xc(%ebp),%eax
2918 400033b0:       89 44 24 04             mov    %eax,0x4(%esp)
2919 400033b4:       8b 45 f8                mov    -0x8(%ebp),%eax
2920 400033b7:       89 04 24                mov    %eax,(%esp)
2921 400033ba:       e8 1c 00 00 00          call   400033db <ftruncate>
2922 400033bf:       83 f8 ff                cmp    $0xffffffff,%eax
2923 400033c2:       74 07                   je     400033cb <truncate+0x47>
2924 400033c4:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
2925 400033cb:       8b 45 f8                mov    -0x8(%ebp),%eax
2926 400033ce:       89 04 24                mov    %eax,(%esp)
2927 400033d1:       e8 ae f7 ff ff          call   40002b84 <close>
2928 400033d6:       8b 45 fc                mov    -0x4(%ebp),%eax
2929 400033d9:       c9                      leave  
2930 400033da:       c3                      ret    
2932 400033db <ftruncate>:
2933 400033db:       55                      push   %ebp
2934 400033dc:       89 e5                   mov    %esp,%ebp
2935 400033de:       53                      push   %ebx
2936 400033df:       83 ec 34                sub    $0x34,%esp
2937 400033e2:       8b 45 08                mov    0x8(%ebp),%eax
2938 400033e5:       89 04 24                mov    %eax,(%esp)
2939 400033e8:       e8 0b f1 ff ff          call   400024f8 <filebyfh>
2940 400033ed:       89 45 f8                mov    %eax,-0x8(%ebp)
2941 400033f0:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
2942 400033f4:       74 5e                   je     40003454 <ftruncate+0x79>
2943 400033f6:       8b 45 f8                mov    -0x8(%ebp),%eax
2944 400033f9:       8b 00                   mov    (%eax),%eax
2945 400033fb:       8b 00                   mov    (%eax),%eax
2946 400033fd:       89 44 24 08             mov    %eax,0x8(%esp)
2947 40003401:       c7 44 24 04 2b e7 00    movl   $0x4000e72b,0x4(%esp)
2948 40003408:       40 
2949 40003409:       8d 45 f0                lea    -0x10(%ebp),%eax
2950 4000340c:       89 04 24                mov    %eax,(%esp)
2951 4000340f:       e8 ac ec ff ff          call   400020c0 <asprintf>
2952 40003414:       8b 45 f8                mov    -0x8(%ebp),%eax
2953 40003417:       8b 48 04                mov    0x4(%eax),%ecx
2954 4000341a:       8b 45 f8                mov    -0x8(%ebp),%eax
2955 4000341d:       8b 00                   mov    (%eax),%eax
2956 4000341f:       8b 50 04                mov    0x4(%eax),%edx
2957 40003422:       8b 5d f0                mov    -0x10(%ebp),%ebx
2958 40003425:       8b 45 0c                mov    0xc(%ebp),%eax
2959 40003428:       89 44 24 10             mov    %eax,0x10(%esp)
2960 4000342c:       89 4c 24 0c             mov    %ecx,0xc(%esp)
2961 40003430:       89 54 24 08             mov    %edx,0x8(%esp)
2962 40003434:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
2963 4000343b:       00 
2964 4000343c:       89 1c 24                mov    %ebx,(%esp)
2965 4000343f:       e8 a7 8f 00 00          call   4000c3eb <rpc_call>
2966 40003444:       89 45 f4                mov    %eax,-0xc(%ebp)
2967 40003447:       8b 45 f0                mov    -0x10(%ebp),%eax
2968 4000344a:       89 04 24                mov    %eax,(%esp)
2969 4000344d:       e8 39 45 00 00          call   4000798b <free>
2970 40003452:       eb 07                   jmp    4000345b <ftruncate+0x80>
2971 40003454:       c7 45 f4 f8 ff ff ff    movl   $0xfffffff8,-0xc(%ebp)
2972 4000345b:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
2973 4000345f:       79 0c                   jns    4000346d <ftruncate+0x92>
2974 40003461:       8b 45 f4                mov    -0xc(%ebp),%eax
2975 40003464:       89 c2                   mov    %eax,%edx
2976 40003466:       f7 da                   neg    %edx
2977 40003468:       89 55 e8                mov    %edx,-0x18(%ebp)
2978 4000346b:       eb 07                   jmp    40003474 <ftruncate+0x99>
2979 4000346d:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
2980 40003474:       8b 45 e8                mov    -0x18(%ebp),%eax
2981 40003477:       a3 10 1c 01 40          mov    %eax,0x40011c10
2982 4000347c:       8b 45 f4                mov    -0xc(%ebp),%eax
2983 4000347f:       c1 f8 1f                sar    $0x1f,%eax
2984 40003482:       0b 45 f4                or     -0xc(%ebp),%eax
2985 40003485:       83 c4 34                add    $0x34,%esp
2986 40003488:       5b                      pop    %ebx
2987 40003489:       5d                      pop    %ebp
2988 4000348a:       c3                      ret    
2990 4000348b <opendir>:
2991 4000348b:       55                      push   %ebp
2992 4000348c:       89 e5                   mov    %esp,%ebp
2993 4000348e:       83 ec 38                sub    $0x38,%esp
2994 40003491:       8b 45 08                mov    0x8(%ebp),%eax
2995 40003494:       89 04 24                mov    %eax,(%esp)
2996 40003497:       e8 a2 f0 ff ff          call   4000253e <getabsolutepath>
2997 4000349c:       89 45 f0                mov    %eax,-0x10(%ebp)
2998 4000349f:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
2999 400034a6:       00 
3000 400034a7:       8b 45 f0                mov    -0x10(%ebp),%eax
3001 400034aa:       89 04 24                mov    %eax,(%esp)
3002 400034ad:       e8 78 ee ff ff          call   4000232a <fsbypath>
3003 400034b2:       89 45 f4                mov    %eax,-0xc(%ebp)
3004 400034b5:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
3005 400034b9:       0f 84 58 01 00 00       je     40003617 <opendir+0x18c>
3006 400034bf:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
3007 400034c6:       00 
3008 400034c7:       c7 44 24 04 00 20 00    movl   $0x2000,0x4(%esp)
3009 400034ce:       00 
3010 400034cf:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
3011 400034d6:       e8 f1 56 00 00          call   40008bcc <shmget>
3012 400034db:       89 45 fc                mov    %eax,-0x4(%ebp)
3013 400034de:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
3014 400034e5:       00 
3015 400034e6:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
3016 400034ed:       00 
3017 400034ee:       8b 45 fc                mov    -0x4(%ebp),%eax
3018 400034f1:       89 04 24                mov    %eax,(%esp)
3019 400034f4:       e8 8f 57 00 00          call   40008c88 <shmat>
3020 400034f9:       89 45 ec                mov    %eax,-0x14(%ebp)
3021 400034fc:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
3022 40003500:       0f 84 05 01 00 00       je     4000360b <opendir+0x180>
3023 40003506:       8b 55 ec                mov    -0x14(%ebp),%edx
3024 40003509:       c7 44 24 08 00 20 00    movl   $0x2000,0x8(%esp)
3025 40003510:       00 
3026 40003511:       8b 45 f0                mov    -0x10(%ebp),%eax
3027 40003514:       89 44 24 04             mov    %eax,0x4(%esp)
3028 40003518:       89 14 24                mov    %edx,(%esp)
3029 4000351b:       e8 44 76 00 00          call   4000ab64 <strncpy>
3030 40003520:       8b 45 f4                mov    -0xc(%ebp),%eax
3031 40003523:       8b 00                   mov    (%eax),%eax
3032 40003525:       89 44 24 08             mov    %eax,0x8(%esp)
3033 40003529:       c7 44 24 04 3b e7 00    movl   $0x4000e73b,0x4(%esp)
3034 40003530:       40 
3035 40003531:       8d 45 e0                lea    -0x20(%ebp),%eax
3036 40003534:       89 04 24                mov    %eax,(%esp)
3037 40003537:       e8 84 eb ff ff          call   400020c0 <asprintf>
3038 4000353c:       8b 45 f4                mov    -0xc(%ebp),%eax
3039 4000353f:       8b 50 04                mov    0x4(%eax),%edx
3040 40003542:       8b 4d e0                mov    -0x20(%ebp),%ecx
3041 40003545:       8b 45 fc                mov    -0x4(%ebp),%eax
3042 40003548:       89 44 24 0c             mov    %eax,0xc(%esp)
3043 4000354c:       89 54 24 08             mov    %edx,0x8(%esp)
3044 40003550:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
3045 40003557:       00 
3046 40003558:       89 0c 24                mov    %ecx,(%esp)
3047 4000355b:       e8 8b 8e 00 00          call   4000c3eb <rpc_call>
3048 40003560:       89 45 e4                mov    %eax,-0x1c(%ebp)
3049 40003563:       8b 45 e0                mov    -0x20(%ebp),%eax
3050 40003566:       89 04 24                mov    %eax,(%esp)
3051 40003569:       e8 1d 44 00 00          call   4000798b <free>
3052 4000356e:       83 7d e4 00             cmpl   $0x0,-0x1c(%ebp)
3053 40003572:       0f 88 8b 00 00 00       js     40003603 <opendir+0x178>
3054 40003578:       c7 04 24 28 00 00 00    movl   $0x28,(%esp)
3055 4000357f:       e8 50 3f 00 00          call   400074d4 <malloc>
3056 40003584:       89 45 f8                mov    %eax,-0x8(%ebp)
3057 40003587:       8b 55 f8                mov    -0x8(%ebp),%edx
3058 4000358a:       8b 45 e4                mov    -0x1c(%ebp),%eax
3059 4000358d:       89 42 04                mov    %eax,0x4(%edx)
3060 40003590:       8b 55 f8                mov    -0x8(%ebp),%edx
3061 40003593:       8b 45 f4                mov    -0xc(%ebp),%eax
3062 40003596:       89 02                   mov    %eax,(%edx)
3063 40003598:       8b 45 f8                mov    -0x8(%ebp),%eax
3064 4000359b:       c7 40 10 00 00 00 00    movl   $0x0,0x10(%eax)
3065 400035a2:       8b 45 f8                mov    -0x8(%ebp),%eax
3066 400035a5:       c7 40 0c 00 40 00 00    movl   $0x4000,0xc(%eax)
3067 400035ac:       8b 45 f8                mov    -0x8(%ebp),%eax
3068 400035af:       c7 40 14 00 00 00 00    movl   $0x0,0x14(%eax)
3069 400035b6:       8b 45 f0                mov    -0x10(%ebp),%eax
3070 400035b9:       89 04 24                mov    %eax,(%esp)
3071 400035bc:       e8 18 74 00 00          call   4000a9d9 <strdup>
3072 400035c1:       89 c2                   mov    %eax,%edx
3073 400035c3:       8b 45 f8                mov    -0x8(%ebp),%eax
3074 400035c6:       89 50 18                mov    %edx,0x18(%eax)
3075 400035c9:       8b 55 f8                mov    -0x8(%ebp),%edx
3076 400035cc:       8b 45 fc                mov    -0x4(%ebp),%eax
3077 400035cf:       89 42 1c                mov    %eax,0x1c(%edx)
3078 400035d2:       8b 55 f8                mov    -0x8(%ebp),%edx
3079 400035d5:       8b 45 ec                mov    -0x14(%ebp),%eax
3080 400035d8:       89 42 20                mov    %eax,0x20(%edx)
3081 400035db:       8b 45 f8                mov    -0x8(%ebp),%eax
3082 400035de:       c7 40 08 00 00 00 00    movl   $0x0,0x8(%eax)
3083 400035e5:       8b 15 24 05 01 40       mov    0x40010524,%edx
3084 400035eb:       8b 45 f8                mov    -0x8(%ebp),%eax
3085 400035ee:       89 44 24 04             mov    %eax,0x4(%esp)
3086 400035f2:       89 14 24                mov    %edx,(%esp)
3087 400035f5:       e8 e5 7a 00 00          call   4000b0df <llist_push>
3088 400035fa:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
3089 40003601:       eb 1b                   jmp    4000361e <opendir+0x193>
3090 40003603:       8b 45 e4                mov    -0x1c(%ebp),%eax
3091 40003606:       89 45 e8                mov    %eax,-0x18(%ebp)
3092 40003609:       eb 13                   jmp    4000361e <opendir+0x193>
3093 4000360b:       a1 10 1c 01 40          mov    0x40011c10,%eax
3094 40003610:       f7 d8                   neg    %eax
3095 40003612:       89 45 e8                mov    %eax,-0x18(%ebp)
3096 40003615:       eb 07                   jmp    4000361e <opendir+0x193>
3097 40003617:       c7 45 e8 d3 ff ff ff    movl   $0xffffffd3,-0x18(%ebp)
3098 4000361e:       8b 45 f0                mov    -0x10(%ebp),%eax
3099 40003621:       89 04 24                mov    %eax,(%esp)
3100 40003624:       e8 62 43 00 00          call   4000798b <free>
3101 40003629:       83 7d e8 00             cmpl   $0x0,-0x18(%ebp)
3102 4000362d:       79 0c                   jns    4000363b <opendir+0x1b0>
3103 4000362f:       8b 45 e8                mov    -0x18(%ebp),%eax
3104 40003632:       89 c2                   mov    %eax,%edx
3105 40003634:       f7 da                   neg    %edx
3106 40003636:       89 55 d8                mov    %edx,-0x28(%ebp)
3107 40003639:       eb 07                   jmp    40003642 <opendir+0x1b7>
3108 4000363b:       c7 45 d8 00 00 00 00    movl   $0x0,-0x28(%ebp)
3109 40003642:       8b 45 d8                mov    -0x28(%ebp),%eax
3110 40003645:       a3 10 1c 01 40          mov    %eax,0x40011c10
3111 4000364a:       83 7d e8 00             cmpl   $0x0,-0x18(%ebp)
3112 4000364e:       78 08                   js     40003658 <opendir+0x1cd>
3113 40003650:       8b 55 f8                mov    -0x8(%ebp),%edx
3114 40003653:       89 55 dc                mov    %edx,-0x24(%ebp)
3115 40003656:       eb 07                   jmp    4000365f <opendir+0x1d4>
3116 40003658:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
3117 4000365f:       8b 45 dc                mov    -0x24(%ebp),%eax
3118 40003662:       c9                      leave  
3119 40003663:       c3                      ret    
3121 40003664 <closedir>:
3122 40003664:       55                      push   %ebp
3123 40003665:       89 e5                   mov    %esp,%ebp
3124 40003667:       83 ec 28                sub    $0x28,%esp
3125 4000366a:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
3126 4000366e:       0f 84 c9 00 00 00       je     4000373d <closedir+0xd9>
3127 40003674:       8b 45 08                mov    0x8(%ebp),%eax
3128 40003677:       8b 00                   mov    (%eax),%eax
3129 40003679:       8b 00                   mov    (%eax),%eax
3130 4000367b:       89 44 24 08             mov    %eax,0x8(%esp)
3131 4000367f:       c7 44 24 04 49 e7 00    movl   $0x4000e749,0x4(%esp)
3132 40003686:       40 
3133 40003687:       8d 45 f8                lea    -0x8(%ebp),%eax
3134 4000368a:       89 04 24                mov    %eax,(%esp)
3135 4000368d:       e8 2e ea ff ff          call   400020c0 <asprintf>
3136 40003692:       8b 45 08                mov    0x8(%ebp),%eax
3137 40003695:       8b 50 04                mov    0x4(%eax),%edx
3138 40003698:       8b 45 08                mov    0x8(%ebp),%eax
3139 4000369b:       8b 00                   mov    (%eax),%eax
3140 4000369d:       8b 40 04                mov    0x4(%eax),%eax
3141 400036a0:       8b 4d f8                mov    -0x8(%ebp),%ecx
3142 400036a3:       89 54 24 0c             mov    %edx,0xc(%esp)
3143 400036a7:       89 44 24 08             mov    %eax,0x8(%esp)
3144 400036ab:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
3145 400036b2:       00 
3146 400036b3:       89 0c 24                mov    %ecx,(%esp)
3147 400036b6:       e8 30 8d 00 00          call   4000c3eb <rpc_call>
3148 400036bb:       89 45 fc                mov    %eax,-0x4(%ebp)
3149 400036be:       8b 45 f8                mov    -0x8(%ebp),%eax
3150 400036c1:       89 04 24                mov    %eax,(%esp)
3151 400036c4:       e8 c2 42 00 00          call   4000798b <free>
3152 400036c9:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
3153 400036cd:       75 75                   jne    40003744 <closedir+0xe0>
3154 400036cf:       8b 45 08                mov    0x8(%ebp),%eax
3155 400036d2:       8b 40 20                mov    0x20(%eax),%eax
3156 400036d5:       89 04 24                mov    %eax,(%esp)
3157 400036d8:       e8 2e 56 00 00          call   40008d0b <shmdt>
3158 400036dd:       8b 45 08                mov    0x8(%ebp),%eax
3159 400036e0:       8b 40 1c                mov    0x1c(%eax),%eax
3160 400036e3:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
3161 400036ea:       00 
3162 400036eb:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
3163 400036f2:       00 
3164 400036f3:       89 04 24                mov    %eax,(%esp)
3165 400036f6:       e8 80 56 00 00          call   40008d7b <shmctl>
3166 400036fb:       8b 45 08                mov    0x8(%ebp),%eax
3167 400036fe:       8b 40 18                mov    0x18(%eax),%eax
3168 40003701:       89 04 24                mov    %eax,(%esp)
3169 40003704:       e8 82 42 00 00          call   4000798b <free>
3170 40003709:       8b 45 08                mov    0x8(%ebp),%eax
3171 4000370c:       89 04 24                mov    %eax,(%esp)
3172 4000370f:       e8 77 42 00 00          call   4000798b <free>
3173 40003714:       8b 15 24 05 01 40       mov    0x40010524,%edx
3174 4000371a:       8b 45 08                mov    0x8(%ebp),%eax
3175 4000371d:       89 44 24 04             mov    %eax,0x4(%esp)
3176 40003721:       89 14 24                mov    %edx,(%esp)
3177 40003724:       e8 88 7c 00 00          call   4000b3b1 <llist_find>
3178 40003729:       8b 15 24 05 01 40       mov    0x40010524,%edx
3179 4000372f:       89 44 24 04             mov    %eax,0x4(%esp)
3180 40003733:       89 14 24                mov    %edx,(%esp)
3181 40003736:       e8 ae 7b 00 00          call   4000b2e9 <llist_remove>
3182 4000373b:       eb 07                   jmp    40003744 <closedir+0xe0>
3183 4000373d:       c7 45 fc f8 ff ff ff    movl   $0xfffffff8,-0x4(%ebp)
3184 40003744:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
3185 40003748:       79 0c                   jns    40003756 <closedir+0xf2>
3186 4000374a:       8b 45 fc                mov    -0x4(%ebp),%eax
3187 4000374d:       89 c2                   mov    %eax,%edx
3188 4000374f:       f7 da                   neg    %edx
3189 40003751:       89 55 ec                mov    %edx,-0x14(%ebp)
3190 40003754:       eb 07                   jmp    4000375d <closedir+0xf9>
3191 40003756:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
3192 4000375d:       8b 45 ec                mov    -0x14(%ebp),%eax
3193 40003760:       a3 10 1c 01 40          mov    %eax,0x40011c10
3194 40003765:       8b 45 fc                mov    -0x4(%ebp),%eax
3195 40003768:       c1 f8 1f                sar    $0x1f,%eax
3196 4000376b:       0b 45 fc                or     -0x4(%ebp),%eax
3197 4000376e:       c9                      leave  
3198 4000376f:       c3                      ret    
3200 40003770 <readdir>:
3201 40003770:       55                      push   %ebp
3202 40003771:       89 e5                   mov    %esp,%ebp
3203 40003773:       83 ec 28                sub    $0x28,%esp
3204 40003776:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
3205 4000377a:       0f 84 8b 00 00 00       je     4000380b <readdir+0x9b>
3206 40003780:       8b 45 08                mov    0x8(%ebp),%eax
3207 40003783:       8b 00                   mov    (%eax),%eax
3208 40003785:       8b 00                   mov    (%eax),%eax
3209 40003787:       89 44 24 08             mov    %eax,0x8(%esp)
3210 4000378b:       c7 44 24 04 58 e7 00    movl   $0x4000e758,0x4(%esp)
3211 40003792:       40 
3212 40003793:       8d 45 f8                lea    -0x8(%ebp),%eax
3213 40003796:       89 04 24                mov    %eax,(%esp)
3214 40003799:       e8 22 e9 ff ff          call   400020c0 <asprintf>
3215 4000379e:       8b 45 08                mov    0x8(%ebp),%eax
3216 400037a1:       8b 50 04                mov    0x4(%eax),%edx
3217 400037a4:       8b 45 08                mov    0x8(%ebp),%eax
3218 400037a7:       8b 00                   mov    (%eax),%eax
3219 400037a9:       8b 40 04                mov    0x4(%eax),%eax
3220 400037ac:       8b 4d f8                mov    -0x8(%ebp),%ecx
3221 400037af:       89 54 24 0c             mov    %edx,0xc(%esp)
3222 400037b3:       89 44 24 08             mov    %eax,0x8(%esp)
3223 400037b7:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
3224 400037be:       00 
3225 400037bf:       89 0c 24                mov    %ecx,(%esp)
3226 400037c2:       e8 24 8c 00 00          call   4000c3eb <rpc_call>
3227 400037c7:       89 45 fc                mov    %eax,-0x4(%ebp)
3228 400037ca:       8b 45 f8                mov    -0x8(%ebp),%eax
3229 400037cd:       89 04 24                mov    %eax,(%esp)
3230 400037d0:       e8 b6 41 00 00          call   4000798b <free>
3231 400037d5:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
3232 400037d9:       78 37                   js     40003812 <readdir+0xa2>
3233 400037db:       8b 45 08                mov    0x8(%ebp),%eax
3234 400037de:       8b 40 08                mov    0x8(%eax),%eax
3235 400037e1:       85 c0                   test   %eax,%eax
3236 400037e3:       74 0e                   je     400037f3 <readdir+0x83>
3237 400037e5:       8b 45 08                mov    0x8(%ebp),%eax
3238 400037e8:       8b 40 08                mov    0x8(%eax),%eax
3239 400037eb:       89 04 24                mov    %eax,(%esp)
3240 400037ee:       e8 98 41 00 00          call   4000798b <free>
3241 400037f3:       8b 45 08                mov    0x8(%ebp),%eax
3242 400037f6:       8b 40 20                mov    0x20(%eax),%eax
3243 400037f9:       89 04 24                mov    %eax,(%esp)
3244 400037fc:       e8 d8 71 00 00          call   4000a9d9 <strdup>
3245 40003801:       89 c2                   mov    %eax,%edx
3246 40003803:       8b 45 08                mov    0x8(%ebp),%eax
3247 40003806:       89 50 08                mov    %edx,0x8(%eax)
3248 40003809:       eb 07                   jmp    40003812 <readdir+0xa2>
3249 4000380b:       c7 45 fc f8 ff ff ff    movl   $0xfffffff8,-0x4(%ebp)
3250 40003812:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
3251 40003816:       79 12                   jns    4000382a <readdir+0xba>
3252 40003818:       83 7d fc d3             cmpl   $0xffffffd3,-0x4(%ebp)
3253 4000381c:       74 0c                   je     4000382a <readdir+0xba>
3254 4000381e:       8b 45 fc                mov    -0x4(%ebp),%eax
3255 40003821:       89 c2                   mov    %eax,%edx
3256 40003823:       f7 da                   neg    %edx
3257 40003825:       89 55 e8                mov    %edx,-0x18(%ebp)
3258 40003828:       eb 07                   jmp    40003831 <readdir+0xc1>
3259 4000382a:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
3260 40003831:       8b 45 e8                mov    -0x18(%ebp),%eax
3261 40003834:       a3 10 1c 01 40          mov    %eax,0x40011c10
3262 40003839:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
3263 4000383d:       78 0b                   js     4000384a <readdir+0xda>
3264 4000383f:       8b 45 08                mov    0x8(%ebp),%eax
3265 40003842:       83 c0 08                add    $0x8,%eax
3266 40003845:       89 45 ec                mov    %eax,-0x14(%ebp)
3267 40003848:       eb 07                   jmp    40003851 <readdir+0xe1>
3268 4000384a:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
3269 40003851:       8b 45 ec                mov    -0x14(%ebp),%eax
3270 40003854:       c9                      leave  
3271 40003855:       c3                      ret    
3273 40003856 <seekdir>:
3274 40003856:       55                      push   %ebp
3275 40003857:       89 e5                   mov    %esp,%ebp
3276 40003859:       53                      push   %ebx
3277 4000385a:       83 ec 34                sub    $0x34,%esp
3278 4000385d:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
3279 40003861:       74 5e                   je     400038c1 <seekdir+0x6b>
3280 40003863:       8b 45 08                mov    0x8(%ebp),%eax
3281 40003866:       8b 00                   mov    (%eax),%eax
3282 40003868:       8b 00                   mov    (%eax),%eax
3283 4000386a:       89 44 24 08             mov    %eax,0x8(%esp)
3284 4000386e:       c7 44 24 04 66 e7 00    movl   $0x4000e766,0x4(%esp)
3285 40003875:       40 
3286 40003876:       8d 45 f4                lea    -0xc(%ebp),%eax
3287 40003879:       89 04 24                mov    %eax,(%esp)
3288 4000387c:       e8 3f e8 ff ff          call   400020c0 <asprintf>
3289 40003881:       8b 45 08                mov    0x8(%ebp),%eax
3290 40003884:       8b 48 04                mov    0x4(%eax),%ecx
3291 40003887:       8b 45 08                mov    0x8(%ebp),%eax
3292 4000388a:       8b 00                   mov    (%eax),%eax
3293 4000388c:       8b 50 04                mov    0x4(%eax),%edx
3294 4000388f:       8b 5d f4                mov    -0xc(%ebp),%ebx
3295 40003892:       8b 45 0c                mov    0xc(%ebp),%eax
3296 40003895:       89 44 24 10             mov    %eax,0x10(%esp)
3297 40003899:       89 4c 24 0c             mov    %ecx,0xc(%esp)
3298 4000389d:       89 54 24 08             mov    %edx,0x8(%esp)
3299 400038a1:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
3300 400038a8:       00 
3301 400038a9:       89 1c 24                mov    %ebx,(%esp)
3302 400038ac:       e8 3a 8b 00 00          call   4000c3eb <rpc_call>
3303 400038b1:       89 45 f8                mov    %eax,-0x8(%ebp)
3304 400038b4:       8b 45 f4                mov    -0xc(%ebp),%eax
3305 400038b7:       89 04 24                mov    %eax,(%esp)
3306 400038ba:       e8 cc 40 00 00          call   4000798b <free>
3307 400038bf:       eb 07                   jmp    400038c8 <seekdir+0x72>
3308 400038c1:       c7 45 f8 f8 ff ff ff    movl   $0xfffffff8,-0x8(%ebp)
3309 400038c8:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
3310 400038cc:       79 0c                   jns    400038da <seekdir+0x84>
3311 400038ce:       8b 45 f8                mov    -0x8(%ebp),%eax
3312 400038d1:       89 c2                   mov    %eax,%edx
3313 400038d3:       f7 da                   neg    %edx
3314 400038d5:       89 55 e8                mov    %edx,-0x18(%ebp)
3315 400038d8:       eb 07                   jmp    400038e1 <seekdir+0x8b>
3316 400038da:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
3317 400038e1:       8b 45 e8                mov    -0x18(%ebp),%eax
3318 400038e4:       a3 10 1c 01 40          mov    %eax,0x40011c10
3319 400038e9:       83 c4 34                add    $0x34,%esp
3320 400038ec:       5b                      pop    %ebx
3321 400038ed:       5d                      pop    %ebp
3322 400038ee:       c3                      ret    
3324 400038ef <telldir>:
3325 400038ef:       55                      push   %ebp
3326 400038f0:       89 e5                   mov    %esp,%ebp
3327 400038f2:       83 ec 28                sub    $0x28,%esp
3328 400038f5:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
3329 400038f9:       74 5f                   je     4000395a <telldir+0x6b>
3330 400038fb:       8b 45 08                mov    0x8(%ebp),%eax
3331 400038fe:       8b 00                   mov    (%eax),%eax
3332 40003900:       8b 00                   mov    (%eax),%eax
3333 40003902:       89 44 24 08             mov    %eax,0x8(%esp)
3334 40003906:       c7 44 24 04 66 e7 00    movl   $0x4000e766,0x4(%esp)
3335 4000390d:       40 
3336 4000390e:       8d 45 f8                lea    -0x8(%ebp),%eax
3337 40003911:       89 04 24                mov    %eax,(%esp)
3338 40003914:       e8 a7 e7 ff ff          call   400020c0 <asprintf>
3339 40003919:       8b 45 08                mov    0x8(%ebp),%eax
3340 4000391c:       8b 48 04                mov    0x4(%eax),%ecx
3341 4000391f:       8b 45 08                mov    0x8(%ebp),%eax
3342 40003922:       8b 00                   mov    (%eax),%eax
3343 40003924:       8b 40 04                mov    0x4(%eax),%eax
3344 40003927:       8b 55 f8                mov    -0x8(%ebp),%edx
3345 4000392a:       c7 44 24 10 ff ff ff    movl   $0xffffffff,0x10(%esp)
3346 40003931:       ff 
3347 40003932:       89 4c 24 0c             mov    %ecx,0xc(%esp)
3348 40003936:       89 44 24 08             mov    %eax,0x8(%esp)
3349 4000393a:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
3350 40003941:       00 
3351 40003942:       89 14 24                mov    %edx,(%esp)
3352 40003945:       e8 a1 8a 00 00          call   4000c3eb <rpc_call>
3353 4000394a:       89 45 fc                mov    %eax,-0x4(%ebp)
3354 4000394d:       8b 45 f8                mov    -0x8(%ebp),%eax
3355 40003950:       89 04 24                mov    %eax,(%esp)
3356 40003953:       e8 33 40 00 00          call   4000798b <free>
3357 40003958:       eb 07                   jmp    40003961 <telldir+0x72>
3358 4000395a:       c7 45 fc f8 ff ff ff    movl   $0xfffffff8,-0x4(%ebp)
3359 40003961:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
3360 40003965:       79 0c                   jns    40003973 <telldir+0x84>
3361 40003967:       8b 45 fc                mov    -0x4(%ebp),%eax
3362 4000396a:       89 c2                   mov    %eax,%edx
3363 4000396c:       f7 da                   neg    %edx
3364 4000396e:       89 55 ec                mov    %edx,-0x14(%ebp)
3365 40003971:       eb 07                   jmp    4000397a <telldir+0x8b>
3366 40003973:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
3367 4000397a:       8b 45 ec                mov    -0x14(%ebp),%eax
3368 4000397d:       a3 10 1c 01 40          mov    %eax,0x40011c10
3369 40003982:       8b 45 fc                mov    -0x4(%ebp),%eax
3370 40003985:       c1 f8 1f                sar    $0x1f,%eax
3371 40003988:       0b 45 fc                or     -0x4(%ebp),%eax
3372 4000398b:       c9                      leave  
3373 4000398c:       c3                      ret    
3375 4000398d <stat>:
3376 4000398d:       55                      push   %ebp
3377 4000398e:       89 e5                   mov    %esp,%ebp
3378 40003990:       83 ec 18                sub    $0x18,%esp
3379 40003993:       c7 45 f8 ff ff ff ff    movl   $0xffffffff,-0x8(%ebp)
3380 4000399a:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
3381 400039a1:       00 
3382 400039a2:       8b 45 08                mov    0x8(%ebp),%eax
3383 400039a5:       89 04 24                mov    %eax,(%esp)
3384 400039a8:       e8 54 ef ff ff          call   40002901 <open>
3385 400039ad:       89 45 f4                mov    %eax,-0xc(%ebp)
3386 400039b0:       83 7d f4 ff             cmpl   $0xffffffff,-0xc(%ebp)
3387 400039b4:       74 22                   je     400039d8 <stat+0x4b>
3388 400039b6:       8b 45 0c                mov    0xc(%ebp),%eax
3389 400039b9:       89 44 24 04             mov    %eax,0x4(%esp)
3390 400039bd:       8b 45 f4                mov    -0xc(%ebp),%eax
3391 400039c0:       89 04 24                mov    %eax,(%esp)
3392 400039c3:       e8 4c 00 00 00          call   40003a14 <fstat>
3393 400039c8:       89 45 f8                mov    %eax,-0x8(%ebp)
3394 400039cb:       8b 45 f4                mov    -0xc(%ebp),%eax
3395 400039ce:       89 04 24                mov    %eax,(%esp)
3396 400039d1:       e8 ae f1 ff ff          call   40002b84 <close>
3397 400039d6:       eb 37                   jmp    40003a0f <stat+0x82>
3398 400039d8:       8b 45 08                mov    0x8(%ebp),%eax
3399 400039db:       89 04 24                mov    %eax,(%esp)
3400 400039de:       e8 a8 fa ff ff          call   4000348b <opendir>
3401 400039e3:       89 45 fc                mov    %eax,-0x4(%ebp)
3402 400039e6:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
3403 400039ea:       74 23                   je     40003a0f <stat+0x82>
3404 400039ec:       8b 45 fc                mov    -0x4(%ebp),%eax
3405 400039ef:       8b 50 14                mov    0x14(%eax),%edx
3406 400039f2:       8b 45 0c                mov    0xc(%ebp),%eax
3407 400039f5:       89 44 24 04             mov    %eax,0x4(%esp)
3408 400039f9:       89 14 24                mov    %edx,(%esp)
3409 400039fc:       e8 13 00 00 00          call   40003a14 <fstat>
3410 40003a01:       89 45 f8                mov    %eax,-0x8(%ebp)
3411 40003a04:       8b 45 fc                mov    -0x4(%ebp),%eax
3412 40003a07:       89 04 24                mov    %eax,(%esp)
3413 40003a0a:       e8 55 fc ff ff          call   40003664 <closedir>
3414 40003a0f:       8b 45 f8                mov    -0x8(%ebp),%eax
3415 40003a12:       c9                      leave  
3416 40003a13:       c3                      ret    
3418 40003a14 <fstat>:
3419 40003a14:       55                      push   %ebp
3420 40003a15:       89 e5                   mov    %esp,%ebp
3421 40003a17:       83 ec 28                sub    $0x28,%esp
3422 40003a1a:       8b 45 08                mov    0x8(%ebp),%eax
3423 40003a1d:       89 04 24                mov    %eax,(%esp)
3424 40003a20:       e8 d3 ea ff ff          call   400024f8 <filebyfh>
3425 40003a25:       89 45 fc                mov    %eax,-0x4(%ebp)
3426 40003a28:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
3427 40003a2c:       74 74                   je     40003aa2 <fstat+0x8e>
3428 40003a2e:       8b 45 fc                mov    -0x4(%ebp),%eax
3429 40003a31:       8b 00                   mov    (%eax),%eax
3430 40003a33:       8b 00                   mov    (%eax),%eax
3431 40003a35:       89 44 24 08             mov    %eax,0x8(%esp)
3432 40003a39:       c7 44 24 04 74 e7 00    movl   $0x4000e774,0x4(%esp)
3433 40003a40:       40 
3434 40003a41:       8d 45 f4                lea    -0xc(%ebp),%eax
3435 40003a44:       89 04 24                mov    %eax,(%esp)
3436 40003a47:       e8 74 e6 ff ff          call   400020c0 <asprintf>
3437 40003a4c:       8b 45 fc                mov    -0x4(%ebp),%eax
3438 40003a4f:       8b 50 04                mov    0x4(%eax),%edx
3439 40003a52:       8b 45 fc                mov    -0x4(%ebp),%eax
3440 40003a55:       8b 00                   mov    (%eax),%eax
3441 40003a57:       8b 40 04                mov    0x4(%eax),%eax
3442 40003a5a:       8b 4d f4                mov    -0xc(%ebp),%ecx
3443 40003a5d:       89 54 24 0c             mov    %edx,0xc(%esp)
3444 40003a61:       89 44 24 08             mov    %eax,0x8(%esp)
3445 40003a65:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
3446 40003a6c:       00 
3447 40003a6d:       89 0c 24                mov    %ecx,(%esp)
3448 40003a70:       e8 76 89 00 00          call   4000c3eb <rpc_call>
3449 40003a75:       89 45 f8                mov    %eax,-0x8(%ebp)
3450 40003a78:       8b 45 fc                mov    -0x4(%ebp),%eax
3451 40003a7b:       8b 40 20                mov    0x20(%eax),%eax
3452 40003a7e:       c7 44 24 08 34 00 00    movl   $0x34,0x8(%esp)
3453 40003a85:       00 
3454 40003a86:       89 44 24 04             mov    %eax,0x4(%esp)
3455 40003a8a:       8b 45 0c                mov    0xc(%ebp),%eax
3456 40003a8d:       89 04 24                mov    %eax,(%esp)
3457 40003a90:       e8 d7 6b 00 00          call   4000a66c <memcpy>
3458 40003a95:       8b 45 f4                mov    -0xc(%ebp),%eax
3459 40003a98:       89 04 24                mov    %eax,(%esp)
3460 40003a9b:       e8 eb 3e 00 00          call   4000798b <free>
3461 40003aa0:       eb 07                   jmp    40003aa9 <fstat+0x95>
3462 40003aa2:       c7 45 f8 f8 ff ff ff    movl   $0xfffffff8,-0x8(%ebp)
3463 40003aa9:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
3464 40003aad:       79 0c                   jns    40003abb <fstat+0xa7>
3465 40003aaf:       8b 45 f8                mov    -0x8(%ebp),%eax
3466 40003ab2:       89 c2                   mov    %eax,%edx
3467 40003ab4:       f7 da                   neg    %edx
3468 40003ab6:       89 55 ec                mov    %edx,-0x14(%ebp)
3469 40003ab9:       eb 07                   jmp    40003ac2 <fstat+0xae>
3470 40003abb:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
3471 40003ac2:       8b 45 ec                mov    -0x14(%ebp),%eax
3472 40003ac5:       a3 10 1c 01 40          mov    %eax,0x40011c10
3473 40003aca:       8b 45 f8                mov    -0x8(%ebp),%eax
3474 40003acd:       c1 f8 1f                sar    $0x1f,%eax
3475 40003ad0:       0b 45 f8                or     -0x8(%ebp),%eax
3476 40003ad3:       c9                      leave  
3477 40003ad4:       c3                      ret    
3479 40003ad5 <statvfs>:
3480 40003ad5:       55                      push   %ebp
3481 40003ad6:       89 e5                   mov    %esp,%ebp
3482 40003ad8:       83 ec 38                sub    $0x38,%esp
3483 40003adb:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
3484 40003ae2:       8b 45 08                mov    0x8(%ebp),%eax
3485 40003ae5:       89 04 24                mov    %eax,(%esp)
3486 40003ae8:       e8 51 ea ff ff          call   4000253e <getabsolutepath>
3487 40003aed:       89 45 f4                mov    %eax,-0xc(%ebp)
3488 40003af0:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
3489 40003af7:       00 
3490 40003af8:       8b 45 f4                mov    -0xc(%ebp),%eax
3491 40003afb:       89 04 24                mov    %eax,(%esp)
3492 40003afe:       e8 27 e8 ff ff          call   4000232a <fsbypath>
3493 40003b03:       89 45 f8                mov    %eax,-0x8(%ebp)
3494 40003b06:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
3495 40003b0a:       0f 84 18 01 00 00       je     40003c28 <statvfs+0x153>
3496 40003b10:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
3497 40003b17:       00 
3498 40003b18:       c7 44 24 04 00 20 00    movl   $0x2000,0x4(%esp)
3499 40003b1f:       00 
3500 40003b20:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
3501 40003b27:       e8 a0 50 00 00          call   40008bcc <shmget>
3502 40003b2c:       89 45 fc                mov    %eax,-0x4(%ebp)
3503 40003b2f:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
3504 40003b36:       00 
3505 40003b37:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
3506 40003b3e:       00 
3507 40003b3f:       8b 45 fc                mov    -0x4(%ebp),%eax
3508 40003b42:       89 04 24                mov    %eax,(%esp)
3509 40003b45:       e8 3e 51 00 00          call   40008c88 <shmat>
3510 40003b4a:       89 45 f0                mov    %eax,-0x10(%ebp)
3511 40003b4d:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
3512 40003b51:       0f 84 c5 00 00 00       je     40003c1c <statvfs+0x147>
3513 40003b57:       8b 45 f8                mov    -0x8(%ebp),%eax
3514 40003b5a:       8b 00                   mov    (%eax),%eax
3515 40003b5c:       89 44 24 08             mov    %eax,0x8(%esp)
3516 40003b60:       c7 44 24 04 80 e7 00    movl   $0x4000e780,0x4(%esp)
3517 40003b67:       40 
3518 40003b68:       8d 45 e8                lea    -0x18(%ebp),%eax
3519 40003b6b:       89 04 24                mov    %eax,(%esp)
3520 40003b6e:       e8 4d e5 ff ff          call   400020c0 <asprintf>
3521 40003b73:       c7 44 24 08 2c 00 00    movl   $0x2c,0x8(%esp)
3522 40003b7a:       00 
3523 40003b7b:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
3524 40003b82:       00 
3525 40003b83:       8b 45 0c                mov    0xc(%ebp),%eax
3526 40003b86:       89 04 24                mov    %eax,(%esp)
3527 40003b89:       e8 bb 6c 00 00          call   4000a849 <memset>
3528 40003b8e:       8b 55 f0                mov    -0x10(%ebp),%edx
3529 40003b91:       c7 44 24 08 00 20 00    movl   $0x2000,0x8(%esp)
3530 40003b98:       00 
3531 40003b99:       8b 45 f4                mov    -0xc(%ebp),%eax
3532 40003b9c:       89 44 24 04             mov    %eax,0x4(%esp)
3533 40003ba0:       89 14 24                mov    %edx,(%esp)
3534 40003ba3:       e8 bc 6f 00 00          call   4000ab64 <strncpy>
3535 40003ba8:       8b 45 f8                mov    -0x8(%ebp),%eax
3536 40003bab:       8b 50 04                mov    0x4(%eax),%edx
3537 40003bae:       8b 4d e8                mov    -0x18(%ebp),%ecx
3538 40003bb1:       8b 45 fc                mov    -0x4(%ebp),%eax
3539 40003bb4:       89 44 24 0c             mov    %eax,0xc(%esp)
3540 40003bb8:       89 54 24 08             mov    %edx,0x8(%esp)
3541 40003bbc:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
3542 40003bc3:       00 
3543 40003bc4:       89 0c 24                mov    %ecx,(%esp)
3544 40003bc7:       e8 1f 88 00 00          call   4000c3eb <rpc_call>
3545 40003bcc:       89 45 ec                mov    %eax,-0x14(%ebp)
3546 40003bcf:       c7 44 24 08 2c 00 00    movl   $0x2c,0x8(%esp)
3547 40003bd6:       00 
3548 40003bd7:       8b 45 f0                mov    -0x10(%ebp),%eax
3549 40003bda:       89 44 24 04             mov    %eax,0x4(%esp)
3550 40003bde:       8b 45 0c                mov    0xc(%ebp),%eax
3551 40003be1:       89 04 24                mov    %eax,(%esp)
3552 40003be4:       e8 83 6a 00 00          call   4000a66c <memcpy>
3553 40003be9:       8b 45 e8                mov    -0x18(%ebp),%eax
3554 40003bec:       89 04 24                mov    %eax,(%esp)
3555 40003bef:       e8 97 3d 00 00          call   4000798b <free>
3556 40003bf4:       8b 45 f0                mov    -0x10(%ebp),%eax
3557 40003bf7:       89 04 24                mov    %eax,(%esp)
3558 40003bfa:       e8 0c 51 00 00          call   40008d0b <shmdt>
3559 40003bff:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
3560 40003c06:       00 
3561 40003c07:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
3562 40003c0e:       00 
3563 40003c0f:       8b 45 fc                mov    -0x4(%ebp),%eax
3564 40003c12:       89 04 24                mov    %eax,(%esp)
3565 40003c15:       e8 61 51 00 00          call   40008d7b <shmctl>
3566 40003c1a:       eb 13                   jmp    40003c2f <statvfs+0x15a>
3567 40003c1c:       a1 10 1c 01 40          mov    0x40011c10,%eax
3568 40003c21:       f7 d8                   neg    %eax
3569 40003c23:       89 45 ec                mov    %eax,-0x14(%ebp)
3570 40003c26:       eb 07                   jmp    40003c2f <statvfs+0x15a>
3571 40003c28:       c7 45 ec f8 ff ff ff    movl   $0xfffffff8,-0x14(%ebp)
3572 40003c2f:       8b 45 f4                mov    -0xc(%ebp),%eax
3573 40003c32:       89 04 24                mov    %eax,(%esp)
3574 40003c35:       e8 51 3d 00 00          call   4000798b <free>
3575 40003c3a:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
3576 40003c3e:       79 0c                   jns    40003c4c <statvfs+0x177>
3577 40003c40:       8b 45 ec                mov    -0x14(%ebp),%eax
3578 40003c43:       89 c2                   mov    %eax,%edx
3579 40003c45:       f7 da                   neg    %edx
3580 40003c47:       89 55 dc                mov    %edx,-0x24(%ebp)
3581 40003c4a:       eb 07                   jmp    40003c53 <statvfs+0x17e>
3582 40003c4c:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
3583 40003c53:       8b 45 dc                mov    -0x24(%ebp),%eax
3584 40003c56:       a3 10 1c 01 40          mov    %eax,0x40011c10
3585 40003c5b:       8b 45 ec                mov    -0x14(%ebp),%eax
3586 40003c5e:       c1 f8 1f                sar    $0x1f,%eax
3587 40003c61:       0b 45 ec                or     -0x14(%ebp),%eax
3588 40003c64:       c9                      leave  
3589 40003c65:       c3                      ret    
3591 40003c66 <readlink>:
3592 40003c66:       55                      push   %ebp
3593 40003c67:       89 e5                   mov    %esp,%ebp
3594 40003c69:       83 ec 38                sub    $0x38,%esp
3595 40003c6c:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
3596 40003c73:       8b 45 08                mov    0x8(%ebp),%eax
3597 40003c76:       89 04 24                mov    %eax,(%esp)
3598 40003c79:       e8 c0 e8 ff ff          call   4000253e <getabsolutepath>
3599 40003c7e:       89 45 f4                mov    %eax,-0xc(%ebp)
3600 40003c81:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
3601 40003c88:       00 
3602 40003c89:       8b 45 f4                mov    -0xc(%ebp),%eax
3603 40003c8c:       89 04 24                mov    %eax,(%esp)
3604 40003c8f:       e8 96 e6 ff ff          call   4000232a <fsbypath>
3605 40003c94:       89 45 f8                mov    %eax,-0x8(%ebp)
3606 40003c97:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
3607 40003c9b:       0f 84 03 01 00 00       je     40003da4 <readlink+0x13e>
3608 40003ca1:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
3609 40003ca8:       00 
3610 40003ca9:       c7 44 24 04 00 20 00    movl   $0x2000,0x4(%esp)
3611 40003cb0:       00 
3612 40003cb1:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
3613 40003cb8:       e8 0f 4f 00 00          call   40008bcc <shmget>
3614 40003cbd:       89 45 fc                mov    %eax,-0x4(%ebp)
3615 40003cc0:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
3616 40003cc7:       00 
3617 40003cc8:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
3618 40003ccf:       00 
3619 40003cd0:       8b 45 fc                mov    -0x4(%ebp),%eax
3620 40003cd3:       89 04 24                mov    %eax,(%esp)
3621 40003cd6:       e8 ad 4f 00 00          call   40008c88 <shmat>
3622 40003cdb:       89 45 f0                mov    %eax,-0x10(%ebp)
3623 40003cde:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
3624 40003ce2:       0f 84 b0 00 00 00       je     40003d98 <readlink+0x132>
3625 40003ce8:       8b 45 f8                mov    -0x8(%ebp),%eax
3626 40003ceb:       8b 00                   mov    (%eax),%eax
3627 40003ced:       89 44 24 08             mov    %eax,0x8(%esp)
3628 40003cf1:       c7 44 24 04 8e e7 00    movl   $0x4000e78e,0x4(%esp)
3629 40003cf8:       40 
3630 40003cf9:       8d 45 e8                lea    -0x18(%ebp),%eax
3631 40003cfc:       89 04 24                mov    %eax,(%esp)
3632 40003cff:       e8 bc e3 ff ff          call   400020c0 <asprintf>
3633 40003d04:       8b 55 f0                mov    -0x10(%ebp),%edx
3634 40003d07:       c7 44 24 08 00 20 00    movl   $0x2000,0x8(%esp)
3635 40003d0e:       00 
3636 40003d0f:       8b 45 f4                mov    -0xc(%ebp),%eax
3637 40003d12:       89 44 24 04             mov    %eax,0x4(%esp)
3638 40003d16:       89 14 24                mov    %edx,(%esp)
3639 40003d19:       e8 46 6e 00 00          call   4000ab64 <strncpy>
3640 40003d1e:       8b 45 f8                mov    -0x8(%ebp),%eax
3641 40003d21:       8b 50 04                mov    0x4(%eax),%edx
3642 40003d24:       8b 4d e8                mov    -0x18(%ebp),%ecx
3643 40003d27:       8b 45 10                mov    0x10(%ebp),%eax
3644 40003d2a:       89 44 24 10             mov    %eax,0x10(%esp)
3645 40003d2e:       8b 45 fc                mov    -0x4(%ebp),%eax
3646 40003d31:       89 44 24 0c             mov    %eax,0xc(%esp)
3647 40003d35:       89 54 24 08             mov    %edx,0x8(%esp)
3648 40003d39:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
3649 40003d40:       00 
3650 40003d41:       89 0c 24                mov    %ecx,(%esp)
3651 40003d44:       e8 a2 86 00 00          call   4000c3eb <rpc_call>
3652 40003d49:       89 45 ec                mov    %eax,-0x14(%ebp)
3653 40003d4c:       8b 55 f0                mov    -0x10(%ebp),%edx
3654 40003d4f:       8b 45 10                mov    0x10(%ebp),%eax
3655 40003d52:       89 44 24 08             mov    %eax,0x8(%esp)
3656 40003d56:       89 54 24 04             mov    %edx,0x4(%esp)
3657 40003d5a:       8b 45 0c                mov    0xc(%ebp),%eax
3658 40003d5d:       89 04 24                mov    %eax,(%esp)
3659 40003d60:       e8 ff 6d 00 00          call   4000ab64 <strncpy>
3660 40003d65:       8b 45 e8                mov    -0x18(%ebp),%eax
3661 40003d68:       89 04 24                mov    %eax,(%esp)
3662 40003d6b:       e8 1b 3c 00 00          call   4000798b <free>
3663 40003d70:       8b 45 f0                mov    -0x10(%ebp),%eax
3664 40003d73:       89 04 24                mov    %eax,(%esp)
3665 40003d76:       e8 90 4f 00 00          call   40008d0b <shmdt>
3666 40003d7b:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
3667 40003d82:       00 
3668 40003d83:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
3669 40003d8a:       00 
3670 40003d8b:       8b 45 fc                mov    -0x4(%ebp),%eax
3671 40003d8e:       89 04 24                mov    %eax,(%esp)
3672 40003d91:       e8 e5 4f 00 00          call   40008d7b <shmctl>
3673 40003d96:       eb 13                   jmp    40003dab <readlink+0x145>
3674 40003d98:       a1 10 1c 01 40          mov    0x40011c10,%eax
3675 40003d9d:       f7 d8                   neg    %eax
3676 40003d9f:       89 45 ec                mov    %eax,-0x14(%ebp)
3677 40003da2:       eb 07                   jmp    40003dab <readlink+0x145>
3678 40003da4:       c7 45 ec f8 ff ff ff    movl   $0xfffffff8,-0x14(%ebp)
3679 40003dab:       8b 45 f4                mov    -0xc(%ebp),%eax
3680 40003dae:       89 04 24                mov    %eax,(%esp)
3681 40003db1:       e8 d5 3b 00 00          call   4000798b <free>
3682 40003db6:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
3683 40003dba:       79 0c                   jns    40003dc8 <readlink+0x162>
3684 40003dbc:       8b 45 ec                mov    -0x14(%ebp),%eax
3685 40003dbf:       89 c2                   mov    %eax,%edx
3686 40003dc1:       f7 da                   neg    %edx
3687 40003dc3:       89 55 dc                mov    %edx,-0x24(%ebp)
3688 40003dc6:       eb 07                   jmp    40003dcf <readlink+0x169>
3689 40003dc8:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
3690 40003dcf:       8b 45 dc                mov    -0x24(%ebp),%eax
3691 40003dd2:       a3 10 1c 01 40          mov    %eax,0x40011c10
3692 40003dd7:       8b 45 ec                mov    -0x14(%ebp),%eax
3693 40003dda:       c1 f8 1f                sar    $0x1f,%eax
3694 40003ddd:       0b 45 ec                or     -0x14(%ebp),%eax
3695 40003de0:       c9                      leave  
3696 40003de1:       c3                      ret    
3698 40003de2 <symlink>:
3699 40003de2:       55                      push   %ebp
3700 40003de3:       89 e5                   mov    %esp,%ebp
3701 40003de5:       83 ec 38                sub    $0x38,%esp
3702 40003de8:       8b 45 0c                mov    0xc(%ebp),%eax
3703 40003deb:       89 04 24                mov    %eax,(%esp)
3704 40003dee:       e8 4b e7 ff ff          call   4000253e <getabsolutepath>
3705 40003df3:       89 45 f4                mov    %eax,-0xc(%ebp)
3706 40003df6:       8b 45 08                mov    0x8(%ebp),%eax
3707 40003df9:       89 04 24                mov    %eax,(%esp)
3708 40003dfc:       e8 3d e7 ff ff          call   4000253e <getabsolutepath>
3709 40003e01:       89 45 f8                mov    %eax,-0x8(%ebp)
3710 40003e04:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
3711 40003e0b:       00 
3712 40003e0c:       8b 45 f4                mov    -0xc(%ebp),%eax
3713 40003e0f:       89 04 24                mov    %eax,(%esp)
3714 40003e12:       e8 13 e5 ff ff          call   4000232a <fsbypath>
3715 40003e17:       89 45 fc                mov    %eax,-0x4(%ebp)
3716 40003e1a:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
3717 40003e1e:       74 57                   je     40003e77 <symlink+0x95>
3718 40003e20:       8b 45 fc                mov    -0x4(%ebp),%eax
3719 40003e23:       8b 00                   mov    (%eax),%eax
3720 40003e25:       89 44 24 08             mov    %eax,0x8(%esp)
3721 40003e29:       c7 44 24 04 9d e7 00    movl   $0x4000e79d,0x4(%esp)
3722 40003e30:       40 
3723 40003e31:       8d 45 ec                lea    -0x14(%ebp),%eax
3724 40003e34:       89 04 24                mov    %eax,(%esp)
3725 40003e37:       e8 84 e2 ff ff          call   400020c0 <asprintf>
3726 40003e3c:       8b 45 fc                mov    -0x4(%ebp),%eax
3727 40003e3f:       8b 50 04                mov    0x4(%eax),%edx
3728 40003e42:       8b 4d ec                mov    -0x14(%ebp),%ecx
3729 40003e45:       8b 45 f8                mov    -0x8(%ebp),%eax
3730 40003e48:       89 44 24 10             mov    %eax,0x10(%esp)
3731 40003e4c:       8b 45 f4                mov    -0xc(%ebp),%eax
3732 40003e4f:       89 44 24 0c             mov    %eax,0xc(%esp)
3733 40003e53:       89 54 24 08             mov    %edx,0x8(%esp)
3734 40003e57:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
3735 40003e5e:       00 
3736 40003e5f:       89 0c 24                mov    %ecx,(%esp)
3737 40003e62:       e8 84 85 00 00          call   4000c3eb <rpc_call>
3738 40003e67:       89 45 f0                mov    %eax,-0x10(%ebp)
3739 40003e6a:       8b 45 ec                mov    -0x14(%ebp),%eax
3740 40003e6d:       89 04 24                mov    %eax,(%esp)
3741 40003e70:       e8 16 3b 00 00          call   4000798b <free>
3742 40003e75:       eb 07                   jmp    40003e7e <symlink+0x9c>
3743 40003e77:       c7 45 f0 e4 ff ff ff    movl   $0xffffffe4,-0x10(%ebp)
3744 40003e7e:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
3745 40003e82:       79 0c                   jns    40003e90 <symlink+0xae>
3746 40003e84:       8b 45 f0                mov    -0x10(%ebp),%eax
3747 40003e87:       89 c2                   mov    %eax,%edx
3748 40003e89:       f7 da                   neg    %edx
3749 40003e8b:       89 55 dc                mov    %edx,-0x24(%ebp)
3750 40003e8e:       eb 07                   jmp    40003e97 <symlink+0xb5>
3751 40003e90:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
3752 40003e97:       8b 45 dc                mov    -0x24(%ebp),%eax
3753 40003e9a:       a3 10 1c 01 40          mov    %eax,0x40011c10
3754 40003e9f:       8b 45 f0                mov    -0x10(%ebp),%eax
3755 40003ea2:       c1 f8 1f                sar    $0x1f,%eax
3756 40003ea5:       0b 45 f0                or     -0x10(%ebp),%eax
3757 40003ea8:       c9                      leave  
3758 40003ea9:       c3                      ret    
3760 40003eaa <link>:
3761 40003eaa:       55                      push   %ebp
3762 40003eab:       89 e5                   mov    %esp,%ebp
3763 40003ead:       83 ec 38                sub    $0x38,%esp
3764 40003eb0:       8b 45 08                mov    0x8(%ebp),%eax
3765 40003eb3:       89 04 24                mov    %eax,(%esp)
3766 40003eb6:       e8 83 e6 ff ff          call   4000253e <getabsolutepath>
3767 40003ebb:       89 45 f0                mov    %eax,-0x10(%ebp)
3768 40003ebe:       8b 45 0c                mov    0xc(%ebp),%eax
3769 40003ec1:       89 04 24                mov    %eax,(%esp)
3770 40003ec4:       e8 75 e6 ff ff          call   4000253e <getabsolutepath>
3771 40003ec9:       89 45 f4                mov    %eax,-0xc(%ebp)
3772 40003ecc:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
3773 40003ed3:       00 
3774 40003ed4:       8b 45 f0                mov    -0x10(%ebp),%eax
3775 40003ed7:       89 04 24                mov    %eax,(%esp)
3776 40003eda:       e8 4b e4 ff ff          call   4000232a <fsbypath>
3777 40003edf:       89 45 f8                mov    %eax,-0x8(%ebp)
3778 40003ee2:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
3779 40003ee9:       00 
3780 40003eea:       8b 45 f4                mov    -0xc(%ebp),%eax
3781 40003eed:       89 04 24                mov    %eax,(%esp)
3782 40003ef0:       e8 35 e4 ff ff          call   4000232a <fsbypath>
3783 40003ef5:       89 45 fc                mov    %eax,-0x4(%ebp)
3784 40003ef8:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
3785 40003efc:       74 5f                   je     40003f5d <link+0xb3>
3786 40003efe:       8b 45 f8                mov    -0x8(%ebp),%eax
3787 40003f01:       3b 45 fc                cmp    -0x4(%ebp),%eax
3788 40003f04:       75 57                   jne    40003f5d <link+0xb3>
3789 40003f06:       8b 45 f8                mov    -0x8(%ebp),%eax
3790 40003f09:       8b 00                   mov    (%eax),%eax
3791 40003f0b:       89 44 24 08             mov    %eax,0x8(%esp)
3792 40003f0f:       c7 44 24 04 ab e7 00    movl   $0x4000e7ab,0x4(%esp)
3793 40003f16:       40 
3794 40003f17:       8d 45 e8                lea    -0x18(%ebp),%eax
3795 40003f1a:       89 04 24                mov    %eax,(%esp)
3796 40003f1d:       e8 9e e1 ff ff          call   400020c0 <asprintf>
3797 40003f22:       8b 45 f8                mov    -0x8(%ebp),%eax
3798 40003f25:       8b 50 04                mov    0x4(%eax),%edx
3799 40003f28:       8b 4d e8                mov    -0x18(%ebp),%ecx
3800 40003f2b:       8b 45 0c                mov    0xc(%ebp),%eax
3801 40003f2e:       89 44 24 10             mov    %eax,0x10(%esp)
3802 40003f32:       8b 45 08                mov    0x8(%ebp),%eax
3803 40003f35:       89 44 24 0c             mov    %eax,0xc(%esp)
3804 40003f39:       89 54 24 08             mov    %edx,0x8(%esp)
3805 40003f3d:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
3806 40003f44:       00 
3807 40003f45:       89 0c 24                mov    %ecx,(%esp)
3808 40003f48:       e8 9e 84 00 00          call   4000c3eb <rpc_call>
3809 40003f4d:       89 45 ec                mov    %eax,-0x14(%ebp)
3810 40003f50:       8b 45 e8                mov    -0x18(%ebp),%eax
3811 40003f53:       89 04 24                mov    %eax,(%esp)
3812 40003f56:       e8 30 3a 00 00          call   4000798b <free>
3813 40003f5b:       eb 07                   jmp    40003f64 <link+0xba>
3814 40003f5d:       c7 45 ec e4 ff ff ff    movl   $0xffffffe4,-0x14(%ebp)
3815 40003f64:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
3816 40003f68:       79 0c                   jns    40003f76 <link+0xcc>
3817 40003f6a:       8b 45 ec                mov    -0x14(%ebp),%eax
3818 40003f6d:       89 c2                   mov    %eax,%edx
3819 40003f6f:       f7 da                   neg    %edx
3820 40003f71:       89 55 dc                mov    %edx,-0x24(%ebp)
3821 40003f74:       eb 07                   jmp    40003f7d <link+0xd3>
3822 40003f76:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
3823 40003f7d:       8b 45 dc                mov    -0x24(%ebp),%eax
3824 40003f80:       a3 10 1c 01 40          mov    %eax,0x40011c10
3825 40003f85:       8b 45 ec                mov    -0x14(%ebp),%eax
3826 40003f88:       c1 f8 1f                sar    $0x1f,%eax
3827 40003f8b:       0b 45 ec                or     -0x14(%ebp),%eax
3828 40003f8e:       c9                      leave  
3829 40003f8f:       c3                      ret    
3831 40003f90 <chown>:
3832 40003f90:       55                      push   %ebp
3833 40003f91:       89 e5                   mov    %esp,%ebp
3834 40003f93:       83 ec 38                sub    $0x38,%esp
3835 40003f96:       8b 45 08                mov    0x8(%ebp),%eax
3836 40003f99:       89 04 24                mov    %eax,(%esp)
3837 40003f9c:       e8 9d e5 ff ff          call   4000253e <getabsolutepath>
3838 40003fa1:       89 45 f8                mov    %eax,-0x8(%ebp)
3839 40003fa4:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
3840 40003fab:       00 
3841 40003fac:       8b 45 f8                mov    -0x8(%ebp),%eax
3842 40003faf:       89 04 24                mov    %eax,(%esp)
3843 40003fb2:       e8 73 e3 ff ff          call   4000232a <fsbypath>
3844 40003fb7:       89 45 fc                mov    %eax,-0x4(%ebp)
3845 40003fba:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
3846 40003fbe:       74 5e                   je     4000401e <chown+0x8e>
3847 40003fc0:       8b 45 fc                mov    -0x4(%ebp),%eax
3848 40003fc3:       8b 00                   mov    (%eax),%eax
3849 40003fc5:       89 44 24 08             mov    %eax,0x8(%esp)
3850 40003fc9:       c7 44 24 04 b6 e7 00    movl   $0x4000e7b6,0x4(%esp)
3851 40003fd0:       40 
3852 40003fd1:       8d 45 f0                lea    -0x10(%ebp),%eax
3853 40003fd4:       89 04 24                mov    %eax,(%esp)
3854 40003fd7:       e8 e4 e0 ff ff          call   400020c0 <asprintf>
3855 40003fdc:       8b 45 fc                mov    -0x4(%ebp),%eax
3856 40003fdf:       8b 50 04                mov    0x4(%eax),%edx
3857 40003fe2:       8b 4d f0                mov    -0x10(%ebp),%ecx
3858 40003fe5:       8b 45 10                mov    0x10(%ebp),%eax
3859 40003fe8:       89 44 24 14             mov    %eax,0x14(%esp)
3860 40003fec:       8b 45 0c                mov    0xc(%ebp),%eax
3861 40003fef:       89 44 24 10             mov    %eax,0x10(%esp)
3862 40003ff3:       8b 45 f8                mov    -0x8(%ebp),%eax
3863 40003ff6:       89 44 24 0c             mov    %eax,0xc(%esp)
3864 40003ffa:       89 54 24 08             mov    %edx,0x8(%esp)
3865 40003ffe:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
3866 40004005:       00 
3867 40004006:       89 0c 24                mov    %ecx,(%esp)
3868 40004009:       e8 dd 83 00 00          call   4000c3eb <rpc_call>
3869 4000400e:       89 45 f4                mov    %eax,-0xc(%ebp)
3870 40004011:       8b 45 f0                mov    -0x10(%ebp),%eax
3871 40004014:       89 04 24                mov    %eax,(%esp)
3872 40004017:       e8 6f 39 00 00          call   4000798b <free>
3873 4000401c:       eb 07                   jmp    40004025 <chown+0x95>
3874 4000401e:       c7 45 f4 e4 ff ff ff    movl   $0xffffffe4,-0xc(%ebp)
3875 40004025:       8b 45 f8                mov    -0x8(%ebp),%eax
3876 40004028:       89 04 24                mov    %eax,(%esp)
3877 4000402b:       e8 5b 39 00 00          call   4000798b <free>
3878 40004030:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
3879 40004034:       79 0c                   jns    40004042 <chown+0xb2>
3880 40004036:       8b 45 f4                mov    -0xc(%ebp),%eax
3881 40004039:       89 c2                   mov    %eax,%edx
3882 4000403b:       f7 da                   neg    %edx
3883 4000403d:       89 55 ec                mov    %edx,-0x14(%ebp)
3884 40004040:       eb 07                   jmp    40004049 <chown+0xb9>
3885 40004042:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
3886 40004049:       8b 45 ec                mov    -0x14(%ebp),%eax
3887 4000404c:       a3 10 1c 01 40          mov    %eax,0x40011c10
3888 40004051:       8b 45 f4                mov    -0xc(%ebp),%eax
3889 40004054:       c1 f8 1f                sar    $0x1f,%eax
3890 40004057:       0b 45 f4                or     -0xc(%ebp),%eax
3891 4000405a:       c9                      leave  
3892 4000405b:       c3                      ret    
3894 4000405c <fchown>:
3895 4000405c:       55                      push   %ebp
3896 4000405d:       89 e5                   mov    %esp,%ebp
3897 4000405f:       83 ec 28                sub    $0x28,%esp
3898 40004062:       8b 45 08                mov    0x8(%ebp),%eax
3899 40004065:       89 04 24                mov    %eax,(%esp)
3900 40004068:       e8 8b e4 ff ff          call   400024f8 <filebyfh>
3901 4000406d:       89 45 fc                mov    %eax,-0x4(%ebp)
3902 40004070:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
3903 40004074:       74 21                   je     40004097 <fchown+0x3b>
3904 40004076:       8b 45 fc                mov    -0x4(%ebp),%eax
3905 40004079:       8b 50 18                mov    0x18(%eax),%edx
3906 4000407c:       8b 45 10                mov    0x10(%ebp),%eax
3907 4000407f:       89 44 24 08             mov    %eax,0x8(%esp)
3908 40004083:       8b 45 0c                mov    0xc(%ebp),%eax
3909 40004086:       89 44 24 04             mov    %eax,0x4(%esp)
3910 4000408a:       89 14 24                mov    %edx,(%esp)
3911 4000408d:       e8 fe fe ff ff          call   40003f90 <chown>
3912 40004092:       89 45 f8                mov    %eax,-0x8(%ebp)
3913 40004095:       eb 07                   jmp    4000409e <fchown+0x42>
3914 40004097:       c7 45 f8 f8 ff ff ff    movl   $0xfffffff8,-0x8(%ebp)
3915 4000409e:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
3916 400040a2:       79 0c                   jns    400040b0 <fchown+0x54>
3917 400040a4:       8b 45 f8                mov    -0x8(%ebp),%eax
3918 400040a7:       89 c2                   mov    %eax,%edx
3919 400040a9:       f7 da                   neg    %edx
3920 400040ab:       89 55 ec                mov    %edx,-0x14(%ebp)
3921 400040ae:       eb 07                   jmp    400040b7 <fchown+0x5b>
3922 400040b0:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
3923 400040b7:       8b 45 ec                mov    -0x14(%ebp),%eax
3924 400040ba:       a3 10 1c 01 40          mov    %eax,0x40011c10
3925 400040bf:       8b 45 f8                mov    -0x8(%ebp),%eax
3926 400040c2:       c1 f8 1f                sar    $0x1f,%eax
3927 400040c5:       0b 45 f8                or     -0x8(%ebp),%eax
3928 400040c8:       c9                      leave  
3929 400040c9:       c3                      ret    
3931 400040ca <chmod>:
3932 400040ca:       55                      push   %ebp
3933 400040cb:       89 e5                   mov    %esp,%ebp
3934 400040cd:       83 ec 28                sub    $0x28,%esp
3935 400040d0:       8b 45 08                mov    0x8(%ebp),%eax
3936 400040d3:       89 04 24                mov    %eax,(%esp)
3937 400040d6:       e8 63 e4 ff ff          call   4000253e <getabsolutepath>
3938 400040db:       89 45 f8                mov    %eax,-0x8(%ebp)
3939 400040de:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
3940 400040e5:       00 
3941 400040e6:       8b 45 f8                mov    -0x8(%ebp),%eax
3942 400040e9:       89 04 24                mov    %eax,(%esp)
3943 400040ec:       e8 39 e2 ff ff          call   4000232a <fsbypath>
3944 400040f1:       89 45 fc                mov    %eax,-0x4(%ebp)
3945 400040f4:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
3946 400040f8:       74 57                   je     40004151 <chmod+0x87>
3947 400040fa:       8b 45 fc                mov    -0x4(%ebp),%eax
3948 400040fd:       8b 00                   mov    (%eax),%eax
3949 400040ff:       89 44 24 08             mov    %eax,0x8(%esp)
3950 40004103:       c7 44 24 04 c2 e7 00    movl   $0x4000e7c2,0x4(%esp)
3951 4000410a:       40 
3952 4000410b:       8d 45 f0                lea    -0x10(%ebp),%eax
3953 4000410e:       89 04 24                mov    %eax,(%esp)
3954 40004111:       e8 aa df ff ff          call   400020c0 <asprintf>
3955 40004116:       8b 45 fc                mov    -0x4(%ebp),%eax
3956 40004119:       8b 50 04                mov    0x4(%eax),%edx
3957 4000411c:       8b 4d f0                mov    -0x10(%ebp),%ecx
3958 4000411f:       8b 45 0c                mov    0xc(%ebp),%eax
3959 40004122:       89 44 24 10             mov    %eax,0x10(%esp)
3960 40004126:       8b 45 f8                mov    -0x8(%ebp),%eax
3961 40004129:       89 44 24 0c             mov    %eax,0xc(%esp)
3962 4000412d:       89 54 24 08             mov    %edx,0x8(%esp)
3963 40004131:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
3964 40004138:       00 
3965 40004139:       89 0c 24                mov    %ecx,(%esp)
3966 4000413c:       e8 aa 82 00 00          call   4000c3eb <rpc_call>
3967 40004141:       89 45 f4                mov    %eax,-0xc(%ebp)
3968 40004144:       8b 45 f0                mov    -0x10(%ebp),%eax
3969 40004147:       89 04 24                mov    %eax,(%esp)
3970 4000414a:       e8 3c 38 00 00          call   4000798b <free>
3971 4000414f:       eb 07                   jmp    40004158 <chmod+0x8e>
3972 40004151:       c7 45 f4 e4 ff ff ff    movl   $0xffffffe4,-0xc(%ebp)
3973 40004158:       8b 45 f8                mov    -0x8(%ebp),%eax
3974 4000415b:       89 04 24                mov    %eax,(%esp)
3975 4000415e:       e8 28 38 00 00          call   4000798b <free>
3976 40004163:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
3977 40004167:       79 0c                   jns    40004175 <chmod+0xab>
3978 40004169:       8b 45 f4                mov    -0xc(%ebp),%eax
3979 4000416c:       89 c2                   mov    %eax,%edx
3980 4000416e:       f7 da                   neg    %edx
3981 40004170:       89 55 ec                mov    %edx,-0x14(%ebp)
3982 40004173:       eb 07                   jmp    4000417c <chmod+0xb2>
3983 40004175:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
3984 4000417c:       8b 45 ec                mov    -0x14(%ebp),%eax
3985 4000417f:       a3 10 1c 01 40          mov    %eax,0x40011c10
3986 40004184:       8b 45 f4                mov    -0xc(%ebp),%eax
3987 40004187:       c1 f8 1f                sar    $0x1f,%eax
3988 4000418a:       0b 45 f4                or     -0xc(%ebp),%eax
3989 4000418d:       c9                      leave  
3990 4000418e:       c3                      ret    
3992 4000418f <fchmod>:
3993 4000418f:       55                      push   %ebp
3994 40004190:       89 e5                   mov    %esp,%ebp
3995 40004192:       83 ec 28                sub    $0x28,%esp
3996 40004195:       8b 45 08                mov    0x8(%ebp),%eax
3997 40004198:       89 04 24                mov    %eax,(%esp)
3998 4000419b:       e8 58 e3 ff ff          call   400024f8 <filebyfh>
3999 400041a0:       89 45 fc                mov    %eax,-0x4(%ebp)
4000 400041a3:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
4001 400041a7:       74 29                   je     400041d2 <fchmod+0x43>
4002 400041a9:       8b 45 fc                mov    -0x4(%ebp),%eax
4003 400041ac:       8b 50 18                mov    0x18(%eax),%edx
4004 400041af:       8b 45 0c                mov    0xc(%ebp),%eax
4005 400041b2:       89 44 24 04             mov    %eax,0x4(%esp)
4006 400041b6:       89 14 24                mov    %edx,(%esp)
4007 400041b9:       e8 0c ff ff ff          call   400040ca <chmod>
4008 400041be:       89 45 f8                mov    %eax,-0x8(%ebp)
4009 400041c1:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
4010 400041c5:       75 12                   jne    400041d9 <fchmod+0x4a>
4011 400041c7:       8b 55 fc                mov    -0x4(%ebp),%edx
4012 400041ca:       8b 45 0c                mov    0xc(%ebp),%eax
4013 400041cd:       89 42 0c                mov    %eax,0xc(%edx)
4014 400041d0:       eb 07                   jmp    400041d9 <fchmod+0x4a>
4015 400041d2:       c7 45 f8 f8 ff ff ff    movl   $0xfffffff8,-0x8(%ebp)
4016 400041d9:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
4017 400041dd:       79 0c                   jns    400041eb <fchmod+0x5c>
4018 400041df:       8b 45 f8                mov    -0x8(%ebp),%eax
4019 400041e2:       89 c2                   mov    %eax,%edx
4020 400041e4:       f7 da                   neg    %edx
4021 400041e6:       89 55 ec                mov    %edx,-0x14(%ebp)
4022 400041e9:       eb 07                   jmp    400041f2 <fchmod+0x63>
4023 400041eb:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
4024 400041f2:       8b 45 ec                mov    -0x14(%ebp),%eax
4025 400041f5:       a3 10 1c 01 40          mov    %eax,0x40011c10
4026 400041fa:       8b 45 f8                mov    -0x8(%ebp),%eax
4027 400041fd:       c1 f8 1f                sar    $0x1f,%eax
4028 40004200:       0b 45 f8                or     -0x8(%ebp),%eax
4029 40004203:       c9                      leave  
4030 40004204:       c3                      ret    
4032 40004205 <utime>:
4033 40004205:       55                      push   %ebp
4034 40004206:       89 e5                   mov    %esp,%ebp
4035 40004208:       83 ec 38                sub    $0x38,%esp
4036 4000420b:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
4037 40004212:       8b 45 08                mov    0x8(%ebp),%eax
4038 40004215:       89 04 24                mov    %eax,(%esp)
4039 40004218:       e8 21 e3 ff ff          call   4000253e <getabsolutepath>
4040 4000421d:       89 45 f4                mov    %eax,-0xc(%ebp)
4041 40004220:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
4042 40004227:       00 
4043 40004228:       8b 45 f4                mov    -0xc(%ebp),%eax
4044 4000422b:       89 04 24                mov    %eax,(%esp)
4045 4000422e:       e8 f7 e0 ff ff          call   4000232a <fsbypath>
4046 40004233:       89 45 f8                mov    %eax,-0x8(%ebp)
4047 40004236:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
4048 4000423a:       0f 84 0d 01 00 00       je     4000434d <utime+0x148>
4049 40004240:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
4050 40004247:       00 
4051 40004248:       c7 44 24 04 00 20 00    movl   $0x2000,0x4(%esp)
4052 4000424f:       00 
4053 40004250:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
4054 40004257:       e8 70 49 00 00          call   40008bcc <shmget>
4055 4000425c:       89 45 fc                mov    %eax,-0x4(%ebp)
4056 4000425f:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
4057 40004266:       00 
4058 40004267:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
4059 4000426e:       00 
4060 4000426f:       8b 45 fc                mov    -0x4(%ebp),%eax
4061 40004272:       89 04 24                mov    %eax,(%esp)
4062 40004275:       e8 0e 4a 00 00          call   40008c88 <shmat>
4063 4000427a:       89 45 f0                mov    %eax,-0x10(%ebp)
4064 4000427d:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
4065 40004281:       0f 84 ba 00 00 00       je     40004341 <utime+0x13c>
4066 40004287:       8b 45 f8                mov    -0x8(%ebp),%eax
4067 4000428a:       8b 00                   mov    (%eax),%eax
4068 4000428c:       89 44 24 08             mov    %eax,0x8(%esp)
4069 40004290:       c7 44 24 04 ce e7 00    movl   $0x4000e7ce,0x4(%esp)
4070 40004297:       40 
4071 40004298:       8d 45 e8                lea    -0x18(%ebp),%eax
4072 4000429b:       89 04 24                mov    %eax,(%esp)
4073 4000429e:       e8 1d de ff ff          call   400020c0 <asprintf>
4074 400042a3:       8b 55 f0                mov    -0x10(%ebp),%edx
4075 400042a6:       c7 44 24 08 00 20 00    movl   $0x2000,0x8(%esp)
4076 400042ad:       00 
4077 400042ae:       8b 45 08                mov    0x8(%ebp),%eax
4078 400042b1:       89 44 24 04             mov    %eax,0x4(%esp)
4079 400042b5:       89 14 24                mov    %edx,(%esp)
4080 400042b8:       e8 a7 68 00 00          call   4000ab64 <strncpy>
4081 400042bd:       8b 45 f0                mov    -0x10(%ebp),%eax
4082 400042c0:       89 04 24                mov    %eax,(%esp)
4083 400042c3:       e8 5c 67 00 00          call   4000aa24 <strlen>
4084 400042c8:       83 c0 01                add    $0x1,%eax
4085 400042cb:       89 c2                   mov    %eax,%edx
4086 400042cd:       03 55 f0                add    -0x10(%ebp),%edx
4087 400042d0:       c7 44 24 08 08 00 00    movl   $0x8,0x8(%esp)
4088 400042d7:       00 
4089 400042d8:       8b 45 0c                mov    0xc(%ebp),%eax
4090 400042db:       89 44 24 04             mov    %eax,0x4(%esp)
4091 400042df:       89 14 24                mov    %edx,(%esp)
4092 400042e2:       e8 85 63 00 00          call   4000a66c <memcpy>
4093 400042e7:       8b 45 f8                mov    -0x8(%ebp),%eax
4094 400042ea:       8b 50 04                mov    0x4(%eax),%edx
4095 400042ed:       8b 4d e8                mov    -0x18(%ebp),%ecx
4096 400042f0:       8b 45 fc                mov    -0x4(%ebp),%eax
4097 400042f3:       89 44 24 0c             mov    %eax,0xc(%esp)
4098 400042f7:       89 54 24 08             mov    %edx,0x8(%esp)
4099 400042fb:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
4100 40004302:       00 
4101 40004303:       89 0c 24                mov    %ecx,(%esp)
4102 40004306:       e8 e0 80 00 00          call   4000c3eb <rpc_call>
4103 4000430b:       89 45 ec                mov    %eax,-0x14(%ebp)
4104 4000430e:       8b 45 e8                mov    -0x18(%ebp),%eax
4105 40004311:       89 04 24                mov    %eax,(%esp)
4106 40004314:       e8 72 36 00 00          call   4000798b <free>
4107 40004319:       8b 45 f0                mov    -0x10(%ebp),%eax
4108 4000431c:       89 04 24                mov    %eax,(%esp)
4109 4000431f:       e8 e7 49 00 00          call   40008d0b <shmdt>
4110 40004324:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
4111 4000432b:       00 
4112 4000432c:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
4113 40004333:       00 
4114 40004334:       8b 45 fc                mov    -0x4(%ebp),%eax
4115 40004337:       89 04 24                mov    %eax,(%esp)
4116 4000433a:       e8 3c 4a 00 00          call   40008d7b <shmctl>
4117 4000433f:       eb 13                   jmp    40004354 <utime+0x14f>
4118 40004341:       a1 10 1c 01 40          mov    0x40011c10,%eax
4119 40004346:       f7 d8                   neg    %eax
4120 40004348:       89 45 ec                mov    %eax,-0x14(%ebp)
4121 4000434b:       eb 07                   jmp    40004354 <utime+0x14f>
4122 4000434d:       c7 45 ec f8 ff ff ff    movl   $0xfffffff8,-0x14(%ebp)
4123 40004354:       8b 45 f4                mov    -0xc(%ebp),%eax
4124 40004357:       89 04 24                mov    %eax,(%esp)
4125 4000435a:       e8 2c 36 00 00          call   4000798b <free>
4126 4000435f:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
4127 40004363:       79 0c                   jns    40004371 <utime+0x16c>
4128 40004365:       8b 45 ec                mov    -0x14(%ebp),%eax
4129 40004368:       89 c2                   mov    %eax,%edx
4130 4000436a:       f7 da                   neg    %edx
4131 4000436c:       89 55 dc                mov    %edx,-0x24(%ebp)
4132 4000436f:       eb 07                   jmp    40004378 <utime+0x173>
4133 40004371:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
4134 40004378:       8b 45 dc                mov    -0x24(%ebp),%eax
4135 4000437b:       a3 10 1c 01 40          mov    %eax,0x40011c10
4136 40004380:       8b 45 ec                mov    -0x14(%ebp),%eax
4137 40004383:       c1 f8 1f                sar    $0x1f,%eax
4138 40004386:       0b 45 ec                or     -0x14(%ebp),%eax
4139 40004389:       c9                      leave  
4140 4000438a:       c3                      ret    
4142 4000438b <umask>:
4143 4000438b:       55                      push   %ebp
4144 4000438c:       89 e5                   mov    %esp,%ebp
4145 4000438e:       83 ec 10                sub    $0x10,%esp
4146 40004391:       a1 3c 05 01 40          mov    0x4001053c,%eax
4147 40004396:       89 45 fc                mov    %eax,-0x4(%ebp)
4148 40004399:       8b 45 08                mov    0x8(%ebp),%eax
4149 4000439c:       25 ff 01 00 00          and    $0x1ff,%eax
4150 400043a1:       a3 3c 05 01 40          mov    %eax,0x4001053c
4151 400043a6:       8b 45 fc                mov    -0x4(%ebp),%eax
4152 400043a9:       c9                      leave  
4153 400043aa:       c3                      ret    
4155 400043ab <socket>:
4156 400043ab:       55                      push   %ebp
4157 400043ac:       89 e5                   mov    %esp,%ebp
4158 400043ae:       b8 ff ff ff ff          mov    $0xffffffff,%eax
4159 400043b3:       5d                      pop    %ebp
4160 400043b4:       c3                      ret    
4161 400043b5:       90                      nop    
4162 400043b6:       90                      nop    
4163 400043b7:       90                      nop    
4165 400043b8 <fprintf>:
4166 400043b8:       55                      push   %ebp
4167 400043b9:       89 e5                   mov    %esp,%ebp
4168 400043bb:       83 ec 28                sub    $0x28,%esp
4169 400043be:       8d 45 10                lea    0x10(%ebp),%eax
4170 400043c1:       89 45 f8                mov    %eax,-0x8(%ebp)
4171 400043c4:       8b 45 f8                mov    -0x8(%ebp),%eax
4172 400043c7:       89 44 24 08             mov    %eax,0x8(%esp)
4173 400043cb:       8b 45 0c                mov    0xc(%ebp),%eax
4174 400043ce:       89 44 24 04             mov    %eax,0x4(%esp)
4175 400043d2:       8b 45 08                mov    0x8(%ebp),%eax
4176 400043d5:       89 04 24                mov    %eax,(%esp)
4177 400043d8:       e8 d7 55 00 00          call   400099b4 <vfprintf>
4178 400043dd:       89 45 fc                mov    %eax,-0x4(%ebp)
4179 400043e0:       8b 45 fc                mov    -0x4(%ebp),%eax
4180 400043e3:       c9                      leave  
4181 400043e4:       c3                      ret    
4182 400043e5:       90                      nop    
4183 400043e6:       90                      nop    
4184 400043e7:       90                      nop    
4186 400043e8 <segment_holding>:
4187 400043e8:       55                      push   %ebp
4188 400043e9:       89 e5                   mov    %esp,%ebp
4189 400043eb:       83 ec 14                sub    $0x14,%esp
4190 400043ee:       8b 45 08                mov    0x8(%ebp),%eax
4191 400043f1:       05 b8 01 00 00          add    $0x1b8,%eax
4192 400043f6:       89 45 fc                mov    %eax,-0x4(%ebp)
4193 400043f9:       8b 45 fc                mov    -0x4(%ebp),%eax
4194 400043fc:       8b 00                   mov    (%eax),%eax
4195 400043fe:       3b 45 0c                cmp    0xc(%ebp),%eax
4196 40004401:       77 1b                   ja     4000441e <segment_holding+0x36>
4197 40004403:       8b 45 fc                mov    -0x4(%ebp),%eax
4198 40004406:       8b 10                   mov    (%eax),%edx
4199 40004408:       8b 45 fc                mov    -0x4(%ebp),%eax
4200 4000440b:       8b 40 04                mov    0x4(%eax),%eax
4201 4000440e:       8d 04 02                lea    (%edx,%eax,1),%eax
4202 40004411:       3b 45 0c                cmp    0xc(%ebp),%eax
4203 40004414:       76 08                   jbe    4000441e <segment_holding+0x36>
4204 40004416:       8b 45 fc                mov    -0x4(%ebp),%eax
4205 40004419:       89 45 ec                mov    %eax,-0x14(%ebp)
4206 4000441c:       eb 16                   jmp    40004434 <segment_holding+0x4c>
4207 4000441e:       8b 45 fc                mov    -0x4(%ebp),%eax
4208 40004421:       8b 40 08                mov    0x8(%eax),%eax
4209 40004424:       89 45 fc                mov    %eax,-0x4(%ebp)
4210 40004427:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
4211 4000442b:       75 cc                   jne    400043f9 <segment_holding+0x11>
4212 4000442d:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
4213 40004434:       8b 45 ec                mov    -0x14(%ebp),%eax
4214 40004437:       c9                      leave  
4215 40004438:       c3                      ret    
4217 40004439 <has_segment_link>:
4218 40004439:       55                      push   %ebp
4219 4000443a:       89 e5                   mov    %esp,%ebp
4220 4000443c:       83 ec 14                sub    $0x14,%esp
4221 4000443f:       8b 45 08                mov    0x8(%ebp),%eax
4222 40004442:       05 b8 01 00 00          add    $0x1b8,%eax
4223 40004447:       89 45 fc                mov    %eax,-0x4(%ebp)
4224 4000444a:       8b 45 0c                mov    0xc(%ebp),%eax
4225 4000444d:       8b 10                   mov    (%eax),%edx
4226 4000444f:       8b 45 fc                mov    -0x4(%ebp),%eax
4227 40004452:       39 c2                   cmp    %eax,%edx
4228 40004454:       77 1d                   ja     40004473 <has_segment_link+0x3a>
4229 40004456:       8b 45 0c                mov    0xc(%ebp),%eax
4230 40004459:       8b 10                   mov    (%eax),%edx
4231 4000445b:       8b 45 0c                mov    0xc(%ebp),%eax
4232 4000445e:       8b 40 04                mov    0x4(%eax),%eax
4233 40004461:       01 c2                   add    %eax,%edx
4234 40004463:       8b 45 fc                mov    -0x4(%ebp),%eax
4235 40004466:       39 c2                   cmp    %eax,%edx
4236 40004468:       76 09                   jbe    40004473 <has_segment_link+0x3a>
4237 4000446a:       c7 45 ec 01 00 00 00    movl   $0x1,-0x14(%ebp)
4238 40004471:       eb 16                   jmp    40004489 <has_segment_link+0x50>
4239 40004473:       8b 45 fc                mov    -0x4(%ebp),%eax
4240 40004476:       8b 40 08                mov    0x8(%eax),%eax
4241 40004479:       89 45 fc                mov    %eax,-0x4(%ebp)
4242 4000447c:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
4243 40004480:       75 c8                   jne    4000444a <has_segment_link+0x11>
4244 40004482:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
4245 40004489:       8b 45 ec                mov    -0x14(%ebp),%eax
4246 4000448c:       c9                      leave  
4247 4000448d:       c3                      ret    
4249 4000448e <init_mparams>:
4250 4000448e:       55                      push   %ebp
4251 4000448f:       89 e5                   mov    %esp,%ebp
4252 40004491:       83 ec 18                sub    $0x18,%esp
4253 40004494:       a1 44 05 01 40          mov    0x40010544,%eax
4254 40004499:       85 c0                   test   %eax,%eax
4255 4000449b:       0f 85 81 00 00 00       jne    40004522 <init_mparams+0x94>
4256 400044a1:       c7 05 4c 05 01 40 ff    movl   $0xffffffff,0x4001054c
4257 400044a8:       ff ff ff 
4258 400044ab:       c7 05 50 05 01 40 ff    movl   $0xffffffff,0x40010550
4259 400044b2:       ff ff ff 
4260 400044b5:       c7 05 54 05 01 40 00    movl   $0x0,0x40010554
4261 400044bc:       00 00 00 
4262 400044bf:       c7 45 fc 58 58 58 58    movl   $0x58585858,-0x4(%ebp)
4263 400044c6:       a1 40 05 01 40          mov    0x40010540,%eax
4264 400044cb:       85 c0                   test   %eax,%eax
4265 400044cd:       75 12                   jne    400044e1 <init_mparams+0x53>
4266 400044cf:       8b 45 fc                mov    -0x4(%ebp),%eax
4267 400044d2:       a3 40 05 01 40          mov    %eax,0x40010540
4268 400044d7:       a1 54 05 01 40          mov    0x40010554,%eax
4269 400044dc:       a3 14 07 01 40          mov    %eax,0x40010714
4270 400044e1:       c7 05 44 05 01 40 00    movl   $0x1000,0x40010544
4271 400044e8:       10 00 00 
4272 400044eb:       a1 44 05 01 40          mov    0x40010544,%eax
4273 400044f0:       a3 48 05 01 40          mov    %eax,0x40010548
4274 400044f5:       8b 15 48 05 01 40       mov    0x40010548,%edx
4275 400044fb:       a1 48 05 01 40          mov    0x40010548,%eax
4276 40004500:       83 e8 01                sub    $0x1,%eax
4277 40004503:       21 d0                   and    %edx,%eax
4278 40004505:       85 c0                   test   %eax,%eax
4279 40004507:       75 14                   jne    4000451d <init_mparams+0x8f>
4280 40004509:       8b 15 44 05 01 40       mov    0x40010544,%edx
4281 4000450f:       a1 44 05 01 40          mov    0x40010544,%eax
4282 40004514:       83 e8 01                sub    $0x1,%eax
4283 40004517:       21 d0                   and    %edx,%eax
4284 40004519:       85 c0                   test   %eax,%eax
4285 4000451b:       74 05                   je     40004522 <init_mparams+0x94>
4286 4000451d:       e8 ae 85 00 00          call   4000cad0 <abort>
4287 40004522:       b8 00 00 00 00          mov    $0x0,%eax
4288 40004527:       c9                      leave  
4289 40004528:       c3                      ret    
4291 40004529 <change_mparam>:
4292 40004529:       55                      push   %ebp
4293 4000452a:       89 e5                   mov    %esp,%ebp
4294 4000452c:       83 ec 18                sub    $0x18,%esp
4295 4000452f:       8b 45 0c                mov    0xc(%ebp),%eax
4296 40004532:       89 45 fc                mov    %eax,-0x4(%ebp)
4297 40004535:       e8 54 ff ff ff          call   4000448e <init_mparams>
4298 4000453a:       8b 45 08                mov    0x8(%ebp),%eax
4299 4000453d:       89 45 e8                mov    %eax,-0x18(%ebp)
4300 40004540:       83 7d e8 fe             cmpl   $0xfffffffe,-0x18(%ebp)
4301 40004544:       74 1f                   je     40004565 <change_mparam+0x3c>
4302 40004546:       83 7d e8 ff             cmpl   $0xffffffff,-0x18(%ebp)
4303 4000454a:       74 08                   je     40004554 <change_mparam+0x2b>
4304 4000454c:       83 7d e8 fd             cmpl   $0xfffffffd,-0x18(%ebp)
4305 40004550:       74 44                   je     40004596 <change_mparam+0x6d>
4306 40004552:       eb 53                   jmp    400045a7 <change_mparam+0x7e>
4307 40004554:       8b 45 fc                mov    -0x4(%ebp),%eax
4308 40004557:       a3 50 05 01 40          mov    %eax,0x40010550
4309 4000455c:       c7 45 ec 01 00 00 00    movl   $0x1,-0x14(%ebp)
4310 40004563:       eb 49                   jmp    400045ae <change_mparam+0x85>
4311 40004565:       a1 44 05 01 40          mov    0x40010544,%eax
4312 4000456a:       3b 45 fc                cmp    -0x4(%ebp),%eax
4313 4000456d:       77 1e                   ja     4000458d <change_mparam+0x64>
4314 4000456f:       8b 45 fc                mov    -0x4(%ebp),%eax
4315 40004572:       83 e8 01                sub    $0x1,%eax
4316 40004575:       23 45 fc                and    -0x4(%ebp),%eax
4317 40004578:       85 c0                   test   %eax,%eax
4318 4000457a:       75 11                   jne    4000458d <change_mparam+0x64>
4319 4000457c:       8b 45 fc                mov    -0x4(%ebp),%eax
4320 4000457f:       a3 48 05 01 40          mov    %eax,0x40010548
4321 40004584:       c7 45 ec 01 00 00 00    movl   $0x1,-0x14(%ebp)
4322 4000458b:       eb 21                   jmp    400045ae <change_mparam+0x85>
4323 4000458d:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
4324 40004594:       eb 18                   jmp    400045ae <change_mparam+0x85>
4325 40004596:       8b 45 fc                mov    -0x4(%ebp),%eax
4326 40004599:       a3 4c 05 01 40          mov    %eax,0x4001054c
4327 4000459e:       c7 45 ec 01 00 00 00    movl   $0x1,-0x14(%ebp)
4328 400045a5:       eb 07                   jmp    400045ae <change_mparam+0x85>
4329 400045a7:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
4330 400045ae:       8b 45 ec                mov    -0x14(%ebp),%eax
4331 400045b1:       c9                      leave  
4332 400045b2:       c3                      ret    
4334 400045b3 <internal_mallinfo>:
4335 400045b3:       55                      push   %ebp
4336 400045b4:       89 e5                   mov    %esp,%ebp
4337 400045b6:       57                      push   %edi
4338 400045b7:       83 ec 54                sub    $0x54,%esp
4339 400045ba:       8d 45 bc                lea    -0x44(%ebp),%eax
4340 400045bd:       89 45 b0                mov    %eax,-0x50(%ebp)
4341 400045c0:       c7 45 ac 00 00 00 00    movl   $0x0,-0x54(%ebp)
4342 400045c7:       b8 28 00 00 00          mov    $0x28,%eax
4343 400045cc:       83 f8 04                cmp    $0x4,%eax
4344 400045cf:       72 12                   jb     400045e3 <internal_mallinfo+0x30>
4345 400045d1:       c7 45 a8 0a 00 00 00    movl   $0xa,-0x58(%ebp)
4346 400045d8:       8b 7d b0                mov    -0x50(%ebp),%edi
4347 400045db:       8b 4d a8                mov    -0x58(%ebp),%ecx
4348 400045de:       8b 45 ac                mov    -0x54(%ebp),%eax
4349 400045e1:       f3 ab                   rep stos %eax,%es:(%edi)
4350 400045e3:       8b 45 0c                mov    0xc(%ebp),%eax
4351 400045e6:       8b 40 18                mov    0x18(%eax),%eax
4352 400045e9:       85 c0                   test   %eax,%eax
4353 400045eb:       0f 84 33 01 00 00       je     40004724 <internal_mallinfo+0x171>
4354 400045f1:       c7 45 e4 01 00 00 00    movl   $0x1,-0x1c(%ebp)
4355 400045f8:       8b 45 0c                mov    0xc(%ebp),%eax
4356 400045fb:       8b 40 0c                mov    0xc(%eax),%eax
4357 400045fe:       83 c0 28                add    $0x28,%eax
4358 40004601:       89 45 e8                mov    %eax,-0x18(%ebp)
4359 40004604:       8b 45 e8                mov    -0x18(%ebp),%eax
4360 40004607:       89 45 ec                mov    %eax,-0x14(%ebp)
4361 4000460a:       8b 45 0c                mov    0xc(%ebp),%eax
4362 4000460d:       05 b8 01 00 00          add    $0x1b8,%eax
4363 40004612:       89 45 f0                mov    %eax,-0x10(%ebp)
4364 40004615:       e9 bb 00 00 00          jmp    400046d5 <internal_mallinfo+0x122>
4365 4000461a:       8b 45 f0                mov    -0x10(%ebp),%eax
4366 4000461d:       8b 00                   mov    (%eax),%eax
4367 4000461f:       89 45 b4                mov    %eax,-0x4c(%ebp)
4368 40004622:       8b 45 f0                mov    -0x10(%ebp),%eax
4369 40004625:       8b 00                   mov    (%eax),%eax
4370 40004627:       83 c0 08                add    $0x8,%eax
4371 4000462a:       83 e0 07                and    $0x7,%eax
4372 4000462d:       85 c0                   test   %eax,%eax
4373 4000462f:       74 1e                   je     4000464f <internal_mallinfo+0x9c>
4374 40004631:       8b 45 f0                mov    -0x10(%ebp),%eax
4375 40004634:       8b 00                   mov    (%eax),%eax
4376 40004636:       83 c0 08                add    $0x8,%eax
4377 40004639:       89 c2                   mov    %eax,%edx
4378 4000463b:       83 e2 07                and    $0x7,%edx
4379 4000463e:       b8 08 00 00 00          mov    $0x8,%eax
4380 40004643:       29 d0                   sub    %edx,%eax
4381 40004645:       89 c2                   mov    %eax,%edx
4382 40004647:       83 e2 07                and    $0x7,%edx
4383 4000464a:       89 55 b8                mov    %edx,-0x48(%ebp)
4384 4000464d:       eb 07                   jmp    40004656 <internal_mallinfo+0xa3>
4385 4000464f:       c7 45 b8 00 00 00 00    movl   $0x0,-0x48(%ebp)
4386 40004656:       8b 45 b4                mov    -0x4c(%ebp),%eax
4387 40004659:       03 45 b8                add    -0x48(%ebp),%eax
4388 4000465c:       89 45 f4                mov    %eax,-0xc(%ebp)
4389 4000465f:       eb 35                   jmp    40004696 <internal_mallinfo+0xe3>
4390 40004661:       8b 45 f4                mov    -0xc(%ebp),%eax
4391 40004664:       8b 40 04                mov    0x4(%eax),%eax
4392 40004667:       83 e0 fc                and    $0xfffffffc,%eax
4393 4000466a:       89 45 f8                mov    %eax,-0x8(%ebp)
4394 4000466d:       8b 45 f8                mov    -0x8(%ebp),%eax
4395 40004670:       01 45 ec                add    %eax,-0x14(%ebp)
4396 40004673:       8b 45 f4                mov    -0xc(%ebp),%eax
4397 40004676:       8b 40 04                mov    0x4(%eax),%eax
4398 40004679:       83 e0 02                and    $0x2,%eax
4399 4000467c:       85 c0                   test   %eax,%eax
4400 4000467e:       75 0a                   jne    4000468a <internal_mallinfo+0xd7>
4401 40004680:       8b 45 f8                mov    -0x8(%ebp),%eax
4402 40004683:       01 45 e8                add    %eax,-0x18(%ebp)
4403 40004686:       83 45 e4 01             addl   $0x1,-0x1c(%ebp)
4404 4000468a:       8b 45 f4                mov    -0xc(%ebp),%eax
4405 4000468d:       8b 40 04                mov    0x4(%eax),%eax
4406 40004690:       83 e0 fc                and    $0xfffffffc,%eax
4407 40004693:       01 45 f4                add    %eax,-0xc(%ebp)
4408 40004696:       8b 45 f0                mov    -0x10(%ebp),%eax
4409 40004699:       8b 10                   mov    (%eax),%edx
4410 4000469b:       8b 45 f4                mov    -0xc(%ebp),%eax
4411 4000469e:       39 c2                   cmp    %eax,%edx
4412 400046a0:       77 2a                   ja     400046cc <internal_mallinfo+0x119>
4413 400046a2:       8b 45 f0                mov    -0x10(%ebp),%eax
4414 400046a5:       8b 10                   mov    (%eax),%edx
4415 400046a7:       8b 45 f0                mov    -0x10(%ebp),%eax
4416 400046aa:       8b 40 04                mov    0x4(%eax),%eax
4417 400046ad:       01 c2                   add    %eax,%edx
4418 400046af:       8b 45 f4                mov    -0xc(%ebp),%eax
4419 400046b2:       39 c2                   cmp    %eax,%edx
4420 400046b4:       76 16                   jbe    400046cc <internal_mallinfo+0x119>
4421 400046b6:       8b 45 0c                mov    0xc(%ebp),%eax
4422 400046b9:       8b 40 18                mov    0x18(%eax),%eax
4423 400046bc:       3b 45 f4                cmp    -0xc(%ebp),%eax
4424 400046bf:       74 0b                   je     400046cc <internal_mallinfo+0x119>
4425 400046c1:       8b 45 f4                mov    -0xc(%ebp),%eax
4426 400046c4:       8b 40 04                mov    0x4(%eax),%eax
4427 400046c7:       83 f8 07                cmp    $0x7,%eax
4428 400046ca:       75 95                   jne    40004661 <internal_mallinfo+0xae>
4429 400046cc:       8b 45 f0                mov    -0x10(%ebp),%eax
4430 400046cf:       8b 40 08                mov    0x8(%eax),%eax
4431 400046d2:       89 45 f0                mov    %eax,-0x10(%ebp)
4432 400046d5:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
4433 400046d9:       0f 85 3b ff ff ff       jne    4000461a <internal_mallinfo+0x67>
4434 400046df:       8b 45 ec                mov    -0x14(%ebp),%eax
4435 400046e2:       89 45 bc                mov    %eax,-0x44(%ebp)
4436 400046e5:       8b 45 e4                mov    -0x1c(%ebp),%eax
4437 400046e8:       89 45 c0                mov    %eax,-0x40(%ebp)
4438 400046eb:       8b 45 0c                mov    0xc(%ebp),%eax
4439 400046ee:       8b 80 ac 01 00 00       mov    0x1ac(%eax),%eax
4440 400046f4:       2b 45 ec                sub    -0x14(%ebp),%eax
4441 400046f7:       89 45 cc                mov    %eax,-0x34(%ebp)
4442 400046fa:       8b 45 0c                mov    0xc(%ebp),%eax
4443 400046fd:       8b 80 b0 01 00 00       mov    0x1b0(%eax),%eax
4444 40004703:       89 45 d0                mov    %eax,-0x30(%ebp)
4445 40004706:       8b 45 0c                mov    0xc(%ebp),%eax
4446 40004709:       8b 80 ac 01 00 00       mov    0x1ac(%eax),%eax
4447 4000470f:       2b 45 e8                sub    -0x18(%ebp),%eax
4448 40004712:       89 45 d8                mov    %eax,-0x28(%ebp)
4449 40004715:       8b 45 e8                mov    -0x18(%ebp),%eax
4450 40004718:       89 45 dc                mov    %eax,-0x24(%ebp)
4451 4000471b:       8b 45 0c                mov    0xc(%ebp),%eax
4452 4000471e:       8b 40 0c                mov    0xc(%eax),%eax
4453 40004721:       89 45 e0                mov    %eax,-0x20(%ebp)
4454 40004724:       8b 45 bc                mov    -0x44(%ebp),%eax
4455 40004727:       8b 4d 08                mov    0x8(%ebp),%ecx
4456 4000472a:       89 01                   mov    %eax,(%ecx)
4457 4000472c:       8b 45 c0                mov    -0x40(%ebp),%eax
4458 4000472f:       8b 7d 08                mov    0x8(%ebp),%edi
4459 40004732:       89 47 04                mov    %eax,0x4(%edi)
4460 40004735:       8b 45 c4                mov    -0x3c(%ebp),%eax
4461 40004738:       8b 55 08                mov    0x8(%ebp),%edx
4462 4000473b:       89 42 08                mov    %eax,0x8(%edx)
4463 4000473e:       8b 45 c8                mov    -0x38(%ebp),%eax
4464 40004741:       8b 4d 08                mov    0x8(%ebp),%ecx
4465 40004744:       89 41 0c                mov    %eax,0xc(%ecx)
4466 40004747:       8b 45 cc                mov    -0x34(%ebp),%eax
4467 4000474a:       8b 7d 08                mov    0x8(%ebp),%edi
4468 4000474d:       89 47 10                mov    %eax,0x10(%edi)
4469 40004750:       8b 45 d0                mov    -0x30(%ebp),%eax
4470 40004753:       8b 55 08                mov    0x8(%ebp),%edx
4471 40004756:       89 42 14                mov    %eax,0x14(%edx)
4472 40004759:       8b 45 d4                mov    -0x2c(%ebp),%eax
4473 4000475c:       8b 4d 08                mov    0x8(%ebp),%ecx
4474 4000475f:       89 41 18                mov    %eax,0x18(%ecx)
4475 40004762:       8b 45 d8                mov    -0x28(%ebp),%eax
4476 40004765:       8b 7d 08                mov    0x8(%ebp),%edi
4477 40004768:       89 47 1c                mov    %eax,0x1c(%edi)
4478 4000476b:       8b 45 dc                mov    -0x24(%ebp),%eax
4479 4000476e:       8b 55 08                mov    0x8(%ebp),%edx
4480 40004771:       89 42 20                mov    %eax,0x20(%edx)
4481 40004774:       8b 45 e0                mov    -0x20(%ebp),%eax
4482 40004777:       8b 4d 08                mov    0x8(%ebp),%ecx
4483 4000477a:       89 41 24                mov    %eax,0x24(%ecx)
4484 4000477d:       8b 45 08                mov    0x8(%ebp),%eax
4485 40004780:       83 c4 54                add    $0x54,%esp
4486 40004783:       5f                      pop    %edi
4487 40004784:       5d                      pop    %ebp
4488 40004785:       c2 04 00                ret    $0x4
4490 40004788 <internal_malloc_stats>:
4491 40004788:       55                      push   %ebp
4492 40004789:       89 e5                   mov    %esp,%ebp
4493 4000478b:       83 ec 38                sub    $0x38,%esp
4494 4000478e:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
4495 40004795:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
4496 4000479c:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
4497 400047a3:       8b 45 08                mov    0x8(%ebp),%eax
4498 400047a6:       8b 40 18                mov    0x18(%eax),%eax
4499 400047a9:       85 c0                   test   %eax,%eax
4500 400047ab:       0f 84 ee 00 00 00       je     4000489f <internal_malloc_stats+0x117>
4501 400047b1:       8b 45 08                mov    0x8(%ebp),%eax
4502 400047b4:       05 b8 01 00 00          add    $0x1b8,%eax
4503 400047b9:       89 45 f8                mov    %eax,-0x8(%ebp)
4504 400047bc:       8b 45 08                mov    0x8(%ebp),%eax
4505 400047bf:       8b 80 b0 01 00 00       mov    0x1b0(%eax),%eax
4506 400047c5:       89 45 ec                mov    %eax,-0x14(%ebp)
4507 400047c8:       8b 45 08                mov    0x8(%ebp),%eax
4508 400047cb:       8b 80 ac 01 00 00       mov    0x1ac(%eax),%eax
4509 400047d1:       89 45 f0                mov    %eax,-0x10(%ebp)
4510 400047d4:       8b 45 08                mov    0x8(%ebp),%eax
4511 400047d7:       8b 50 0c                mov    0xc(%eax),%edx
4512 400047da:       8b 45 f0                mov    -0x10(%ebp),%eax
4513 400047dd:       29 d0                   sub    %edx,%eax
4514 400047df:       83 e8 28                sub    $0x28,%eax
4515 400047e2:       89 45 f4                mov    %eax,-0xc(%ebp)
4516 400047e5:       e9 ab 00 00 00          jmp    40004895 <internal_malloc_stats+0x10d>
4517 400047ea:       8b 45 f8                mov    -0x8(%ebp),%eax
4518 400047ed:       8b 00                   mov    (%eax),%eax
4519 400047ef:       89 45 d8                mov    %eax,-0x28(%ebp)
4520 400047f2:       8b 45 f8                mov    -0x8(%ebp),%eax
4521 400047f5:       8b 00                   mov    (%eax),%eax
4522 400047f7:       83 c0 08                add    $0x8,%eax
4523 400047fa:       83 e0 07                and    $0x7,%eax
4524 400047fd:       85 c0                   test   %eax,%eax
4525 400047ff:       74 1e                   je     4000481f <internal_malloc_stats+0x97>
4526 40004801:       8b 45 f8                mov    -0x8(%ebp),%eax
4527 40004804:       8b 00                   mov    (%eax),%eax
4528 40004806:       83 c0 08                add    $0x8,%eax
4529 40004809:       89 c2                   mov    %eax,%edx
4530 4000480b:       83 e2 07                and    $0x7,%edx
4531 4000480e:       b8 08 00 00 00          mov    $0x8,%eax
4532 40004813:       29 d0                   sub    %edx,%eax
4533 40004815:       89 c2                   mov    %eax,%edx
4534 40004817:       83 e2 07                and    $0x7,%edx
4535 4000481a:       89 55 dc                mov    %edx,-0x24(%ebp)
4536 4000481d:       eb 07                   jmp    40004826 <internal_malloc_stats+0x9e>
4537 4000481f:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
4538 40004826:       8b 45 d8                mov    -0x28(%ebp),%eax
4539 40004829:       03 45 dc                add    -0x24(%ebp),%eax
4540 4000482c:       89 45 fc                mov    %eax,-0x4(%ebp)
4541 4000482f:       eb 25                   jmp    40004856 <internal_malloc_stats+0xce>
4542 40004831:       8b 45 fc                mov    -0x4(%ebp),%eax
4543 40004834:       8b 40 04                mov    0x4(%eax),%eax
4544 40004837:       83 e0 02                and    $0x2,%eax
4545 4000483a:       85 c0                   test   %eax,%eax
4546 4000483c:       75 0c                   jne    4000484a <internal_malloc_stats+0xc2>
4547 4000483e:       8b 45 fc                mov    -0x4(%ebp),%eax
4548 40004841:       8b 40 04                mov    0x4(%eax),%eax
4549 40004844:       83 e0 fc                and    $0xfffffffc,%eax
4550 40004847:       29 45 f4                sub    %eax,-0xc(%ebp)
4551 4000484a:       8b 45 fc                mov    -0x4(%ebp),%eax
4552 4000484d:       8b 40 04                mov    0x4(%eax),%eax
4553 40004850:       83 e0 fc                and    $0xfffffffc,%eax
4554 40004853:       01 45 fc                add    %eax,-0x4(%ebp)
4555 40004856:       8b 45 f8                mov    -0x8(%ebp),%eax
4556 40004859:       8b 10                   mov    (%eax),%edx
4557 4000485b:       8b 45 fc                mov    -0x4(%ebp),%eax
4558 4000485e:       39 c2                   cmp    %eax,%edx
4559 40004860:       77 2a                   ja     4000488c <internal_malloc_stats+0x104>
4560 40004862:       8b 45 f8                mov    -0x8(%ebp),%eax
4561 40004865:       8b 10                   mov    (%eax),%edx
4562 40004867:       8b 45 f8                mov    -0x8(%ebp),%eax
4563 4000486a:       8b 40 04                mov    0x4(%eax),%eax
4564 4000486d:       01 c2                   add    %eax,%edx
4565 4000486f:       8b 45 fc                mov    -0x4(%ebp),%eax
4566 40004872:       39 c2                   cmp    %eax,%edx
4567 40004874:       76 16                   jbe    4000488c <internal_malloc_stats+0x104>
4568 40004876:       8b 45 08                mov    0x8(%ebp),%eax
4569 40004879:       8b 40 18                mov    0x18(%eax),%eax
4570 4000487c:       3b 45 fc                cmp    -0x4(%ebp),%eax
4571 4000487f:       74 0b                   je     4000488c <internal_malloc_stats+0x104>
4572 40004881:       8b 45 fc                mov    -0x4(%ebp),%eax
4573 40004884:       8b 40 04                mov    0x4(%eax),%eax
4574 40004887:       83 f8 07                cmp    $0x7,%eax
4575 4000488a:       75 a5                   jne    40004831 <internal_malloc_stats+0xa9>
4576 4000488c:       8b 45 f8                mov    -0x8(%ebp),%eax
4577 4000488f:       8b 40 08                mov    0x8(%eax),%eax
4578 40004892:       89 45 f8                mov    %eax,-0x8(%ebp)
4579 40004895:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
4580 40004899:       0f 85 4b ff ff ff       jne    400047ea <internal_malloc_stats+0x62>
4581 4000489f:       8b 15 18 1c 01 40       mov    0x40011c18,%edx
4582 400048a5:       8b 45 ec                mov    -0x14(%ebp),%eax
4583 400048a8:       89 44 24 08             mov    %eax,0x8(%esp)
4584 400048ac:       c7 44 24 04 da e7 00    movl   $0x4000e7da,0x4(%esp)
4585 400048b3:       40 
4586 400048b4:       89 14 24                mov    %edx,(%esp)
4587 400048b7:       e8 fc fa ff ff          call   400043b8 <fprintf>
4588 400048bc:       8b 15 18 1c 01 40       mov    0x40011c18,%edx
4589 400048c2:       8b 45 f0                mov    -0x10(%ebp),%eax
4590 400048c5:       89 44 24 08             mov    %eax,0x8(%esp)
4591 400048c9:       c7 44 24 04 f4 e7 00    movl   $0x4000e7f4,0x4(%esp)
4592 400048d0:       40 
4593 400048d1:       89 14 24                mov    %edx,(%esp)
4594 400048d4:       e8 df fa ff ff          call   400043b8 <fprintf>
4595 400048d9:       8b 15 18 1c 01 40       mov    0x40011c18,%edx
4596 400048df:       8b 45 f4                mov    -0xc(%ebp),%eax
4597 400048e2:       89 44 24 08             mov    %eax,0x8(%esp)
4598 400048e6:       c7 44 24 04 0e e8 00    movl   $0x4000e80e,0x4(%esp)
4599 400048ed:       40 
4600 400048ee:       89 14 24                mov    %edx,(%esp)
4601 400048f1:       e8 c2 fa ff ff          call   400043b8 <fprintf>
4602 400048f6:       c9                      leave  
4603 400048f7:       c3                      ret    
4605 400048f8 <mmap_alloc>:
4606 400048f8:       55                      push   %ebp
4607 400048f9:       89 e5                   mov    %esp,%ebp
4608 400048fb:       83 ec 28                sub    $0x28,%esp
4609 400048fe:       a1 48 05 01 40          mov    0x40010548,%eax
4610 40004903:       03 45 0c                add    0xc(%ebp),%eax
4611 40004906:       8d 50 1f                lea    0x1f(%eax),%edx
4612 40004909:       a1 48 05 01 40          mov    0x40010548,%eax
4613 4000490e:       f7 d8                   neg    %eax
4614 40004910:       21 d0                   and    %edx,%eax
4615 40004912:       89 45 ec                mov    %eax,-0x14(%ebp)
4616 40004915:       8b 45 ec                mov    -0x14(%ebp),%eax
4617 40004918:       3b 45 0c                cmp    0xc(%ebp),%eax
4618 4000491b:       0f 86 f1 00 00 00       jbe    40004a12 <mmap_alloc+0x11a>
4619 40004921:       c7 45 f0 ff ff ff ff    movl   $0xffffffff,-0x10(%ebp)
4620 40004928:       83 7d f0 ff             cmpl   $0xffffffff,-0x10(%ebp)
4621 4000492c:       0f 84 e0 00 00 00       je     40004a12 <mmap_alloc+0x11a>
4622 40004932:       8b 45 f0                mov    -0x10(%ebp),%eax
4623 40004935:       83 c0 08                add    $0x8,%eax
4624 40004938:       83 e0 07                and    $0x7,%eax
4625 4000493b:       85 c0                   test   %eax,%eax
4626 4000493d:       74 1c                   je     4000495b <mmap_alloc+0x63>
4627 4000493f:       8b 45 f0                mov    -0x10(%ebp),%eax
4628 40004942:       83 c0 08                add    $0x8,%eax
4629 40004945:       89 c2                   mov    %eax,%edx
4630 40004947:       83 e2 07                and    $0x7,%edx
4631 4000494a:       b8 08 00 00 00          mov    $0x8,%eax
4632 4000494f:       29 d0                   sub    %edx,%eax
4633 40004951:       89 c2                   mov    %eax,%edx
4634 40004953:       83 e2 07                and    $0x7,%edx
4635 40004956:       89 55 d8                mov    %edx,-0x28(%ebp)
4636 40004959:       eb 07                   jmp    40004962 <mmap_alloc+0x6a>
4637 4000495b:       c7 45 d8 00 00 00 00    movl   $0x0,-0x28(%ebp)
4638 40004962:       8b 45 d8                mov    -0x28(%ebp),%eax
4639 40004965:       89 45 f4                mov    %eax,-0xc(%ebp)
4640 40004968:       8b 55 f4                mov    -0xc(%ebp),%edx
4641 4000496b:       8b 45 ec                mov    -0x14(%ebp),%eax
4642 4000496e:       29 d0                   sub    %edx,%eax
4643 40004970:       83 e8 10                sub    $0x10,%eax
4644 40004973:       89 45 f8                mov    %eax,-0x8(%ebp)
4645 40004976:       8b 45 f0                mov    -0x10(%ebp),%eax
4646 40004979:       03 45 f4                add    -0xc(%ebp),%eax
4647 4000497c:       89 45 fc                mov    %eax,-0x4(%ebp)
4648 4000497f:       8b 55 fc                mov    -0x4(%ebp),%edx
4649 40004982:       8b 45 f4                mov    -0xc(%ebp),%eax
4650 40004985:       89 02                   mov    %eax,(%edx)
4651 40004987:       8b 45 f8                mov    -0x8(%ebp),%eax
4652 4000498a:       89 c2                   mov    %eax,%edx
4653 4000498c:       83 ca 02                or     $0x2,%edx
4654 4000498f:       8b 45 fc                mov    -0x4(%ebp),%eax
4655 40004992:       89 50 04                mov    %edx,0x4(%eax)
4656 40004995:       8b 55 f8                mov    -0x8(%ebp),%edx
4657 40004998:       8b 45 fc                mov    -0x4(%ebp),%eax
4658 4000499b:       01 d0                   add    %edx,%eax
4659 4000499d:       c7 40 04 07 00 00 00    movl   $0x7,0x4(%eax)
4660 400049a4:       8b 45 f8                mov    -0x8(%ebp),%eax
4661 400049a7:       83 c0 04                add    $0x4,%eax
4662 400049aa:       03 45 fc                add    -0x4(%ebp),%eax
4663 400049ad:       c7 40 04 00 00 00 00    movl   $0x0,0x4(%eax)
4664 400049b4:       8b 45 08                mov    0x8(%ebp),%eax
4665 400049b7:       8b 40 10                mov    0x10(%eax),%eax
4666 400049ba:       3b 45 f0                cmp    -0x10(%ebp),%eax
4667 400049bd:       76 09                   jbe    400049c8 <mmap_alloc+0xd0>
4668 400049bf:       8b 55 08                mov    0x8(%ebp),%edx
4669 400049c2:       8b 45 f0                mov    -0x10(%ebp),%eax
4670 400049c5:       89 42 10                mov    %eax,0x10(%edx)
4671 400049c8:       8b 45 08                mov    0x8(%ebp),%eax
4672 400049cb:       8b 80 ac 01 00 00       mov    0x1ac(%eax),%eax
4673 400049d1:       89 c2                   mov    %eax,%edx
4674 400049d3:       03 55 ec                add    -0x14(%ebp),%edx
4675 400049d6:       8b 45 08                mov    0x8(%ebp),%eax
4676 400049d9:       89 90 ac 01 00 00       mov    %edx,0x1ac(%eax)
4677 400049df:       8b 45 08                mov    0x8(%ebp),%eax
4678 400049e2:       8b 90 ac 01 00 00       mov    0x1ac(%eax),%edx
4679 400049e8:       8b 45 08                mov    0x8(%ebp),%eax
4680 400049eb:       8b 80 b0 01 00 00       mov    0x1b0(%eax),%eax
4681 400049f1:       39 c2                   cmp    %eax,%edx
4682 400049f3:       76 12                   jbe    40004a07 <mmap_alloc+0x10f>
4683 400049f5:       8b 45 08                mov    0x8(%ebp),%eax
4684 400049f8:       8b 90 ac 01 00 00       mov    0x1ac(%eax),%edx
4685 400049fe:       8b 45 08                mov    0x8(%ebp),%eax
4686 40004a01:       89 90 b0 01 00 00       mov    %edx,0x1b0(%eax)
4687 40004a07:       8b 45 fc                mov    -0x4(%ebp),%eax
4688 40004a0a:       83 c0 08                add    $0x8,%eax
4689 40004a0d:       89 45 dc                mov    %eax,-0x24(%ebp)
4690 40004a10:       eb 07                   jmp    40004a19 <mmap_alloc+0x121>
4691 40004a12:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
4692 40004a19:       8b 45 dc                mov    -0x24(%ebp),%eax
4693 40004a1c:       c9                      leave  
4694 40004a1d:       c3                      ret    
4696 40004a1e <mmap_resize>:
4697 40004a1e:       55                      push   %ebp
4698 40004a1f:       89 e5                   mov    %esp,%ebp
4699 40004a21:       83 ec 24                sub    $0x24,%esp
4700 40004a24:       8b 45 0c                mov    0xc(%ebp),%eax
4701 40004a27:       8b 40 04                mov    0x4(%eax),%eax
4702 40004a2a:       83 e0 fc                and    $0xfffffffc,%eax
4703 40004a2d:       89 45 e4                mov    %eax,-0x1c(%ebp)
4704 40004a30:       8b 45 10                mov    0x10(%ebp),%eax
4705 40004a33:       c1 e8 03                shr    $0x3,%eax
4706 40004a36:       83 f8 1f                cmp    $0x1f,%eax
4707 40004a39:       77 0c                   ja     40004a47 <mmap_resize+0x29>
4708 40004a3b:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
4709 40004a42:       e9 17 01 00 00          jmp    40004b5e <mmap_resize+0x140>
4710 40004a47:       8b 45 10                mov    0x10(%ebp),%eax
4711 40004a4a:       83 c0 04                add    $0x4,%eax
4712 40004a4d:       3b 45 e4                cmp    -0x1c(%ebp),%eax
4713 40004a50:       77 22                   ja     40004a74 <mmap_resize+0x56>
4714 40004a52:       8b 55 10                mov    0x10(%ebp),%edx
4715 40004a55:       8b 45 e4                mov    -0x1c(%ebp),%eax
4716 40004a58:       89 c1                   mov    %eax,%ecx
4717 40004a5a:       29 d1                   sub    %edx,%ecx
4718 40004a5c:       89 ca                   mov    %ecx,%edx
4719 40004a5e:       a1 48 05 01 40          mov    0x40010548,%eax
4720 40004a63:       01 c0                   add    %eax,%eax
4721 40004a65:       39 c2                   cmp    %eax,%edx
4722 40004a67:       77 0b                   ja     40004a74 <mmap_resize+0x56>
4723 40004a69:       8b 45 0c                mov    0xc(%ebp),%eax
4724 40004a6c:       89 45 dc                mov    %eax,-0x24(%ebp)
4725 40004a6f:       e9 ea 00 00 00          jmp    40004b5e <mmap_resize+0x140>
4726 40004a74:       8b 45 0c                mov    0xc(%ebp),%eax
4727 40004a77:       8b 00                   mov    (%eax),%eax
4728 40004a79:       89 45 e8                mov    %eax,-0x18(%ebp)
4729 40004a7c:       8b 55 e8                mov    -0x18(%ebp),%edx
4730 40004a7f:       8b 45 e4                mov    -0x1c(%ebp),%eax
4731 40004a82:       01 d0                   add    %edx,%eax
4732 40004a84:       83 c0 10                add    $0x10,%eax
4733 40004a87:       89 45 ec                mov    %eax,-0x14(%ebp)
4734 40004a8a:       a1 48 05 01 40          mov    0x40010548,%eax
4735 40004a8f:       03 45 10                add    0x10(%ebp),%eax
4736 40004a92:       8d 50 1f                lea    0x1f(%eax),%edx
4737 40004a95:       a1 48 05 01 40          mov    0x40010548,%eax
4738 40004a9a:       f7 d8                   neg    %eax
4739 40004a9c:       21 d0                   and    %edx,%eax
4740 40004a9e:       89 45 f0                mov    %eax,-0x10(%ebp)
4741 40004aa1:       c7 45 f4 ff ff ff ff    movl   $0xffffffff,-0xc(%ebp)
4742 40004aa8:       83 7d f4 ff             cmpl   $0xffffffff,-0xc(%ebp)
4743 40004aac:       0f 84 a5 00 00 00       je     40004b57 <mmap_resize+0x139>
4744 40004ab2:       8b 45 f4                mov    -0xc(%ebp),%eax
4745 40004ab5:       03 45 e8                add    -0x18(%ebp),%eax
4746 40004ab8:       89 45 f8                mov    %eax,-0x8(%ebp)
4747 40004abb:       8b 55 e8                mov    -0x18(%ebp),%edx
4748 40004abe:       8b 45 f0                mov    -0x10(%ebp),%eax
4749 40004ac1:       29 d0                   sub    %edx,%eax
4750 40004ac3:       83 e8 10                sub    $0x10,%eax
4751 40004ac6:       89 45 fc                mov    %eax,-0x4(%ebp)
4752 40004ac9:       8b 45 fc                mov    -0x4(%ebp),%eax
4753 40004acc:       89 c2                   mov    %eax,%edx
4754 40004ace:       83 ca 02                or     $0x2,%edx
4755 40004ad1:       8b 45 f8                mov    -0x8(%ebp),%eax
4756 40004ad4:       89 50 04                mov    %edx,0x4(%eax)
4757 40004ad7:       8b 55 fc                mov    -0x4(%ebp),%edx
4758 40004ada:       8b 45 f8                mov    -0x8(%ebp),%eax
4759 40004add:       01 d0                   add    %edx,%eax
4760 40004adf:       c7 40 04 07 00 00 00    movl   $0x7,0x4(%eax)
4761 40004ae6:       8b 45 fc                mov    -0x4(%ebp),%eax
4762 40004ae9:       83 c0 04                add    $0x4,%eax
4763 40004aec:       03 45 f8                add    -0x8(%ebp),%eax
4764 40004aef:       c7 40 04 00 00 00 00    movl   $0x0,0x4(%eax)
4765 40004af6:       8b 45 08                mov    0x8(%ebp),%eax
4766 40004af9:       8b 40 10                mov    0x10(%eax),%eax
4767 40004afc:       3b 45 f4                cmp    -0xc(%ebp),%eax
4768 40004aff:       76 09                   jbe    40004b0a <mmap_resize+0xec>
4769 40004b01:       8b 55 08                mov    0x8(%ebp),%edx
4770 40004b04:       8b 45 f4                mov    -0xc(%ebp),%eax
4771 40004b07:       89 42 10                mov    %eax,0x10(%edx)
4772 40004b0a:       8b 45 08                mov    0x8(%ebp),%eax
4773 40004b0d:       8b 88 ac 01 00 00       mov    0x1ac(%eax),%ecx
4774 40004b13:       8b 55 ec                mov    -0x14(%ebp),%edx
4775 40004b16:       8b 45 f0                mov    -0x10(%ebp),%eax
4776 40004b19:       29 d0                   sub    %edx,%eax
4777 40004b1b:       8d 14 01                lea    (%ecx,%eax,1),%edx
4778 40004b1e:       8b 45 08                mov    0x8(%ebp),%eax
4779 40004b21:       89 90 ac 01 00 00       mov    %edx,0x1ac(%eax)
4780 40004b27:       8b 45 08                mov    0x8(%ebp),%eax
4781 40004b2a:       8b 90 ac 01 00 00       mov    0x1ac(%eax),%edx
4782 40004b30:       8b 45 08                mov    0x8(%ebp),%eax
4783 40004b33:       8b 80 b0 01 00 00       mov    0x1b0(%eax),%eax
4784 40004b39:       39 c2                   cmp    %eax,%edx
4785 40004b3b:       76 12                   jbe    40004b4f <mmap_resize+0x131>
4786 40004b3d:       8b 45 08                mov    0x8(%ebp),%eax
4787 40004b40:       8b 90 ac 01 00 00       mov    0x1ac(%eax),%edx
4788 40004b46:       8b 45 08                mov    0x8(%ebp),%eax
4789 40004b49:       89 90 b0 01 00 00       mov    %edx,0x1b0(%eax)
4790 40004b4f:       8b 4d f8                mov    -0x8(%ebp),%ecx
4791 40004b52:       89 4d dc                mov    %ecx,-0x24(%ebp)
4792 40004b55:       eb 07                   jmp    40004b5e <mmap_resize+0x140>
4793 40004b57:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
4794 40004b5e:       8b 45 dc                mov    -0x24(%ebp),%eax
4795 40004b61:       c9                      leave  
4796 40004b62:       c3                      ret    
4798 40004b63 <init_top>:
4799 40004b63:       55                      push   %ebp
4800 40004b64:       89 e5                   mov    %esp,%ebp
4801 40004b66:       83 ec 14                sub    $0x14,%esp
4802 40004b69:       8b 45 0c                mov    0xc(%ebp),%eax
4803 40004b6c:       83 c0 08                add    $0x8,%eax
4804 40004b6f:       83 e0 07                and    $0x7,%eax
4805 40004b72:       85 c0                   test   %eax,%eax
4806 40004b74:       74 1c                   je     40004b92 <init_top+0x2f>
4807 40004b76:       8b 45 0c                mov    0xc(%ebp),%eax
4808 40004b79:       83 c0 08                add    $0x8,%eax
4809 40004b7c:       89 c2                   mov    %eax,%edx
4810 40004b7e:       83 e2 07                and    $0x7,%edx
4811 40004b81:       b8 08 00 00 00          mov    $0x8,%eax
4812 40004b86:       29 d0                   sub    %edx,%eax
4813 40004b88:       89 c2                   mov    %eax,%edx
4814 40004b8a:       83 e2 07                and    $0x7,%edx
4815 40004b8d:       89 55 ec                mov    %edx,-0x14(%ebp)
4816 40004b90:       eb 07                   jmp    40004b99 <init_top+0x36>
4817 40004b92:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
4818 40004b99:       8b 45 ec                mov    -0x14(%ebp),%eax
4819 40004b9c:       89 45 fc                mov    %eax,-0x4(%ebp)
4820 40004b9f:       8b 45 fc                mov    -0x4(%ebp),%eax
4821 40004ba2:       01 45 0c                add    %eax,0xc(%ebp)
4822 40004ba5:       8b 45 fc                mov    -0x4(%ebp),%eax
4823 40004ba8:       29 45 10                sub    %eax,0x10(%ebp)
4824 40004bab:       8b 55 08                mov    0x8(%ebp),%edx
4825 40004bae:       8b 45 0c                mov    0xc(%ebp),%eax
4826 40004bb1:       89 42 18                mov    %eax,0x18(%edx)
4827 40004bb4:       8b 55 08                mov    0x8(%ebp),%edx
4828 40004bb7:       8b 45 10                mov    0x10(%ebp),%eax
4829 40004bba:       89 42 0c                mov    %eax,0xc(%edx)
4830 40004bbd:       8b 45 10                mov    0x10(%ebp),%eax
4831 40004bc0:       89 c2                   mov    %eax,%edx
4832 40004bc2:       83 ca 01                or     $0x1,%edx
4833 40004bc5:       8b 45 0c                mov    0xc(%ebp),%eax
4834 40004bc8:       89 50 04                mov    %edx,0x4(%eax)
4835 40004bcb:       8b 55 10                mov    0x10(%ebp),%edx
4836 40004bce:       8b 45 0c                mov    0xc(%ebp),%eax
4837 40004bd1:       01 d0                   add    %edx,%eax
4838 40004bd3:       c7 40 04 28 00 00 00    movl   $0x28,0x4(%eax)
4839 40004bda:       8b 15 50 05 01 40       mov    0x40010550,%edx
4840 40004be0:       8b 45 08                mov    0x8(%ebp),%eax
4841 40004be3:       89 50 1c                mov    %edx,0x1c(%eax)
4842 40004be6:       c9                      leave  
4843 40004be7:       c3                      ret    
4845 40004be8 <init_bins>:
4846 40004be8:       55                      push   %ebp
4847 40004be9:       89 e5                   mov    %esp,%ebp
4848 40004beb:       83 ec 10                sub    $0x10,%esp
4849 40004bee:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
4850 40004bf5:       eb 2d                   jmp    40004c24 <init_bins+0x3c>
4851 40004bf7:       8b 45 08                mov    0x8(%ebp),%eax
4852 40004bfa:       83 c0 24                add    $0x24,%eax
4853 40004bfd:       89 c2                   mov    %eax,%edx
4854 40004bff:       8b 45 f8                mov    -0x8(%ebp),%eax
4855 40004c02:       c1 e0 03                shl    $0x3,%eax
4856 40004c05:       8d 04 02                lea    (%edx,%eax,1),%eax
4857 40004c08:       89 45 fc                mov    %eax,-0x4(%ebp)
4858 40004c0b:       8b 55 fc                mov    -0x4(%ebp),%edx
4859 40004c0e:       8b 45 fc                mov    -0x4(%ebp),%eax
4860 40004c11:       89 42 0c                mov    %eax,0xc(%edx)
4861 40004c14:       8b 45 fc                mov    -0x4(%ebp),%eax
4862 40004c17:       8b 50 0c                mov    0xc(%eax),%edx
4863 40004c1a:       8b 45 fc                mov    -0x4(%ebp),%eax
4864 40004c1d:       89 50 08                mov    %edx,0x8(%eax)
4865 40004c20:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
4866 40004c24:       83 7d f8 1f             cmpl   $0x1f,-0x8(%ebp)
4867 40004c28:       76 cd                   jbe    40004bf7 <init_bins+0xf>
4868 40004c2a:       c9                      leave  
4869 40004c2b:       c3                      ret    
4871 40004c2c <prepend_alloc>:
4872 40004c2c:       55                      push   %ebp
4873 40004c2d:       89 e5                   mov    %esp,%ebp
4874 40004c2f:       81 ec 98 00 00 00       sub    $0x98,%esp
4875 40004c35:       8b 45 0c                mov    0xc(%ebp),%eax
4876 40004c38:       83 c0 08                add    $0x8,%eax
4877 40004c3b:       83 e0 07                and    $0x7,%eax
4878 40004c3e:       85 c0                   test   %eax,%eax
4879 40004c40:       74 1f                   je     40004c61 <prepend_alloc+0x35>
4880 40004c42:       8b 45 0c                mov    0xc(%ebp),%eax
4881 40004c45:       83 c0 08                add    $0x8,%eax
4882 40004c48:       89 c2                   mov    %eax,%edx
4883 40004c4a:       83 e2 07                and    $0x7,%edx
4884 40004c4d:       b8 08 00 00 00          mov    $0x8,%eax
4885 40004c52:       29 d0                   sub    %edx,%eax
4886 40004c54:       89 c2                   mov    %eax,%edx
4887 40004c56:       83 e2 07                and    $0x7,%edx
4888 40004c59:       89 95 6c ff ff ff       mov    %edx,-0x94(%ebp)
4889 40004c5f:       eb 0a                   jmp    40004c6b <prepend_alloc+0x3f>
4890 40004c61:       c7 85 6c ff ff ff 00    movl   $0x0,-0x94(%ebp)
4891 40004c68:       00 00 00 
4892 40004c6b:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
4893 40004c71:       03 45 0c                add    0xc(%ebp),%eax
4894 40004c74:       89 45 80                mov    %eax,-0x80(%ebp)
4895 40004c77:       8b 45 10                mov    0x10(%ebp),%eax
4896 40004c7a:       83 c0 08                add    $0x8,%eax
4897 40004c7d:       83 e0 07                and    $0x7,%eax
4898 40004c80:       85 c0                   test   %eax,%eax
4899 40004c82:       74 1f                   je     40004ca3 <prepend_alloc+0x77>
4900 40004c84:       8b 45 10                mov    0x10(%ebp),%eax
4901 40004c87:       83 c0 08                add    $0x8,%eax
4902 40004c8a:       89 c2                   mov    %eax,%edx
4903 40004c8c:       83 e2 07                and    $0x7,%edx
4904 40004c8f:       b8 08 00 00 00          mov    $0x8,%eax
4905 40004c94:       29 d0                   sub    %edx,%eax
4906 40004c96:       89 c1                   mov    %eax,%ecx
4907 40004c98:       83 e1 07                and    $0x7,%ecx
4908 40004c9b:       89 8d 70 ff ff ff       mov    %ecx,-0x90(%ebp)
4909 40004ca1:       eb 0a                   jmp    40004cad <prepend_alloc+0x81>
4910 40004ca3:       c7 85 70 ff ff ff 00    movl   $0x0,-0x90(%ebp)
4911 40004caa:       00 00 00 
4912 40004cad:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
4913 40004cb3:       03 45 10                add    0x10(%ebp),%eax
4914 40004cb6:       89 45 84                mov    %eax,-0x7c(%ebp)
4915 40004cb9:       8b 55 84                mov    -0x7c(%ebp),%edx
4916 40004cbc:       8b 45 80                mov    -0x80(%ebp),%eax
4917 40004cbf:       89 d1                   mov    %edx,%ecx
4918 40004cc1:       29 c1                   sub    %eax,%ecx
4919 40004cc3:       89 c8                   mov    %ecx,%eax
4920 40004cc5:       89 45 88                mov    %eax,-0x78(%ebp)
4921 40004cc8:       8b 55 14                mov    0x14(%ebp),%edx
4922 40004ccb:       8b 45 80                mov    -0x80(%ebp),%eax
4923 40004cce:       01 d0                   add    %edx,%eax
4924 40004cd0:       89 45 8c                mov    %eax,-0x74(%ebp)
4925 40004cd3:       8b 55 14                mov    0x14(%ebp),%edx
4926 40004cd6:       8b 45 88                mov    -0x78(%ebp),%eax
4927 40004cd9:       29 d0                   sub    %edx,%eax
4928 40004cdb:       89 45 90                mov    %eax,-0x70(%ebp)
4929 40004cde:       8b 45 14                mov    0x14(%ebp),%eax
4930 40004ce1:       89 c2                   mov    %eax,%edx
4931 40004ce3:       83 ca 03                or     $0x3,%edx
4932 40004ce6:       8b 45 80                mov    -0x80(%ebp),%eax
4933 40004ce9:       89 50 04                mov    %edx,0x4(%eax)
4934 40004cec:       8b 45 08                mov    0x8(%ebp),%eax
4935 40004cef:       8b 40 18                mov    0x18(%eax),%eax
4936 40004cf2:       3b 45 84                cmp    -0x7c(%ebp),%eax
4937 40004cf5:       75 36                   jne    40004d2d <prepend_alloc+0x101>
4938 40004cf7:       8b 45 08                mov    0x8(%ebp),%eax
4939 40004cfa:       8b 40 0c                mov    0xc(%eax),%eax
4940 40004cfd:       89 c2                   mov    %eax,%edx
4941 40004cff:       03 55 90                add    -0x70(%ebp),%edx
4942 40004d02:       8b 45 08                mov    0x8(%ebp),%eax
4943 40004d05:       89 50 0c                mov    %edx,0xc(%eax)
4944 40004d08:       8b 45 08                mov    0x8(%ebp),%eax
4945 40004d0b:       8b 40 0c                mov    0xc(%eax),%eax
4946 40004d0e:       89 45 94                mov    %eax,-0x6c(%ebp)
4947 40004d11:       8b 55 08                mov    0x8(%ebp),%edx
4948 40004d14:       8b 45 8c                mov    -0x74(%ebp),%eax
4949 40004d17:       89 42 18                mov    %eax,0x18(%edx)
4950 40004d1a:       8b 45 94                mov    -0x6c(%ebp),%eax
4951 40004d1d:       89 c2                   mov    %eax,%edx
4952 40004d1f:       83 ca 01                or     $0x1,%edx
4953 40004d22:       8b 45 8c                mov    -0x74(%ebp),%eax
4954 40004d25:       89 50 04                mov    %edx,0x4(%eax)
4955 40004d28:       e9 9f 06 00 00          jmp    400053cc <prepend_alloc+0x7a0>
4956 40004d2d:       8b 45 08                mov    0x8(%ebp),%eax
4957 40004d30:       8b 40 14                mov    0x14(%eax),%eax
4958 40004d33:       3b 45 84                cmp    -0x7c(%ebp),%eax
4959 40004d36:       75 44                   jne    40004d7c <prepend_alloc+0x150>
4960 40004d38:       8b 45 08                mov    0x8(%ebp),%eax
4961 40004d3b:       8b 40 08                mov    0x8(%eax),%eax
4962 40004d3e:       89 c2                   mov    %eax,%edx
4963 40004d40:       03 55 90                add    -0x70(%ebp),%edx
4964 40004d43:       8b 45 08                mov    0x8(%ebp),%eax
4965 40004d46:       89 50 08                mov    %edx,0x8(%eax)
4966 40004d49:       8b 45 08                mov    0x8(%ebp),%eax
4967 40004d4c:       8b 40 08                mov    0x8(%eax),%eax
4968 40004d4f:       89 45 98                mov    %eax,-0x68(%ebp)
4969 40004d52:       8b 55 08                mov    0x8(%ebp),%edx
4970 40004d55:       8b 45 8c                mov    -0x74(%ebp),%eax
4971 40004d58:       89 42 14                mov    %eax,0x14(%edx)
4972 40004d5b:       8b 45 98                mov    -0x68(%ebp),%eax
4973 40004d5e:       89 c2                   mov    %eax,%edx
4974 40004d60:       83 ca 01                or     $0x1,%edx
4975 40004d63:       8b 45 8c                mov    -0x74(%ebp),%eax
4976 40004d66:       89 50 04                mov    %edx,0x4(%eax)
4977 40004d69:       8b 55 98                mov    -0x68(%ebp),%edx
4978 40004d6c:       8b 45 8c                mov    -0x74(%ebp),%eax
4979 40004d6f:       8d 14 10                lea    (%eax,%edx,1),%edx
4980 40004d72:       8b 45 98                mov    -0x68(%ebp),%eax
4981 40004d75:       89 02                   mov    %eax,(%edx)
4982 40004d77:       e9 50 06 00 00          jmp    400053cc <prepend_alloc+0x7a0>
4983 40004d7c:       8b 45 84                mov    -0x7c(%ebp),%eax
4984 40004d7f:       8b 40 04                mov    0x4(%eax),%eax
4985 40004d82:       83 e0 02                and    $0x2,%eax
4986 40004d85:       85 c0                   test   %eax,%eax
4987 40004d87:       0f 85 5b 03 00 00       jne    400050e8 <prepend_alloc+0x4bc>
4988 40004d8d:       8b 45 84                mov    -0x7c(%ebp),%eax
4989 40004d90:       8b 40 04                mov    0x4(%eax),%eax
4990 40004d93:       83 e0 fc                and    $0xfffffffc,%eax
4991 40004d96:       89 45 9c                mov    %eax,-0x64(%ebp)
4992 40004d99:       8b 45 9c                mov    -0x64(%ebp),%eax
4993 40004d9c:       c1 e8 03                shr    $0x3,%eax
4994 40004d9f:       83 f8 1f                cmp    $0x1f,%eax
4995 40004da2:       0f 87 05 01 00 00       ja     40004ead <prepend_alloc+0x281>
4996 40004da8:       8b 45 84                mov    -0x7c(%ebp),%eax
4997 40004dab:       8b 40 08                mov    0x8(%eax),%eax
4998 40004dae:       89 45 a0                mov    %eax,-0x60(%ebp)
4999 40004db1:       8b 45 84                mov    -0x7c(%ebp),%eax
5000 40004db4:       8b 40 0c                mov    0xc(%eax),%eax
5001 40004db7:       89 45 a4                mov    %eax,-0x5c(%ebp)
5002 40004dba:       8b 45 9c                mov    -0x64(%ebp),%eax
5003 40004dbd:       c1 e8 03                shr    $0x3,%eax
5004 40004dc0:       89 45 a8                mov    %eax,-0x58(%ebp)
5005 40004dc3:       8b 45 a0                mov    -0x60(%ebp),%eax
5006 40004dc6:       3b 45 a4                cmp    -0x5c(%ebp),%eax
5007 40004dc9:       75 1d                   jne    40004de8 <prepend_alloc+0x1bc>
5008 40004dcb:       8b 45 08                mov    0x8(%ebp),%eax
5009 40004dce:       8b 10                   mov    (%eax),%edx
5010 40004dd0:       8b 4d a8                mov    -0x58(%ebp),%ecx
5011 40004dd3:       b8 01 00 00 00          mov    $0x1,%eax
5012 40004dd8:       d3 e0                   shl    %cl,%eax
5013 40004dda:       f7 d0                   not    %eax
5014 40004ddc:       21 c2                   and    %eax,%edx
5015 40004dde:       8b 45 08                mov    0x8(%ebp),%eax
5016 40004de1:       89 10                   mov    %edx,(%eax)
5017 40004de3:       e9 f4 02 00 00          jmp    400050dc <prepend_alloc+0x4b0>
5018 40004de8:       8b 45 08                mov    0x8(%ebp),%eax
5019 40004deb:       83 c0 24                add    $0x24,%eax
5020 40004dee:       89 c2                   mov    %eax,%edx
5021 40004df0:       8b 45 a8                mov    -0x58(%ebp),%eax
5022 40004df3:       c1 e0 03                shl    $0x3,%eax
5023 40004df6:       8d 04 02                lea    (%edx,%eax,1),%eax
5024 40004df9:       3b 45 a0                cmp    -0x60(%ebp),%eax
5025 40004dfc:       0f 94 c0                sete   %al
5026 40004dff:       0f b6 c0                movzbl %al,%eax
5027 40004e02:       85 c0                   test   %eax,%eax
5028 40004e04:       75 15                   jne    40004e1b <prepend_alloc+0x1ef>
5029 40004e06:       8b 45 08                mov    0x8(%ebp),%eax
5030 40004e09:       8b 50 10                mov    0x10(%eax),%edx
5031 40004e0c:       8b 45 a0                mov    -0x60(%ebp),%eax
5032 40004e0f:       39 c2                   cmp    %eax,%edx
5033 40004e11:       0f 96 c0                setbe  %al
5034 40004e14:       0f b6 c0                movzbl %al,%eax
5035 40004e17:       85 c0                   test   %eax,%eax
5036 40004e19:       74 0c                   je     40004e27 <prepend_alloc+0x1fb>
5037 40004e1b:       c7 85 74 ff ff ff 01    movl   $0x1,-0x8c(%ebp)
5038 40004e22:       00 00 00 
5039 40004e25:       eb 0a                   jmp    40004e31 <prepend_alloc+0x205>
5040 40004e27:       c7 85 74 ff ff ff 00    movl   $0x0,-0x8c(%ebp)
5041 40004e2e:       00 00 00 
5042 40004e31:       83 bd 74 ff ff ff 00    cmpl   $0x0,-0x8c(%ebp)
5043 40004e38:       74 69                   je     40004ea3 <prepend_alloc+0x277>
5044 40004e3a:       8b 45 08                mov    0x8(%ebp),%eax
5045 40004e3d:       83 c0 24                add    $0x24,%eax
5046 40004e40:       89 c2                   mov    %eax,%edx
5047 40004e42:       8b 45 a8                mov    -0x58(%ebp),%eax
5048 40004e45:       c1 e0 03                shl    $0x3,%eax
5049 40004e48:       8d 04 02                lea    (%edx,%eax,1),%eax
5050 40004e4b:       3b 45 a4                cmp    -0x5c(%ebp),%eax
5051 40004e4e:       0f 94 c0                sete   %al
5052 40004e51:       0f b6 c0                movzbl %al,%eax
5053 40004e54:       85 c0                   test   %eax,%eax
5054 40004e56:       75 15                   jne    40004e6d <prepend_alloc+0x241>
5055 40004e58:       8b 45 08                mov    0x8(%ebp),%eax
5056 40004e5b:       8b 50 10                mov    0x10(%eax),%edx
5057 40004e5e:       8b 45 a4                mov    -0x5c(%ebp),%eax
5058 40004e61:       39 c2                   cmp    %eax,%edx
5059 40004e63:       0f 96 c0                setbe  %al
5060 40004e66:       0f b6 c0                movzbl %al,%eax
5061 40004e69:       85 c0                   test   %eax,%eax
5062 40004e6b:       74 0c                   je     40004e79 <prepend_alloc+0x24d>
5063 40004e6d:       c7 85 78 ff ff ff 01    movl   $0x1,-0x88(%ebp)
5064 40004e74:       00 00 00 
5065 40004e77:       eb 0a                   jmp    40004e83 <prepend_alloc+0x257>
5066 40004e79:       c7 85 78 ff ff ff 00    movl   $0x0,-0x88(%ebp)
5067 40004e80:       00 00 00 
5068 40004e83:       83 bd 78 ff ff ff 00    cmpl   $0x0,-0x88(%ebp)
5069 40004e8a:       74 17                   je     40004ea3 <prepend_alloc+0x277>
5070 40004e8c:       8b 55 a0                mov    -0x60(%ebp),%edx
5071 40004e8f:       8b 45 a4                mov    -0x5c(%ebp),%eax
5072 40004e92:       89 42 0c                mov    %eax,0xc(%edx)
5073 40004e95:       8b 55 a4                mov    -0x5c(%ebp),%edx
5074 40004e98:       8b 45 a0                mov    -0x60(%ebp),%eax
5075 40004e9b:       89 42 08                mov    %eax,0x8(%edx)
5076 40004e9e:       e9 39 02 00 00          jmp    400050dc <prepend_alloc+0x4b0>
5077 40004ea3:       e8 28 7c 00 00          call   4000cad0 <abort>
5078 40004ea8:       e9 2f 02 00 00          jmp    400050dc <prepend_alloc+0x4b0>
5079 40004ead:       8b 45 84                mov    -0x7c(%ebp),%eax
5080 40004eb0:       89 45 ac                mov    %eax,-0x54(%ebp)
5081 40004eb3:       8b 45 ac                mov    -0x54(%ebp),%eax
5082 40004eb6:       8b 40 18                mov    0x18(%eax),%eax
5083 40004eb9:       89 45 b0                mov    %eax,-0x50(%ebp)
5084 40004ebc:       8b 45 ac                mov    -0x54(%ebp),%eax
5085 40004ebf:       8b 40 0c                mov    0xc(%eax),%eax
5086 40004ec2:       3b 45 ac                cmp    -0x54(%ebp),%eax
5087 40004ec5:       74 48                   je     40004f0f <prepend_alloc+0x2e3>
5088 40004ec7:       8b 45 ac                mov    -0x54(%ebp),%eax
5089 40004eca:       8b 40 08                mov    0x8(%eax),%eax
5090 40004ecd:       89 45 b8                mov    %eax,-0x48(%ebp)
5091 40004ed0:       8b 45 ac                mov    -0x54(%ebp),%eax
5092 40004ed3:       8b 40 0c                mov    0xc(%eax),%eax
5093 40004ed6:       89 45 b4                mov    %eax,-0x4c(%ebp)
5094 40004ed9:       8b 45 08                mov    0x8(%ebp),%eax
5095 40004edc:       8b 50 10                mov    0x10(%eax),%edx
5096 40004edf:       8b 45 b8                mov    -0x48(%ebp),%eax
5097 40004ee2:       39 c2                   cmp    %eax,%edx
5098 40004ee4:       0f 96 c0                setbe  %al
5099 40004ee7:       0f b6 c0                movzbl %al,%eax
5100 40004eea:       85 c0                   test   %eax,%eax
5101 40004eec:       74 17                   je     40004f05 <prepend_alloc+0x2d9>
5102 40004eee:       8b 55 b8                mov    -0x48(%ebp),%edx
5103 40004ef1:       8b 45 b4                mov    -0x4c(%ebp),%eax
5104 40004ef4:       89 42 0c                mov    %eax,0xc(%edx)
5105 40004ef7:       8b 55 b4                mov    -0x4c(%ebp),%edx
5106 40004efa:       8b 45 b8                mov    -0x48(%ebp),%eax
5107 40004efd:       89 42 08                mov    %eax,0x8(%edx)
5108 40004f00:       e9 91 00 00 00          jmp    40004f96 <prepend_alloc+0x36a>
5109 40004f05:       e8 c6 7b 00 00          call   4000cad0 <abort>
5110 40004f0a:       e9 87 00 00 00          jmp    40004f96 <prepend_alloc+0x36a>
5111 40004f0f:       8b 45 ac                mov    -0x54(%ebp),%eax
5112 40004f12:       83 c0 14                add    $0x14,%eax
5113 40004f15:       89 45 bc                mov    %eax,-0x44(%ebp)
5114 40004f18:       8b 45 bc                mov    -0x44(%ebp),%eax
5115 40004f1b:       8b 00                   mov    (%eax),%eax
5116 40004f1d:       89 45 b4                mov    %eax,-0x4c(%ebp)
5117 40004f20:       83 7d b4 00             cmpl   $0x0,-0x4c(%ebp)
5118 40004f24:       75 27                   jne    40004f4d <prepend_alloc+0x321>
5119 40004f26:       8b 45 ac                mov    -0x54(%ebp),%eax
5120 40004f29:       83 c0 10                add    $0x10,%eax
5121 40004f2c:       89 45 bc                mov    %eax,-0x44(%ebp)
5122 40004f2f:       8b 45 bc                mov    -0x44(%ebp),%eax
5123 40004f32:       8b 00                   mov    (%eax),%eax
5124 40004f34:       89 45 b4                mov    %eax,-0x4c(%ebp)
5125 40004f37:       83 7d b4 00             cmpl   $0x0,-0x4c(%ebp)
5126 40004f3b:       74 59                   je     40004f96 <prepend_alloc+0x36a>
5127 40004f3d:       eb 0e                   jmp    40004f4d <prepend_alloc+0x321>
5128 40004f3f:       8b 45 c0                mov    -0x40(%ebp),%eax
5129 40004f42:       89 45 bc                mov    %eax,-0x44(%ebp)
5130 40004f45:       8b 45 bc                mov    -0x44(%ebp),%eax
5131 40004f48:       8b 00                   mov    (%eax),%eax
5132 40004f4a:       89 45 b4                mov    %eax,-0x4c(%ebp)
5133 40004f4d:       8b 45 b4                mov    -0x4c(%ebp),%eax
5134 40004f50:       83 c0 14                add    $0x14,%eax
5135 40004f53:       89 45 c0                mov    %eax,-0x40(%ebp)
5136 40004f56:       8b 45 c0                mov    -0x40(%ebp),%eax
5137 40004f59:       8b 00                   mov    (%eax),%eax
5138 40004f5b:       85 c0                   test   %eax,%eax
5139 40004f5d:       75 e0                   jne    40004f3f <prepend_alloc+0x313>
5140 40004f5f:       8b 45 b4                mov    -0x4c(%ebp),%eax
5141 40004f62:       83 c0 10                add    $0x10,%eax
5142 40004f65:       89 45 c0                mov    %eax,-0x40(%ebp)
5143 40004f68:       8b 45 c0                mov    -0x40(%ebp),%eax
5144 40004f6b:       8b 00                   mov    (%eax),%eax
5145 40004f6d:       85 c0                   test   %eax,%eax
5146 40004f6f:       75 ce                   jne    40004f3f <prepend_alloc+0x313>
5147 40004f71:       8b 45 08                mov    0x8(%ebp),%eax
5148 40004f74:       8b 50 10                mov    0x10(%eax),%edx
5149 40004f77:       8b 45 bc                mov    -0x44(%ebp),%eax
5150 40004f7a:       39 c2                   cmp    %eax,%edx
5151 40004f7c:       0f 96 c0                setbe  %al
5152 40004f7f:       0f b6 c0                movzbl %al,%eax
5153 40004f82:       85 c0                   test   %eax,%eax
5154 40004f84:       74 0b                   je     40004f91 <prepend_alloc+0x365>
5155 40004f86:       8b 45 bc                mov    -0x44(%ebp),%eax
5156 40004f89:       c7 00 00 00 00 00       movl   $0x0,(%eax)
5157 40004f8f:       eb 05                   jmp    40004f96 <prepend_alloc+0x36a>
5158 40004f91:       e8 3a 7b 00 00          call   4000cad0 <abort>
5159 40004f96:       83 7d b0 00             cmpl   $0x0,-0x50(%ebp)
5160 40004f9a:       0f 84 3c 01 00 00       je     400050dc <prepend_alloc+0x4b0>
5161 40004fa0:       8b 45 08                mov    0x8(%ebp),%eax
5162 40004fa3:       8d 90 2c 01 00 00       lea    0x12c(%eax),%edx
5163 40004fa9:       8b 45 ac                mov    -0x54(%ebp),%eax
5164 40004fac:       8b 40 1c                mov    0x1c(%eax),%eax
5165 40004faf:       c1 e0 02                shl    $0x2,%eax
5166 40004fb2:       8d 04 02                lea    (%edx,%eax,1),%eax
5167 40004fb5:       89 45 c4                mov    %eax,-0x3c(%ebp)
5168 40004fb8:       8b 45 c4                mov    -0x3c(%ebp),%eax
5169 40004fbb:       8b 00                   mov    (%eax),%eax
5170 40004fbd:       3b 45 ac                cmp    -0x54(%ebp),%eax
5171 40004fc0:       75 32                   jne    40004ff4 <prepend_alloc+0x3c8>
5172 40004fc2:       8b 55 c4                mov    -0x3c(%ebp),%edx
5173 40004fc5:       8b 45 b4                mov    -0x4c(%ebp),%eax
5174 40004fc8:       89 02                   mov    %eax,(%edx)
5175 40004fca:       8b 45 c4                mov    -0x3c(%ebp),%eax
5176 40004fcd:       8b 00                   mov    (%eax),%eax
5177 40004fcf:       85 c0                   test   %eax,%eax
5178 40004fd1:       75 5c                   jne    4000502f <prepend_alloc+0x403>
5179 40004fd3:       8b 45 08                mov    0x8(%ebp),%eax
5180 40004fd6:       8b 50 04                mov    0x4(%eax),%edx
5181 40004fd9:       8b 45 ac                mov    -0x54(%ebp),%eax
5182 40004fdc:       8b 40 1c                mov    0x1c(%eax),%eax
5183 40004fdf:       89 c1                   mov    %eax,%ecx
5184 40004fe1:       b8 01 00 00 00          mov    $0x1,%eax
5185 40004fe6:       d3 e0                   shl    %cl,%eax
5186 40004fe8:       f7 d0                   not    %eax
5187 40004fea:       21 c2                   and    %eax,%edx
5188 40004fec:       8b 45 08                mov    0x8(%ebp),%eax
5189 40004fef:       89 50 04                mov    %edx,0x4(%eax)
5190 40004ff2:       eb 3b                   jmp    4000502f <prepend_alloc+0x403>
5191 40004ff4:       8b 45 08                mov    0x8(%ebp),%eax
5192 40004ff7:       8b 50 10                mov    0x10(%eax),%edx
5193 40004ffa:       8b 45 b0                mov    -0x50(%ebp),%eax
5194 40004ffd:       39 c2                   cmp    %eax,%edx
5195 40004fff:       0f 96 c0                setbe  %al
5196 40005002:       0f b6 c0                movzbl %al,%eax
5197 40005005:       85 c0                   test   %eax,%eax
5198 40005007:       74 21                   je     4000502a <prepend_alloc+0x3fe>
5199 40005009:       8b 45 b0                mov    -0x50(%ebp),%eax
5200 4000500c:       8b 40 10                mov    0x10(%eax),%eax
5201 4000500f:       3b 45 ac                cmp    -0x54(%ebp),%eax
5202 40005012:       75 0b                   jne    4000501f <prepend_alloc+0x3f3>
5203 40005014:       8b 55 b0                mov    -0x50(%ebp),%edx
5204 40005017:       8b 45 b4                mov    -0x4c(%ebp),%eax
5205 4000501a:       89 42 10                mov    %eax,0x10(%edx)
5206 4000501d:       eb 10                   jmp    4000502f <prepend_alloc+0x403>
5207 4000501f:       8b 55 b0                mov    -0x50(%ebp),%edx
5208 40005022:       8b 45 b4                mov    -0x4c(%ebp),%eax
5209 40005025:       89 42 14                mov    %eax,0x14(%edx)
5210 40005028:       eb 05                   jmp    4000502f <prepend_alloc+0x403>
5211 4000502a:       e8 a1 7a 00 00          call   4000cad0 <abort>
5212 4000502f:       83 7d b4 00             cmpl   $0x0,-0x4c(%ebp)
5213 40005033:       0f 84 a3 00 00 00       je     400050dc <prepend_alloc+0x4b0>
5214 40005039:       8b 45 08                mov    0x8(%ebp),%eax
5215 4000503c:       8b 50 10                mov    0x10(%eax),%edx
5216 4000503f:       8b 45 b4                mov    -0x4c(%ebp),%eax
5217 40005042:       39 c2                   cmp    %eax,%edx
5218 40005044:       0f 96 c0                setbe  %al
5219 40005047:       0f b6 c0                movzbl %al,%eax
5220 4000504a:       85 c0                   test   %eax,%eax
5221 4000504c:       0f 84 85 00 00 00       je     400050d7 <prepend_alloc+0x4ab>
5222 40005052:       8b 55 b4                mov    -0x4c(%ebp),%edx
5223 40005055:       8b 45 b0                mov    -0x50(%ebp),%eax
5224 40005058:       89 42 18                mov    %eax,0x18(%edx)
5225 4000505b:       8b 45 ac                mov    -0x54(%ebp),%eax
5226 4000505e:       8b 40 10                mov    0x10(%eax),%eax
5227 40005061:       89 45 c8                mov    %eax,-0x38(%ebp)
5228 40005064:       83 7d c8 00             cmpl   $0x0,-0x38(%ebp)
5229 40005068:       74 2e                   je     40005098 <prepend_alloc+0x46c>
5230 4000506a:       8b 45 08                mov    0x8(%ebp),%eax
5231 4000506d:       8b 50 10                mov    0x10(%eax),%edx
5232 40005070:       8b 45 c8                mov    -0x38(%ebp),%eax
5233 40005073:       39 c2                   cmp    %eax,%edx
5234 40005075:       0f 96 c0                setbe  %al
5235 40005078:       0f b6 c0                movzbl %al,%eax
5236 4000507b:       85 c0                   test   %eax,%eax
5237 4000507d:       74 14                   je     40005093 <prepend_alloc+0x467>
5238 4000507f:       8b 55 b4                mov    -0x4c(%ebp),%edx
5239 40005082:       8b 45 c8                mov    -0x38(%ebp),%eax
5240 40005085:       89 42 10                mov    %eax,0x10(%edx)
5241 40005088:       8b 55 c8                mov    -0x38(%ebp),%edx
5242 4000508b:       8b 45 b4                mov    -0x4c(%ebp),%eax
5243 4000508e:       89 42 18                mov    %eax,0x18(%edx)
5244 40005091:       eb 05                   jmp    40005098 <prepend_alloc+0x46c>
5245 40005093:       e8 38 7a 00 00          call   4000cad0 <abort>
5246 40005098:       8b 45 ac                mov    -0x54(%ebp),%eax
5247 4000509b:       8b 40 14                mov    0x14(%eax),%eax
5248 4000509e:       89 45 cc                mov    %eax,-0x34(%ebp)
5249 400050a1:       83 7d cc 00             cmpl   $0x0,-0x34(%ebp)
5250 400050a5:       74 35                   je     400050dc <prepend_alloc+0x4b0>
5251 400050a7:       8b 45 08                mov    0x8(%ebp),%eax
5252 400050aa:       8b 50 10                mov    0x10(%eax),%edx
5253 400050ad:       8b 45 cc                mov    -0x34(%ebp),%eax
5254 400050b0:       39 c2                   cmp    %eax,%edx
5255 400050b2:       0f 96 c0                setbe  %al
5256 400050b5:       0f b6 c0                movzbl %al,%eax
5257 400050b8:       85 c0                   test   %eax,%eax
5258 400050ba:       74 14                   je     400050d0 <prepend_alloc+0x4a4>
5259 400050bc:       8b 55 b4                mov    -0x4c(%ebp),%edx
5260 400050bf:       8b 45 cc                mov    -0x34(%ebp),%eax
5261 400050c2:       89 42 14                mov    %eax,0x14(%edx)
5262 400050c5:       8b 55 cc                mov    -0x34(%ebp),%edx
5263 400050c8:       8b 45 b4                mov    -0x4c(%ebp),%eax
5264 400050cb:       89 42 18                mov    %eax,0x18(%edx)
5265 400050ce:       eb 0c                   jmp    400050dc <prepend_alloc+0x4b0>
5266 400050d0:       e8 fb 79 00 00          call   4000cad0 <abort>
5267 400050d5:       eb 05                   jmp    400050dc <prepend_alloc+0x4b0>
5268 400050d7:       e8 f4 79 00 00          call   4000cad0 <abort>
5269 400050dc:       8b 45 9c                mov    -0x64(%ebp),%eax
5270 400050df:       01 45 84                add    %eax,-0x7c(%ebp)
5271 400050e2:       8b 45 9c                mov    -0x64(%ebp),%eax
5272 400050e5:       01 45 90                add    %eax,-0x70(%ebp)
5273 400050e8:       8b 45 84                mov    -0x7c(%ebp),%eax
5274 400050eb:       8b 40 04                mov    0x4(%eax),%eax
5275 400050ee:       89 c2                   mov    %eax,%edx
5276 400050f0:       83 e2 fe                and    $0xfffffffe,%edx
5277 400050f3:       8b 45 84                mov    -0x7c(%ebp),%eax
5278 400050f6:       89 50 04                mov    %edx,0x4(%eax)
5279 400050f9:       8b 45 90                mov    -0x70(%ebp),%eax
5280 400050fc:       89 c2                   mov    %eax,%edx
5281 400050fe:       83 ca 01                or     $0x1,%edx
5282 40005101:       8b 45 8c                mov    -0x74(%ebp),%eax
5283 40005104:       89 50 04                mov    %edx,0x4(%eax)
5284 40005107:       8b 55 90                mov    -0x70(%ebp),%edx
5285 4000510a:       8b 45 8c                mov    -0x74(%ebp),%eax
5286 4000510d:       8d 14 10                lea    (%eax,%edx,1),%edx
5287 40005110:       8b 45 90                mov    -0x70(%ebp),%eax
5288 40005113:       89 02                   mov    %eax,(%edx)
5289 40005115:       8b 45 90                mov    -0x70(%ebp),%eax
5290 40005118:       c1 e8 03                shr    $0x3,%eax
5291 4000511b:       83 f8 1f                cmp    $0x1f,%eax
5292 4000511e:       0f 87 a3 00 00 00       ja     400051c7 <prepend_alloc+0x59b>
5293 40005124:       8b 45 90                mov    -0x70(%ebp),%eax
5294 40005127:       c1 e8 03                shr    $0x3,%eax
5295 4000512a:       89 45 d0                mov    %eax,-0x30(%ebp)
5296 4000512d:       8b 45 08                mov    0x8(%ebp),%eax
5297 40005130:       83 c0 24                add    $0x24,%eax
5298 40005133:       89 c2                   mov    %eax,%edx
5299 40005135:       8b 45 d0                mov    -0x30(%ebp),%eax
5300 40005138:       c1 e0 03                shl    $0x3,%eax
5301 4000513b:       8d 04 02                lea    (%edx,%eax,1),%eax
5302 4000513e:       89 45 d4                mov    %eax,-0x2c(%ebp)
5303 40005141:       8b 45 d4                mov    -0x2c(%ebp),%eax
5304 40005144:       89 45 d8                mov    %eax,-0x28(%ebp)
5305 40005147:       8b 45 08                mov    0x8(%ebp),%eax
5306 4000514a:       8b 10                   mov    (%eax),%edx
5307 4000514c:       8b 4d d0                mov    -0x30(%ebp),%ecx
5308 4000514f:       b8 01 00 00 00          mov    $0x1,%eax
5309 40005154:       d3 e0                   shl    %cl,%eax
5310 40005156:       21 d0                   and    %edx,%eax
5311 40005158:       85 c0                   test   %eax,%eax
5312 4000515a:       75 18                   jne    40005174 <prepend_alloc+0x548>
5313 4000515c:       8b 45 08                mov    0x8(%ebp),%eax
5314 4000515f:       8b 10                   mov    (%eax),%edx
5315 40005161:       8b 4d d0                mov    -0x30(%ebp),%ecx
5316 40005164:       b8 01 00 00 00          mov    $0x1,%eax
5317 40005169:       d3 e0                   shl    %cl,%eax
5318 4000516b:       09 c2                   or     %eax,%edx
5319 4000516d:       8b 45 08                mov    0x8(%ebp),%eax
5320 40005170:       89 10                   mov    %edx,(%eax)
5321 40005172:       eb 2a                   jmp    4000519e <prepend_alloc+0x572>
5322 40005174:       8b 45 d4                mov    -0x2c(%ebp),%eax
5323 40005177:       8b 40 08                mov    0x8(%eax),%eax
5324 4000517a:       89 c2                   mov    %eax,%edx
5325 4000517c:       8b 45 08                mov    0x8(%ebp),%eax
5326 4000517f:       8b 40 10                mov    0x10(%eax),%eax
5327 40005182:       39 c2                   cmp    %eax,%edx
5328 40005184:       0f 93 c0                setae  %al
5329 40005187:       0f b6 c0                movzbl %al,%eax
5330 4000518a:       85 c0                   test   %eax,%eax
5331 4000518c:       74 0b                   je     40005199 <prepend_alloc+0x56d>
5332 4000518e:       8b 45 d4                mov    -0x2c(%ebp),%eax
5333 40005191:       8b 40 08                mov    0x8(%eax),%eax
5334 40005194:       89 45 d8                mov    %eax,-0x28(%ebp)
5335 40005197:       eb 05                   jmp    4000519e <prepend_alloc+0x572>
5336 40005199:       e8 32 79 00 00          call   4000cad0 <abort>
5337 4000519e:       8b 55 d4                mov    -0x2c(%ebp),%edx
5338 400051a1:       8b 45 8c                mov    -0x74(%ebp),%eax
5339 400051a4:       89 42 08                mov    %eax,0x8(%edx)
5340 400051a7:       8b 55 d8                mov    -0x28(%ebp),%edx
5341 400051aa:       8b 45 8c                mov    -0x74(%ebp),%eax
5342 400051ad:       89 42 0c                mov    %eax,0xc(%edx)
5343 400051b0:       8b 55 8c                mov    -0x74(%ebp),%edx
5344 400051b3:       8b 45 d8                mov    -0x28(%ebp),%eax
5345 400051b6:       89 42 08                mov    %eax,0x8(%edx)
5346 400051b9:       8b 55 8c                mov    -0x74(%ebp),%edx
5347 400051bc:       8b 45 d4                mov    -0x2c(%ebp),%eax
5348 400051bf:       89 42 0c                mov    %eax,0xc(%edx)
5349 400051c2:       e9 05 02 00 00          jmp    400053cc <prepend_alloc+0x7a0>
5350 400051c7:       8b 45 8c                mov    -0x74(%ebp),%eax
5351 400051ca:       89 45 dc                mov    %eax,-0x24(%ebp)
5352 400051cd:       8b 45 90                mov    -0x70(%ebp),%eax
5353 400051d0:       c1 e8 08                shr    $0x8,%eax
5354 400051d3:       89 45 e8                mov    %eax,-0x18(%ebp)
5355 400051d6:       83 7d e8 00             cmpl   $0x0,-0x18(%ebp)
5356 400051da:       75 09                   jne    400051e5 <prepend_alloc+0x5b9>
5357 400051dc:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
5358 400051e3:       eb 35                   jmp    4000521a <prepend_alloc+0x5ee>
5359 400051e5:       81 7d e8 ff ff 00 00    cmpl   $0xffff,-0x18(%ebp)
5360 400051ec:       76 09                   jbe    400051f7 <prepend_alloc+0x5cb>
5361 400051ee:       c7 45 e4 1f 00 00 00    movl   $0x1f,-0x1c(%ebp)
5362 400051f5:       eb 23                   jmp    4000521a <prepend_alloc+0x5ee>
5363 400051f7:       0f bd 45 e8             bsr    -0x18(%ebp),%eax
5364 400051fb:       89 45 ec                mov    %eax,-0x14(%ebp)
5365 400051fe:       8b 45 ec                mov    -0x14(%ebp),%eax
5366 40005201:       8d 14 00                lea    (%eax,%eax,1),%edx
5367 40005204:       8b 45 ec                mov    -0x14(%ebp),%eax
5368 40005207:       83 c0 07                add    $0x7,%eax
5369 4000520a:       89 c1                   mov    %eax,%ecx
5370 4000520c:       8b 45 90                mov    -0x70(%ebp),%eax
5371 4000520f:       d3 e8                   shr    %cl,%eax
5372 40005211:       83 e0 01                and    $0x1,%eax
5373 40005214:       8d 04 02                lea    (%edx,%eax,1),%eax
5374 40005217:       89 45 e4                mov    %eax,-0x1c(%ebp)
5375 4000521a:       8b 45 08                mov    0x8(%ebp),%eax
5376 4000521d:       8d 90 2c 01 00 00       lea    0x12c(%eax),%edx
5377 40005223:       8b 45 e4                mov    -0x1c(%ebp),%eax
5378 40005226:       c1 e0 02                shl    $0x2,%eax
5379 40005229:       8d 04 02                lea    (%edx,%eax,1),%eax
5380 4000522c:       89 45 e0                mov    %eax,-0x20(%ebp)
5381 4000522f:       8b 55 dc                mov    -0x24(%ebp),%edx
5382 40005232:       8b 45 e4                mov    -0x1c(%ebp),%eax
5383 40005235:       89 42 1c                mov    %eax,0x1c(%edx)
5384 40005238:       8b 45 dc                mov    -0x24(%ebp),%eax
5385 4000523b:       c7 40 14 00 00 00 00    movl   $0x0,0x14(%eax)
5386 40005242:       8b 45 dc                mov    -0x24(%ebp),%eax
5387 40005245:       8b 50 14                mov    0x14(%eax),%edx
5388 40005248:       8b 45 dc                mov    -0x24(%ebp),%eax
5389 4000524b:       89 50 10                mov    %edx,0x10(%eax)
5390 4000524e:       8b 45 08                mov    0x8(%ebp),%eax
5391 40005251:       8b 50 04                mov    0x4(%eax),%edx
5392 40005254:       8b 4d e4                mov    -0x1c(%ebp),%ecx
5393 40005257:       b8 01 00 00 00          mov    $0x1,%eax
5394 4000525c:       d3 e0                   shl    %cl,%eax
5395 4000525e:       21 d0                   and    %edx,%eax
5396 40005260:       85 c0                   test   %eax,%eax
5397 40005262:       75 43                   jne    400052a7 <prepend_alloc+0x67b>
5398 40005264:       8b 45 08                mov    0x8(%ebp),%eax
5399 40005267:       8b 50 04                mov    0x4(%eax),%edx
5400 4000526a:       8b 4d e4                mov    -0x1c(%ebp),%ecx
5401 4000526d:       b8 01 00 00 00          mov    $0x1,%eax
5402 40005272:       d3 e0                   shl    %cl,%eax
5403 40005274:       09 c2                   or     %eax,%edx
5404 40005276:       8b 45 08                mov    0x8(%ebp),%eax
5405 40005279:       89 50 04                mov    %edx,0x4(%eax)
5406 4000527c:       8b 55 e0                mov    -0x20(%ebp),%edx
5407 4000527f:       8b 45 dc                mov    -0x24(%ebp),%eax
5408 40005282:       89 02                   mov    %eax,(%edx)
5409 40005284:       8b 55 e0                mov    -0x20(%ebp),%edx
5410 40005287:       8b 45 dc                mov    -0x24(%ebp),%eax
5411 4000528a:       89 50 18                mov    %edx,0x18(%eax)
5412 4000528d:       8b 55 dc                mov    -0x24(%ebp),%edx
5413 40005290:       8b 45 dc                mov    -0x24(%ebp),%eax
5414 40005293:       89 42 0c                mov    %eax,0xc(%edx)
5415 40005296:       8b 45 dc                mov    -0x24(%ebp),%eax
5416 40005299:       8b 50 0c                mov    0xc(%eax),%edx
5417 4000529c:       8b 45 dc                mov    -0x24(%ebp),%eax
5418 4000529f:       89 50 08                mov    %edx,0x8(%eax)
5419 400052a2:       e9 25 01 00 00          jmp    400053cc <prepend_alloc+0x7a0>
5420 400052a7:       8b 45 e0                mov    -0x20(%ebp),%eax
5421 400052aa:       8b 00                   mov    (%eax),%eax
5422 400052ac:       89 45 f0                mov    %eax,-0x10(%ebp)
5423 400052af:       83 7d e4 1f             cmpl   $0x1f,-0x1c(%ebp)
5424 400052b3:       74 16                   je     400052cb <prepend_alloc+0x69f>
5425 400052b5:       8b 45 e4                mov    -0x1c(%ebp),%eax
5426 400052b8:       89 c2                   mov    %eax,%edx
5427 400052ba:       d1 ea                   shr    %edx
5428 400052bc:       b8 19 00 00 00          mov    $0x19,%eax
5429 400052c1:       29 d0                   sub    %edx,%eax
5430 400052c3:       89 85 7c ff ff ff       mov    %eax,-0x84(%ebp)
5431 400052c9:       eb 0a                   jmp    400052d5 <prepend_alloc+0x6a9>
5432 400052cb:       c7 85 7c ff ff ff 00    movl   $0x0,-0x84(%ebp)
5433 400052d2:       00 00 00 
5434 400052d5:       8b 45 90                mov    -0x70(%ebp),%eax
5435 400052d8:       0f b6 8d 7c ff ff ff    movzbl -0x84(%ebp),%ecx
5436 400052df:       d3 e0                   shl    %cl,%eax
5437 400052e1:       89 45 f4                mov    %eax,-0xc(%ebp)
5438 400052e4:       8b 45 f0                mov    -0x10(%ebp),%eax
5439 400052e7:       8b 40 04                mov    0x4(%eax),%eax
5440 400052ea:       83 e0 fc                and    $0xfffffffc,%eax
5441 400052ed:       3b 45 90                cmp    -0x70(%ebp),%eax
5442 400052f0:       74 6f                   je     40005361 <prepend_alloc+0x735>
5443 400052f2:       8b 45 f0                mov    -0x10(%ebp),%eax
5444 400052f5:       8d 50 10                lea    0x10(%eax),%edx
5445 400052f8:       8b 45 f4                mov    -0xc(%ebp),%eax
5446 400052fb:       c1 e8 1f                shr    $0x1f,%eax
5447 400052fe:       c1 e0 02                shl    $0x2,%eax
5448 40005301:       8d 04 02                lea    (%edx,%eax,1),%eax
5449 40005304:       89 45 f8                mov    %eax,-0x8(%ebp)
5450 40005307:       d1 65 f4                shll   -0xc(%ebp)
5451 4000530a:       8b 45 f8                mov    -0x8(%ebp),%eax
5452 4000530d:       8b 00                   mov    (%eax),%eax
5453 4000530f:       85 c0                   test   %eax,%eax
5454 40005311:       74 0a                   je     4000531d <prepend_alloc+0x6f1>
5455 40005313:       8b 45 f8                mov    -0x8(%ebp),%eax
5456 40005316:       8b 00                   mov    (%eax),%eax
5457 40005318:       89 45 f0                mov    %eax,-0x10(%ebp)
5458 4000531b:       eb c7                   jmp    400052e4 <prepend_alloc+0x6b8>
5459 4000531d:       8b 45 08                mov    0x8(%ebp),%eax
5460 40005320:       8b 50 10                mov    0x10(%eax),%edx
5461 40005323:       8b 45 f8                mov    -0x8(%ebp),%eax
5462 40005326:       39 c2                   cmp    %eax,%edx
5463 40005328:       0f 96 c0                setbe  %al
5464 4000532b:       0f b6 c0                movzbl %al,%eax
5465 4000532e:       85 c0                   test   %eax,%eax
5466 40005330:       74 28                   je     4000535a <prepend_alloc+0x72e>
5467 40005332:       8b 55 f8                mov    -0x8(%ebp),%edx
5468 40005335:       8b 45 dc                mov    -0x24(%ebp),%eax
5469 40005338:       89 02                   mov    %eax,(%edx)
5470 4000533a:       8b 55 dc                mov    -0x24(%ebp),%edx
5471 4000533d:       8b 45 f0                mov    -0x10(%ebp),%eax
5472 40005340:       89 42 18                mov    %eax,0x18(%edx)
5473 40005343:       8b 55 dc                mov    -0x24(%ebp),%edx
5474 40005346:       8b 45 dc                mov    -0x24(%ebp),%eax
5475 40005349:       89 42 0c                mov    %eax,0xc(%edx)
5476 4000534c:       8b 45 dc                mov    -0x24(%ebp),%eax
5477 4000534f:       8b 50 0c                mov    0xc(%eax),%edx
5478 40005352:       8b 45 dc                mov    -0x24(%ebp),%eax
5479 40005355:       89 50 08                mov    %edx,0x8(%eax)
5480 40005358:       eb 72                   jmp    400053cc <prepend_alloc+0x7a0>
5481 4000535a:       e8 71 77 00 00          call   4000cad0 <abort>
5482 4000535f:       eb 6b                   jmp    400053cc <prepend_alloc+0x7a0>
5483 40005361:       8b 45 f0                mov    -0x10(%ebp),%eax
5484 40005364:       8b 40 08                mov    0x8(%eax),%eax
5485 40005367:       89 45 fc                mov    %eax,-0x4(%ebp)
5486 4000536a:       8b 45 08                mov    0x8(%ebp),%eax
5487 4000536d:       8b 50 10                mov    0x10(%eax),%edx
5488 40005370:       8b 45 f0                mov    -0x10(%ebp),%eax
5489 40005373:       39 c2                   cmp    %eax,%edx
5490 40005375:       0f 96 c0                setbe  %al
5491 40005378:       0f b6 c0                movzbl %al,%eax
5492 4000537b:       85 c0                   test   %eax,%eax
5493 4000537d:       74 48                   je     400053c7 <prepend_alloc+0x79b>
5494 4000537f:       8b 45 08                mov    0x8(%ebp),%eax
5495 40005382:       8b 50 10                mov    0x10(%eax),%edx
5496 40005385:       8b 45 fc                mov    -0x4(%ebp),%eax
5497 40005388:       39 c2                   cmp    %eax,%edx
5498 4000538a:       0f 96 c0                setbe  %al
5499 4000538d:       0f b6 c0                movzbl %al,%eax
5500 40005390:       85 c0                   test   %eax,%eax
5501 40005392:       74 33                   je     400053c7 <prepend_alloc+0x79b>
5502 40005394:       8b 55 fc                mov    -0x4(%ebp),%edx
5503 40005397:       8b 45 dc                mov    -0x24(%ebp),%eax
5504 4000539a:       89 42 0c                mov    %eax,0xc(%edx)
5505 4000539d:       8b 45 fc                mov    -0x4(%ebp),%eax
5506 400053a0:       8b 50 0c                mov    0xc(%eax),%edx
5507 400053a3:       8b 45 f0                mov    -0x10(%ebp),%eax
5508 400053a6:       89 50 08                mov    %edx,0x8(%eax)
5509 400053a9:       8b 55 dc                mov    -0x24(%ebp),%edx
5510 400053ac:       8b 45 fc                mov    -0x4(%ebp),%eax
5511 400053af:       89 42 08                mov    %eax,0x8(%edx)
5512 400053b2:       8b 55 dc                mov    -0x24(%ebp),%edx
5513 400053b5:       8b 45 f0                mov    -0x10(%ebp),%eax
5514 400053b8:       89 42 0c                mov    %eax,0xc(%edx)
5515 400053bb:       8b 45 dc                mov    -0x24(%ebp),%eax
5516 400053be:       c7 40 18 00 00 00 00    movl   $0x0,0x18(%eax)
5517 400053c5:       eb 05                   jmp    400053cc <prepend_alloc+0x7a0>
5518 400053c7:       e8 04 77 00 00          call   4000cad0 <abort>
5519 400053cc:       8b 45 80                mov    -0x80(%ebp),%eax
5520 400053cf:       83 c0 08                add    $0x8,%eax
5521 400053d2:       c9                      leave  
5522 400053d3:       c3                      ret    
5524 400053d4 <add_segment>:
5525 400053d4:       55                      push   %ebp
5526 400053d5:       89 e5                   mov    %esp,%ebp
5527 400053d7:       81 ec 98 00 00 00       sub    $0x98,%esp
5528 400053dd:       8b 45 08                mov    0x8(%ebp),%eax
5529 400053e0:       8b 40 18                mov    0x18(%eax),%eax
5530 400053e3:       89 45 8c                mov    %eax,-0x74(%ebp)
5531 400053e6:       8b 45 8c                mov    -0x74(%ebp),%eax
5532 400053e9:       89 44 24 04             mov    %eax,0x4(%esp)
5533 400053ed:       8b 45 08                mov    0x8(%ebp),%eax
5534 400053f0:       89 04 24                mov    %eax,(%esp)
5535 400053f3:       e8 f0 ef ff ff          call   400043e8 <segment_holding>
5536 400053f8:       89 45 90                mov    %eax,-0x70(%ebp)
5537 400053fb:       8b 45 90                mov    -0x70(%ebp),%eax
5538 400053fe:       8b 10                   mov    (%eax),%edx
5539 40005400:       8b 45 90                mov    -0x70(%ebp),%eax
5540 40005403:       8b 40 04                mov    0x4(%eax),%eax
5541 40005406:       8d 04 02                lea    (%edx,%eax,1),%eax
5542 40005409:       89 45 94                mov    %eax,-0x6c(%ebp)
5543 4000540c:       c7 45 98 18 00 00 00    movl   $0x18,-0x68(%ebp)
5544 40005413:       b8 e9 ff ff ff          mov    $0xffffffe9,%eax
5545 40005418:       2b 45 98                sub    -0x68(%ebp),%eax
5546 4000541b:       03 45 94                add    -0x6c(%ebp),%eax
5547 4000541e:       89 45 9c                mov    %eax,-0x64(%ebp)
5548 40005421:       8b 45 9c                mov    -0x64(%ebp),%eax
5549 40005424:       83 c0 08                add    $0x8,%eax
5550 40005427:       83 e0 07                and    $0x7,%eax
5551 4000542a:       85 c0                   test   %eax,%eax
5552 4000542c:       74 1f                   je     4000544d <add_segment+0x79>
5553 4000542e:       8b 45 9c                mov    -0x64(%ebp),%eax
5554 40005431:       83 c0 08                add    $0x8,%eax
5555 40005434:       89 c2                   mov    %eax,%edx
5556 40005436:       83 e2 07                and    $0x7,%edx
5557 40005439:       b8 08 00 00 00          mov    $0x8,%eax
5558 4000543e:       29 d0                   sub    %edx,%eax
5559 40005440:       89 c2                   mov    %eax,%edx
5560 40005442:       83 e2 07                and    $0x7,%edx
5561 40005445:       89 95 74 ff ff ff       mov    %edx,-0x8c(%ebp)
5562 4000544b:       eb 0a                   jmp    40005457 <add_segment+0x83>
5563 4000544d:       c7 85 74 ff ff ff 00    movl   $0x0,-0x8c(%ebp)
5564 40005454:       00 00 00 
5565 40005457:       8b 8d 74 ff ff ff       mov    -0x8c(%ebp),%ecx
5566 4000545d:       89 4d a0                mov    %ecx,-0x60(%ebp)
5567 40005460:       8b 55 a0                mov    -0x60(%ebp),%edx
5568 40005463:       8b 45 9c                mov    -0x64(%ebp),%eax
5569 40005466:       01 d0                   add    %edx,%eax
5570 40005468:       89 45 a4                mov    %eax,-0x5c(%ebp)
5571 4000546b:       8b 45 8c                mov    -0x74(%ebp),%eax
5572 4000546e:       83 c0 10                add    $0x10,%eax
5573 40005471:       3b 45 a4                cmp    -0x5c(%ebp),%eax
5574 40005474:       76 0b                   jbe    40005481 <add_segment+0xad>
5575 40005476:       8b 45 8c                mov    -0x74(%ebp),%eax
5576 40005479:       89 85 78 ff ff ff       mov    %eax,-0x88(%ebp)
5577 4000547f:       eb 09                   jmp    4000548a <add_segment+0xb6>
5578 40005481:       8b 55 a4                mov    -0x5c(%ebp),%edx
5579 40005484:       89 95 78 ff ff ff       mov    %edx,-0x88(%ebp)
5580 4000548a:       8b 8d 78 ff ff ff       mov    -0x88(%ebp),%ecx
5581 40005490:       89 4d a8                mov    %ecx,-0x58(%ebp)
5582 40005493:       8b 45 a8                mov    -0x58(%ebp),%eax
5583 40005496:       89 45 ac                mov    %eax,-0x54(%ebp)
5584 40005499:       8b 45 ac                mov    -0x54(%ebp),%eax
5585 4000549c:       83 c0 08                add    $0x8,%eax
5586 4000549f:       89 45 b0                mov    %eax,-0x50(%ebp)
5587 400054a2:       8b 55 98                mov    -0x68(%ebp),%edx
5588 400054a5:       8b 45 ac                mov    -0x54(%ebp),%eax
5589 400054a8:       01 d0                   add    %edx,%eax
5590 400054aa:       89 45 b4                mov    %eax,-0x4c(%ebp)
5591 400054ad:       8b 45 b4                mov    -0x4c(%ebp),%eax
5592 400054b0:       89 45 b8                mov    %eax,-0x48(%ebp)
5593 400054b3:       c7 45 bc 00 00 00 00    movl   $0x0,-0x44(%ebp)
5594 400054ba:       8b 45 10                mov    0x10(%ebp),%eax
5595 400054bd:       83 e8 28                sub    $0x28,%eax
5596 400054c0:       8b 55 0c                mov    0xc(%ebp),%edx
5597 400054c3:       89 44 24 08             mov    %eax,0x8(%esp)
5598 400054c7:       89 54 24 04             mov    %edx,0x4(%esp)
5599 400054cb:       8b 45 08                mov    0x8(%ebp),%eax
5600 400054ce:       89 04 24                mov    %eax,(%esp)
5601 400054d1:       e8 8d f6 ff ff          call   40004b63 <init_top>
5602 400054d6:       8b 45 98                mov    -0x68(%ebp),%eax
5603 400054d9:       89 c2                   mov    %eax,%edx
5604 400054db:       83 ca 03                or     $0x3,%edx
5605 400054de:       8b 45 ac                mov    -0x54(%ebp),%eax
5606 400054e1:       89 50 04                mov    %edx,0x4(%eax)
5607 400054e4:       8b 4d b0                mov    -0x50(%ebp),%ecx
5608 400054e7:       8b 55 08                mov    0x8(%ebp),%edx
5609 400054ea:       8b 82 b8 01 00 00       mov    0x1b8(%edx),%eax
5610 400054f0:       89 01                   mov    %eax,(%ecx)
5611 400054f2:       8b 82 bc 01 00 00       mov    0x1bc(%edx),%eax
5612 400054f8:       89 41 04                mov    %eax,0x4(%ecx)
5613 400054fb:       8b 82 c0 01 00 00       mov    0x1c0(%edx),%eax
5614 40005501:       89 41 08                mov    %eax,0x8(%ecx)
5615 40005504:       8b 82 c4 01 00 00       mov    0x1c4(%edx),%eax
5616 4000550a:       89 41 0c                mov    %eax,0xc(%ecx)
5617 4000550d:       8b 55 08                mov    0x8(%ebp),%edx
5618 40005510:       8b 45 0c                mov    0xc(%ebp),%eax
5619 40005513:       89 82 b8 01 00 00       mov    %eax,0x1b8(%edx)
5620 40005519:       8b 55 08                mov    0x8(%ebp),%edx
5621 4000551c:       8b 45 10                mov    0x10(%ebp),%eax
5622 4000551f:       89 82 bc 01 00 00       mov    %eax,0x1bc(%edx)
5623 40005525:       8b 55 08                mov    0x8(%ebp),%edx
5624 40005528:       8b 45 14                mov    0x14(%ebp),%eax
5625 4000552b:       89 82 c4 01 00 00       mov    %eax,0x1c4(%edx)
5626 40005531:       8b 55 08                mov    0x8(%ebp),%edx
5627 40005534:       8b 45 b0                mov    -0x50(%ebp),%eax
5628 40005537:       89 82 c0 01 00 00       mov    %eax,0x1c0(%edx)
5629 4000553d:       8b 45 b8                mov    -0x48(%ebp),%eax
5630 40005540:       83 c0 04                add    $0x4,%eax
5631 40005543:       89 45 c0                mov    %eax,-0x40(%ebp)
5632 40005546:       8b 45 b8                mov    -0x48(%ebp),%eax
5633 40005549:       c7 40 04 07 00 00 00    movl   $0x7,0x4(%eax)
5634 40005550:       83 45 bc 01             addl   $0x1,-0x44(%ebp)
5635 40005554:       8b 45 c0                mov    -0x40(%ebp),%eax
5636 40005557:       83 c0 04                add    $0x4,%eax
5637 4000555a:       3b 45 94                cmp    -0x6c(%ebp),%eax
5638 4000555d:       73 08                   jae    40005567 <add_segment+0x193>
5639 4000555f:       8b 45 c0                mov    -0x40(%ebp),%eax
5640 40005562:       89 45 b8                mov    %eax,-0x48(%ebp)
5641 40005565:       eb d6                   jmp    4000553d <add_segment+0x169>
5642 40005567:       8b 45 a8                mov    -0x58(%ebp),%eax
5643 4000556a:       3b 45 8c                cmp    -0x74(%ebp),%eax
5644 4000556d:       0f 84 04 03 00 00       je     40005877 <add_segment+0x4a3>
5645 40005573:       8b 45 8c                mov    -0x74(%ebp),%eax
5646 40005576:       89 45 c4                mov    %eax,-0x3c(%ebp)
5647 40005579:       8b 55 a8                mov    -0x58(%ebp),%edx
5648 4000557c:       8b 45 8c                mov    -0x74(%ebp),%eax
5649 4000557f:       89 d1                   mov    %edx,%ecx
5650 40005581:       29 c1                   sub    %eax,%ecx
5651 40005583:       89 c8                   mov    %ecx,%eax
5652 40005585:       89 45 c8                mov    %eax,-0x38(%ebp)
5653 40005588:       8b 55 c8                mov    -0x38(%ebp),%edx
5654 4000558b:       8b 45 c4                mov    -0x3c(%ebp),%eax
5655 4000558e:       01 d0                   add    %edx,%eax
5656 40005590:       89 45 cc                mov    %eax,-0x34(%ebp)
5657 40005593:       8b 45 cc                mov    -0x34(%ebp),%eax
5658 40005596:       8b 40 04                mov    0x4(%eax),%eax
5659 40005599:       89 c2                   mov    %eax,%edx
5660 4000559b:       83 e2 fe                and    $0xfffffffe,%edx
5661 4000559e:       8b 45 cc                mov    -0x34(%ebp),%eax
5662 400055a1:       89 50 04                mov    %edx,0x4(%eax)
5663 400055a4:       8b 45 c8                mov    -0x38(%ebp),%eax
5664 400055a7:       89 c2                   mov    %eax,%edx
5665 400055a9:       83 ca 01                or     $0x1,%edx
5666 400055ac:       8b 45 c4                mov    -0x3c(%ebp),%eax
5667 400055af:       89 50 04                mov    %edx,0x4(%eax)
5668 400055b2:       8b 55 c8                mov    -0x38(%ebp),%edx
5669 400055b5:       8b 45 c4                mov    -0x3c(%ebp),%eax
5670 400055b8:       8d 14 10                lea    (%eax,%edx,1),%edx
5671 400055bb:       8b 45 c8                mov    -0x38(%ebp),%eax
5672 400055be:       89 02                   mov    %eax,(%edx)
5673 400055c0:       8b 45 c8                mov    -0x38(%ebp),%eax
5674 400055c3:       c1 e8 03                shr    $0x3,%eax
5675 400055c6:       83 f8 1f                cmp    $0x1f,%eax
5676 400055c9:       0f 87 a3 00 00 00       ja     40005672 <add_segment+0x29e>
5677 400055cf:       8b 45 c8                mov    -0x38(%ebp),%eax
5678 400055d2:       c1 e8 03                shr    $0x3,%eax
5679 400055d5:       89 45 d0                mov    %eax,-0x30(%ebp)
5680 400055d8:       8b 45 08                mov    0x8(%ebp),%eax
5681 400055db:       83 c0 24                add    $0x24,%eax
5682 400055de:       89 c2                   mov    %eax,%edx
5683 400055e0:       8b 45 d0                mov    -0x30(%ebp),%eax
5684 400055e3:       c1 e0 03                shl    $0x3,%eax
5685 400055e6:       8d 04 02                lea    (%edx,%eax,1),%eax
5686 400055e9:       89 45 d4                mov    %eax,-0x2c(%ebp)
5687 400055ec:       8b 45 d4                mov    -0x2c(%ebp),%eax
5688 400055ef:       89 45 d8                mov    %eax,-0x28(%ebp)
5689 400055f2:       8b 45 08                mov    0x8(%ebp),%eax
5690 400055f5:       8b 10                   mov    (%eax),%edx
5691 400055f7:       8b 4d d0                mov    -0x30(%ebp),%ecx
5692 400055fa:       b8 01 00 00 00          mov    $0x1,%eax
5693 400055ff:       d3 e0                   shl    %cl,%eax
5694 40005601:       21 d0                   and    %edx,%eax
5695 40005603:       85 c0                   test   %eax,%eax
5696 40005605:       75 18                   jne    4000561f <add_segment+0x24b>
5697 40005607:       8b 45 08                mov    0x8(%ebp),%eax
5698 4000560a:       8b 10                   mov    (%eax),%edx
5699 4000560c:       8b 4d d0                mov    -0x30(%ebp),%ecx
5700 4000560f:       b8 01 00 00 00          mov    $0x1,%eax
5701 40005614:       d3 e0                   shl    %cl,%eax
5702 40005616:       09 c2                   or     %eax,%edx
5703 40005618:       8b 45 08                mov    0x8(%ebp),%eax
5704 4000561b:       89 10                   mov    %edx,(%eax)
5705 4000561d:       eb 2a                   jmp    40005649 <add_segment+0x275>
5706 4000561f:       8b 45 d4                mov    -0x2c(%ebp),%eax
5707 40005622:       8b 40 08                mov    0x8(%eax),%eax
5708 40005625:       89 c2                   mov    %eax,%edx
5709 40005627:       8b 45 08                mov    0x8(%ebp),%eax
5710 4000562a:       8b 40 10                mov    0x10(%eax),%eax
5711 4000562d:       39 c2                   cmp    %eax,%edx
5712 4000562f:       0f 93 c0                setae  %al
5713 40005632:       0f b6 c0                movzbl %al,%eax
5714 40005635:       85 c0                   test   %eax,%eax
5715 40005637:       74 0b                   je     40005644 <add_segment+0x270>
5716 40005639:       8b 45 d4                mov    -0x2c(%ebp),%eax
5717 4000563c:       8b 40 08                mov    0x8(%eax),%eax
5718 4000563f:       89 45 d8                mov    %eax,-0x28(%ebp)
5719 40005642:       eb 05                   jmp    40005649 <add_segment+0x275>
5720 40005644:       e8 87 74 00 00          call   4000cad0 <abort>
5721 40005649:       8b 55 d4                mov    -0x2c(%ebp),%edx
5722 4000564c:       8b 45 c4                mov    -0x3c(%ebp),%eax
5723 4000564f:       89 42 08                mov    %eax,0x8(%edx)
5724 40005652:       8b 55 d8                mov    -0x28(%ebp),%edx
5725 40005655:       8b 45 c4                mov    -0x3c(%ebp),%eax
5726 40005658:       89 42 0c                mov    %eax,0xc(%edx)
5727 4000565b:       8b 55 c4                mov    -0x3c(%ebp),%edx
5728 4000565e:       8b 45 d8                mov    -0x28(%ebp),%eax
5729 40005661:       89 42 08                mov    %eax,0x8(%edx)
5730 40005664:       8b 55 c4                mov    -0x3c(%ebp),%edx
5731 40005667:       8b 45 d4                mov    -0x2c(%ebp),%eax
5732 4000566a:       89 42 0c                mov    %eax,0xc(%edx)
5733 4000566d:       e9 05 02 00 00          jmp    40005877 <add_segment+0x4a3>
5734 40005672:       8b 45 c4                mov    -0x3c(%ebp),%eax
5735 40005675:       89 45 dc                mov    %eax,-0x24(%ebp)
5736 40005678:       8b 45 c8                mov    -0x38(%ebp),%eax
5737 4000567b:       c1 e8 08                shr    $0x8,%eax
5738 4000567e:       89 45 e8                mov    %eax,-0x18(%ebp)
5739 40005681:       83 7d e8 00             cmpl   $0x0,-0x18(%ebp)
5740 40005685:       75 09                   jne    40005690 <add_segment+0x2bc>
5741 40005687:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
5742 4000568e:       eb 35                   jmp    400056c5 <add_segment+0x2f1>
5743 40005690:       81 7d e8 ff ff 00 00    cmpl   $0xffff,-0x18(%ebp)
5744 40005697:       76 09                   jbe    400056a2 <add_segment+0x2ce>
5745 40005699:       c7 45 e4 1f 00 00 00    movl   $0x1f,-0x1c(%ebp)
5746 400056a0:       eb 23                   jmp    400056c5 <add_segment+0x2f1>
5747 400056a2:       0f bd 45 e8             bsr    -0x18(%ebp),%eax
5748 400056a6:       89 45 ec                mov    %eax,-0x14(%ebp)
5749 400056a9:       8b 45 ec                mov    -0x14(%ebp),%eax
5750 400056ac:       8d 14 00                lea    (%eax,%eax,1),%edx
5751 400056af:       8b 45 ec                mov    -0x14(%ebp),%eax
5752 400056b2:       83 c0 07                add    $0x7,%eax
5753 400056b5:       89 c1                   mov    %eax,%ecx
5754 400056b7:       8b 45 c8                mov    -0x38(%ebp),%eax
5755 400056ba:       d3 e8                   shr    %cl,%eax
5756 400056bc:       83 e0 01                and    $0x1,%eax
5757 400056bf:       8d 04 02                lea    (%edx,%eax,1),%eax
5758 400056c2:       89 45 e4                mov    %eax,-0x1c(%ebp)
5759 400056c5:       8b 45 08                mov    0x8(%ebp),%eax
5760 400056c8:       8d 90 2c 01 00 00       lea    0x12c(%eax),%edx
5761 400056ce:       8b 45 e4                mov    -0x1c(%ebp),%eax
5762 400056d1:       c1 e0 02                shl    $0x2,%eax
5763 400056d4:       8d 04 02                lea    (%edx,%eax,1),%eax
5764 400056d7:       89 45 e0                mov    %eax,-0x20(%ebp)
5765 400056da:       8b 55 dc                mov    -0x24(%ebp),%edx
5766 400056dd:       8b 45 e4                mov    -0x1c(%ebp),%eax
5767 400056e0:       89 42 1c                mov    %eax,0x1c(%edx)
5768 400056e3:       8b 45 dc                mov    -0x24(%ebp),%eax
5769 400056e6:       c7 40 14 00 00 00 00    movl   $0x0,0x14(%eax)
5770 400056ed:       8b 45 dc                mov    -0x24(%ebp),%eax
5771 400056f0:       8b 50 14                mov    0x14(%eax),%edx
5772 400056f3:       8b 45 dc                mov    -0x24(%ebp),%eax
5773 400056f6:       89 50 10                mov    %edx,0x10(%eax)
5774 400056f9:       8b 45 08                mov    0x8(%ebp),%eax
5775 400056fc:       8b 50 04                mov    0x4(%eax),%edx
5776 400056ff:       8b 4d e4                mov    -0x1c(%ebp),%ecx
5777 40005702:       b8 01 00 00 00          mov    $0x1,%eax
5778 40005707:       d3 e0                   shl    %cl,%eax
5779 40005709:       21 d0                   and    %edx,%eax
5780 4000570b:       85 c0                   test   %eax,%eax
5781 4000570d:       75 43                   jne    40005752 <add_segment+0x37e>
5782 4000570f:       8b 45 08                mov    0x8(%ebp),%eax
5783 40005712:       8b 50 04                mov    0x4(%eax),%edx
5784 40005715:       8b 4d e4                mov    -0x1c(%ebp),%ecx
5785 40005718:       b8 01 00 00 00          mov    $0x1,%eax
5786 4000571d:       d3 e0                   shl    %cl,%eax
5787 4000571f:       09 c2                   or     %eax,%edx
5788 40005721:       8b 45 08                mov    0x8(%ebp),%eax
5789 40005724:       89 50 04                mov    %edx,0x4(%eax)
5790 40005727:       8b 55 e0                mov    -0x20(%ebp),%edx
5791 4000572a:       8b 45 dc                mov    -0x24(%ebp),%eax
5792 4000572d:       89 02                   mov    %eax,(%edx)
5793 4000572f:       8b 55 e0                mov    -0x20(%ebp),%edx
5794 40005732:       8b 45 dc                mov    -0x24(%ebp),%eax
5795 40005735:       89 50 18                mov    %edx,0x18(%eax)
5796 40005738:       8b 55 dc                mov    -0x24(%ebp),%edx
5797 4000573b:       8b 45 dc                mov    -0x24(%ebp),%eax
5798 4000573e:       89 42 0c                mov    %eax,0xc(%edx)
5799 40005741:       8b 45 dc                mov    -0x24(%ebp),%eax
5800 40005744:       8b 50 0c                mov    0xc(%eax),%edx
5801 40005747:       8b 45 dc                mov    -0x24(%ebp),%eax
5802 4000574a:       89 50 08                mov    %edx,0x8(%eax)
5803 4000574d:       e9 25 01 00 00          jmp    40005877 <add_segment+0x4a3>
5804 40005752:       8b 45 e0                mov    -0x20(%ebp),%eax
5805 40005755:       8b 00                   mov    (%eax),%eax
5806 40005757:       89 45 f0                mov    %eax,-0x10(%ebp)
5807 4000575a:       83 7d e4 1f             cmpl   $0x1f,-0x1c(%ebp)
5808 4000575e:       74 16                   je     40005776 <add_segment+0x3a2>
5809 40005760:       8b 45 e4                mov    -0x1c(%ebp),%eax
5810 40005763:       89 c2                   mov    %eax,%edx
5811 40005765:       d1 ea                   shr    %edx
5812 40005767:       b8 19 00 00 00          mov    $0x19,%eax
5813 4000576c:       29 d0                   sub    %edx,%eax
5814 4000576e:       89 85 7c ff ff ff       mov    %eax,-0x84(%ebp)
5815 40005774:       eb 0a                   jmp    40005780 <add_segment+0x3ac>
5816 40005776:       c7 85 7c ff ff ff 00    movl   $0x0,-0x84(%ebp)
5817 4000577d:       00 00 00 
5818 40005780:       8b 45 c8                mov    -0x38(%ebp),%eax
5819 40005783:       0f b6 8d 7c ff ff ff    movzbl -0x84(%ebp),%ecx
5820 4000578a:       d3 e0                   shl    %cl,%eax
5821 4000578c:       89 45 f4                mov    %eax,-0xc(%ebp)
5822 4000578f:       8b 45 f0                mov    -0x10(%ebp),%eax
5823 40005792:       8b 40 04                mov    0x4(%eax),%eax
5824 40005795:       83 e0 fc                and    $0xfffffffc,%eax
5825 40005798:       3b 45 c8                cmp    -0x38(%ebp),%eax
5826 4000579b:       74 6f                   je     4000580c <add_segment+0x438>
5827 4000579d:       8b 45 f0                mov    -0x10(%ebp),%eax
5828 400057a0:       8d 50 10                lea    0x10(%eax),%edx
5829 400057a3:       8b 45 f4                mov    -0xc(%ebp),%eax
5830 400057a6:       c1 e8 1f                shr    $0x1f,%eax
5831 400057a9:       c1 e0 02                shl    $0x2,%eax
5832 400057ac:       8d 04 02                lea    (%edx,%eax,1),%eax
5833 400057af:       89 45 f8                mov    %eax,-0x8(%ebp)
5834 400057b2:       d1 65 f4                shll   -0xc(%ebp)
5835 400057b5:       8b 45 f8                mov    -0x8(%ebp),%eax
5836 400057b8:       8b 00                   mov    (%eax),%eax
5837 400057ba:       85 c0                   test   %eax,%eax
5838 400057bc:       74 0a                   je     400057c8 <add_segment+0x3f4>
5839 400057be:       8b 45 f8                mov    -0x8(%ebp),%eax
5840 400057c1:       8b 00                   mov    (%eax),%eax
5841 400057c3:       89 45 f0                mov    %eax,-0x10(%ebp)
5842 400057c6:       eb c7                   jmp    4000578f <add_segment+0x3bb>
5843 400057c8:       8b 45 08                mov    0x8(%ebp),%eax
5844 400057cb:       8b 50 10                mov    0x10(%eax),%edx
5845 400057ce:       8b 45 f8                mov    -0x8(%ebp),%eax
5846 400057d1:       39 c2                   cmp    %eax,%edx
5847 400057d3:       0f 96 c0                setbe  %al
5848 400057d6:       0f b6 c0                movzbl %al,%eax
5849 400057d9:       85 c0                   test   %eax,%eax
5850 400057db:       74 28                   je     40005805 <add_segment+0x431>
5851 400057dd:       8b 55 f8                mov    -0x8(%ebp),%edx
5852 400057e0:       8b 45 dc                mov    -0x24(%ebp),%eax
5853 400057e3:       89 02                   mov    %eax,(%edx)
5854 400057e5:       8b 55 dc                mov    -0x24(%ebp),%edx
5855 400057e8:       8b 45 f0                mov    -0x10(%ebp),%eax
5856 400057eb:       89 42 18                mov    %eax,0x18(%edx)
5857 400057ee:       8b 55 dc                mov    -0x24(%ebp),%edx
5858 400057f1:       8b 45 dc                mov    -0x24(%ebp),%eax
5859 400057f4:       89 42 0c                mov    %eax,0xc(%edx)
5860 400057f7:       8b 45 dc                mov    -0x24(%ebp),%eax
5861 400057fa:       8b 50 0c                mov    0xc(%eax),%edx
5862 400057fd:       8b 45 dc                mov    -0x24(%ebp),%eax
5863 40005800:       89 50 08                mov    %edx,0x8(%eax)
5864 40005803:       eb 72                   jmp    40005877 <add_segment+0x4a3>
5865 40005805:       e8 c6 72 00 00          call   4000cad0 <abort>
5866 4000580a:       eb 6b                   jmp    40005877 <add_segment+0x4a3>
5867 4000580c:       8b 45 f0                mov    -0x10(%ebp),%eax
5868 4000580f:       8b 40 08                mov    0x8(%eax),%eax
5869 40005812:       89 45 fc                mov    %eax,-0x4(%ebp)
5870 40005815:       8b 45 08                mov    0x8(%ebp),%eax
5871 40005818:       8b 50 10                mov    0x10(%eax),%edx
5872 4000581b:       8b 45 f0                mov    -0x10(%ebp),%eax
5873 4000581e:       39 c2                   cmp    %eax,%edx
5874 40005820:       0f 96 c0                setbe  %al
5875 40005823:       0f b6 c0                movzbl %al,%eax
5876 40005826:       85 c0                   test   %eax,%eax
5877 40005828:       74 48                   je     40005872 <add_segment+0x49e>
5878 4000582a:       8b 45 08                mov    0x8(%ebp),%eax
5879 4000582d:       8b 50 10                mov    0x10(%eax),%edx
5880 40005830:       8b 45 fc                mov    -0x4(%ebp),%eax
5881 40005833:       39 c2                   cmp    %eax,%edx
5882 40005835:       0f 96 c0                setbe  %al
5883 40005838:       0f b6 c0                movzbl %al,%eax
5884 4000583b:       85 c0                   test   %eax,%eax
5885 4000583d:       74 33                   je     40005872 <add_segment+0x49e>
5886 4000583f:       8b 55 fc                mov    -0x4(%ebp),%edx
5887 40005842:       8b 45 dc                mov    -0x24(%ebp),%eax
5888 40005845:       89 42 0c                mov    %eax,0xc(%edx)
5889 40005848:       8b 45 fc                mov    -0x4(%ebp),%eax
5890 4000584b:       8b 50 0c                mov    0xc(%eax),%edx
5891 4000584e:       8b 45 f0                mov    -0x10(%ebp),%eax
5892 40005851:       89 50 08                mov    %edx,0x8(%eax)
5893 40005854:       8b 55 dc                mov    -0x24(%ebp),%edx
5894 40005857:       8b 45 fc                mov    -0x4(%ebp),%eax
5895 4000585a:       89 42 08                mov    %eax,0x8(%edx)
5896 4000585d:       8b 55 dc                mov    -0x24(%ebp),%edx
5897 40005860:       8b 45 f0                mov    -0x10(%ebp),%eax
5898 40005863:       89 42 0c                mov    %eax,0xc(%edx)
5899 40005866:       8b 45 dc                mov    -0x24(%ebp),%eax
5900 40005869:       c7 40 18 00 00 00 00    movl   $0x0,0x18(%eax)
5901 40005870:       eb 05                   jmp    40005877 <add_segment+0x4a3>
5902 40005872:       e8 59 72 00 00          call   4000cad0 <abort>
5903 40005877:       c9                      leave  
5904 40005878:       c3                      ret    
5906 40005879 <sys_alloc>:
5907 40005879:       55                      push   %ebp
5908 4000587a:       89 e5                   mov    %esp,%ebp
5909 4000587c:       83 ec 68                sub    $0x68,%esp
5910 4000587f:       c7 45 b4 ff ff ff ff    movl   $0xffffffff,-0x4c(%ebp)
5911 40005886:       c7 45 b8 00 00 00 00    movl   $0x0,-0x48(%ebp)
5912 4000588d:       c7 45 bc 00 00 00 00    movl   $0x0,-0x44(%ebp)
5913 40005894:       e8 f5 eb ff ff          call   4000448e <init_mparams>
5914 40005899:       8b 45 08                mov    0x8(%ebp),%eax
5915 4000589c:       8b 80 b4 01 00 00       mov    0x1b4(%eax),%eax
5916 400058a2:       83 e0 04                and    $0x4,%eax
5917 400058a5:       85 c0                   test   %eax,%eax
5918 400058a7:       0f 85 e1 01 00 00       jne    40005a8e <sys_alloc+0x215>
5919 400058ad:       c7 45 c0 ff ff ff ff    movl   $0xffffffff,-0x40(%ebp)
5920 400058b4:       8b 45 08                mov    0x8(%ebp),%eax
5921 400058b7:       8b 40 18                mov    0x18(%eax),%eax
5922 400058ba:       85 c0                   test   %eax,%eax
5923 400058bc:       74 1a                   je     400058d8 <sys_alloc+0x5f>
5924 400058be:       8b 45 08                mov    0x8(%ebp),%eax
5925 400058c1:       8b 40 18                mov    0x18(%eax),%eax
5926 400058c4:       89 44 24 04             mov    %eax,0x4(%esp)
5927 400058c8:       8b 45 08                mov    0x8(%ebp),%eax
5928 400058cb:       89 04 24                mov    %eax,(%esp)
5929 400058ce:       e8 15 eb ff ff          call   400043e8 <segment_holding>
5930 400058d3:       89 45 ac                mov    %eax,-0x54(%ebp)
5931 400058d6:       eb 07                   jmp    400058df <sys_alloc+0x66>
5932 400058d8:       c7 45 ac 00 00 00 00    movl   $0x0,-0x54(%ebp)
5933 400058df:       8b 45 ac                mov    -0x54(%ebp),%eax
5934 400058e2:       89 45 c4                mov    %eax,-0x3c(%ebp)
5935 400058e5:       c7 45 c8 00 00 00 00    movl   $0x0,-0x38(%ebp)
5936 400058ec:       83 7d c4 00             cmpl   $0x0,-0x3c(%ebp)
5937 400058f0:       0f 85 91 00 00 00       jne    40005987 <sys_alloc+0x10e>
5938 400058f6:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
5939 400058fd:       e8 36 3d 00 00          call   40009638 <sbrk>
5940 40005902:       89 45 cc                mov    %eax,-0x34(%ebp)
5941 40005905:       83 7d cc ff             cmpl   $0xffffffff,-0x34(%ebp)
5942 40005909:       0f 84 d4 00 00 00       je     400059e3 <sys_alloc+0x16a>
5943 4000590f:       a1 48 05 01 40          mov    0x40010548,%eax
5944 40005914:       03 45 0c                add    0xc(%ebp),%eax
5945 40005917:       8d 50 29                lea    0x29(%eax),%edx
5946 4000591a:       a1 48 05 01 40          mov    0x40010548,%eax
5947 4000591f:       f7 d8                   neg    %eax
5948 40005921:       21 d0                   and    %edx,%eax
5949 40005923:       89 45 c8                mov    %eax,-0x38(%ebp)
5950 40005926:       a1 44 05 01 40          mov    0x40010544,%eax
5951 4000592b:       8d 50 ff                lea    -0x1(%eax),%edx
5952 4000592e:       8b 45 cc                mov    -0x34(%ebp),%eax
5953 40005931:       21 d0                   and    %edx,%eax
5954 40005933:       85 c0                   test   %eax,%eax
5955 40005935:       74 1f                   je     40005956 <sys_alloc+0xdd>
5956 40005937:       a1 44 05 01 40          mov    0x40010544,%eax
5957 4000593c:       03 45 cc                add    -0x34(%ebp),%eax
5958 4000593f:       89 c2                   mov    %eax,%edx
5959 40005941:       a1 44 05 01 40          mov    0x40010544,%eax
5960 40005946:       f7 d8                   neg    %eax
5961 40005948:       21 c2                   and    %eax,%edx
5962 4000594a:       8b 45 cc                mov    -0x34(%ebp),%eax
5963 4000594d:       89 d1                   mov    %edx,%ecx
5964 4000594f:       29 c1                   sub    %eax,%ecx
5965 40005951:       89 c8                   mov    %ecx,%eax
5966 40005953:       01 45 c8                add    %eax,-0x38(%ebp)
5967 40005956:       81 7d c8 fe ff ff 7f    cmpl   $0x7ffffffe,-0x38(%ebp)
5968 4000595d:       0f 87 80 00 00 00       ja     400059e3 <sys_alloc+0x16a>
5969 40005963:       8b 45 c8                mov    -0x38(%ebp),%eax
5970 40005966:       89 04 24                mov    %eax,(%esp)
5971 40005969:       e8 ca 3c 00 00          call   40009638 <sbrk>
5972 4000596e:       89 45 c0                mov    %eax,-0x40(%ebp)
5973 40005971:       8b 45 c0                mov    -0x40(%ebp),%eax
5974 40005974:       3b 45 cc                cmp    -0x34(%ebp),%eax
5975 40005977:       75 6a                   jne    400059e3 <sys_alloc+0x16a>
5976 40005979:       8b 45 cc                mov    -0x34(%ebp),%eax
5977 4000597c:       89 45 b4                mov    %eax,-0x4c(%ebp)
5978 4000597f:       8b 45 c8                mov    -0x38(%ebp),%eax
5979 40005982:       89 45 b8                mov    %eax,-0x48(%ebp)
5980 40005985:       eb 5c                   jmp    400059e3 <sys_alloc+0x16a>
5981 40005987:       8b 45 08                mov    0x8(%ebp),%eax
5982 4000598a:       8b 50 0c                mov    0xc(%eax),%edx
5983 4000598d:       8b 45 0c                mov    0xc(%ebp),%eax
5984 40005990:       89 c1                   mov    %eax,%ecx
5985 40005992:       29 d1                   sub    %edx,%ecx
5986 40005994:       89 ca                   mov    %ecx,%edx
5987 40005996:       a1 48 05 01 40          mov    0x40010548,%eax
5988 4000599b:       8d 04 02                lea    (%edx,%eax,1),%eax
5989 4000599e:       8d 50 29                lea    0x29(%eax),%edx
5990 400059a1:       a1 48 05 01 40          mov    0x40010548,%eax
5991 400059a6:       f7 d8                   neg    %eax
5992 400059a8:       21 d0                   and    %edx,%eax
5993 400059aa:       89 45 c8                mov    %eax,-0x38(%ebp)
5994 400059ad:       81 7d c8 fe ff ff 7f    cmpl   $0x7ffffffe,-0x38(%ebp)
5995 400059b4:       77 2d                   ja     400059e3 <sys_alloc+0x16a>
5996 400059b6:       8b 45 c8                mov    -0x38(%ebp),%eax
5997 400059b9:       89 04 24                mov    %eax,(%esp)
5998 400059bc:       e8 77 3c 00 00          call   40009638 <sbrk>
5999 400059c1:       89 45 c0                mov    %eax,-0x40(%ebp)
6000 400059c4:       8b 45 c4                mov    -0x3c(%ebp),%eax
6001 400059c7:       8b 10                   mov    (%eax),%edx
6002 400059c9:       8b 45 c4                mov    -0x3c(%ebp),%eax
6003 400059cc:       8b 40 04                mov    0x4(%eax),%eax
6004 400059cf:       8d 04 02                lea    (%edx,%eax,1),%eax
6005 400059d2:       39 45 c0                cmp    %eax,-0x40(%ebp)
6006 400059d5:       75 0c                   jne    400059e3 <sys_alloc+0x16a>
6007 400059d7:       8b 45 c0                mov    -0x40(%ebp),%eax
6008 400059da:       89 45 b4                mov    %eax,-0x4c(%ebp)
6009 400059dd:       8b 45 c8                mov    -0x38(%ebp),%eax
6010 400059e0:       89 45 b8                mov    %eax,-0x48(%ebp)
6011 400059e3:       83 7d b4 ff             cmpl   $0xffffffff,-0x4c(%ebp)
6012 400059e7:       0f 85 a1 00 00 00       jne    40005a8e <sys_alloc+0x215>
6013 400059ed:       83 7d c0 ff             cmpl   $0xffffffff,-0x40(%ebp)
6014 400059f1:       74 70                   je     40005a63 <sys_alloc+0x1ea>
6015 400059f3:       81 7d c8 fe ff ff 7f    cmpl   $0x7ffffffe,-0x38(%ebp)
6016 400059fa:       77 67                   ja     40005a63 <sys_alloc+0x1ea>
6017 400059fc:       8b 45 0c                mov    0xc(%ebp),%eax
6018 400059ff:       83 c0 29                add    $0x29,%eax
6019 40005a02:       3b 45 c8                cmp    -0x38(%ebp),%eax
6020 40005a05:       76 5c                   jbe    40005a63 <sys_alloc+0x1ea>
6021 40005a07:       8b 55 c8                mov    -0x38(%ebp),%edx
6022 40005a0a:       8b 45 0c                mov    0xc(%ebp),%eax
6023 40005a0d:       89 c1                   mov    %eax,%ecx
6024 40005a0f:       29 d1                   sub    %edx,%ecx
6025 40005a11:       89 ca                   mov    %ecx,%edx
6026 40005a13:       a1 48 05 01 40          mov    0x40010548,%eax
6027 40005a18:       8d 04 02                lea    (%edx,%eax,1),%eax
6028 40005a1b:       8d 50 29                lea    0x29(%eax),%edx
6029 40005a1e:       a1 48 05 01 40          mov    0x40010548,%eax
6030 40005a23:       f7 d8                   neg    %eax
6031 40005a25:       21 d0                   and    %edx,%eax
6032 40005a27:       89 45 d0                mov    %eax,-0x30(%ebp)
6033 40005a2a:       81 7d d0 fe ff ff 7f    cmpl   $0x7ffffffe,-0x30(%ebp)
6034 40005a31:       77 30                   ja     40005a63 <sys_alloc+0x1ea>
6035 40005a33:       8b 45 d0                mov    -0x30(%ebp),%eax
6036 40005a36:       89 04 24                mov    %eax,(%esp)
6037 40005a39:       e8 fa 3b 00 00          call   40009638 <sbrk>
6038 40005a3e:       89 45 d4                mov    %eax,-0x2c(%ebp)
6039 40005a41:       83 7d d4 ff             cmpl   $0xffffffff,-0x2c(%ebp)
6040 40005a45:       74 08                   je     40005a4f <sys_alloc+0x1d6>
6041 40005a47:       8b 45 d0                mov    -0x30(%ebp),%eax
6042 40005a4a:       01 45 c8                add    %eax,-0x38(%ebp)
6043 40005a4d:       eb 14                   jmp    40005a63 <sys_alloc+0x1ea>
6044 40005a4f:       8b 45 c8                mov    -0x38(%ebp),%eax
6045 40005a52:       f7 d8                   neg    %eax
6046 40005a54:       89 04 24                mov    %eax,(%esp)
6047 40005a57:       e8 dc 3b 00 00          call   40009638 <sbrk>
6048 40005a5c:       c7 45 c0 ff ff ff ff    movl   $0xffffffff,-0x40(%ebp)
6049 40005a63:       83 7d c0 ff             cmpl   $0xffffffff,-0x40(%ebp)
6050 40005a67:       74 0e                   je     40005a77 <sys_alloc+0x1fe>
6051 40005a69:       8b 45 c0                mov    -0x40(%ebp),%eax
6052 40005a6c:       89 45 b4                mov    %eax,-0x4c(%ebp)
6053 40005a6f:       8b 45 c8                mov    -0x38(%ebp),%eax
6054 40005a72:       89 45 b8                mov    %eax,-0x48(%ebp)
6055 40005a75:       eb 17                   jmp    40005a8e <sys_alloc+0x215>
6056 40005a77:       8b 45 08                mov    0x8(%ebp),%eax
6057 40005a7a:       8b 80 b4 01 00 00       mov    0x1b4(%eax),%eax
6058 40005a80:       89 c2                   mov    %eax,%edx
6059 40005a82:       83 ca 04                or     $0x4,%edx
6060 40005a85:       8b 45 08                mov    0x8(%ebp),%eax
6061 40005a88:       89 90 b4 01 00 00       mov    %edx,0x1b4(%eax)
6062 40005a8e:       83 7d b4 ff             cmpl   $0xffffffff,-0x4c(%ebp)
6063 40005a92:       0f 85 85 00 00 00       jne    40005b1d <sys_alloc+0x2a4>
6064 40005a98:       a1 48 05 01 40          mov    0x40010548,%eax
6065 40005a9d:       03 45 0c                add    0xc(%ebp),%eax
6066 40005aa0:       8d 50 29                lea    0x29(%eax),%edx
6067 40005aa3:       a1 48 05 01 40          mov    0x40010548,%eax
6068 40005aa8:       f7 d8                   neg    %eax
6069 40005aaa:       21 d0                   and    %edx,%eax
6070 40005aac:       89 45 d8                mov    %eax,-0x28(%ebp)
6071 40005aaf:       81 7d d8 fe ff ff 7f    cmpl   $0x7ffffffe,-0x28(%ebp)
6072 40005ab6:       77 65                   ja     40005b1d <sys_alloc+0x2a4>
6073 40005ab8:       c7 45 dc ff ff ff ff    movl   $0xffffffff,-0x24(%ebp)
6074 40005abf:       c7 45 e0 ff ff ff ff    movl   $0xffffffff,-0x20(%ebp)
6075 40005ac6:       8b 45 d8                mov    -0x28(%ebp),%eax
6076 40005ac9:       89 04 24                mov    %eax,(%esp)
6077 40005acc:       e8 67 3b 00 00          call   40009638 <sbrk>
6078 40005ad1:       89 45 dc                mov    %eax,-0x24(%ebp)
6079 40005ad4:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
6080 40005adb:       e8 58 3b 00 00          call   40009638 <sbrk>
6081 40005ae0:       89 45 e0                mov    %eax,-0x20(%ebp)
6082 40005ae3:       83 7d dc ff             cmpl   $0xffffffff,-0x24(%ebp)
6083 40005ae7:       74 34                   je     40005b1d <sys_alloc+0x2a4>
6084 40005ae9:       83 7d e0 ff             cmpl   $0xffffffff,-0x20(%ebp)
6085 40005aed:       74 2e                   je     40005b1d <sys_alloc+0x2a4>
6086 40005aef:       8b 45 dc                mov    -0x24(%ebp),%eax
6087 40005af2:       3b 45 e0                cmp    -0x20(%ebp),%eax
6088 40005af5:       73 26                   jae    40005b1d <sys_alloc+0x2a4>
6089 40005af7:       8b 55 e0                mov    -0x20(%ebp),%edx
6090 40005afa:       8b 45 dc                mov    -0x24(%ebp),%eax
6091 40005afd:       89 d1                   mov    %edx,%ecx
6092 40005aff:       29 c1                   sub    %eax,%ecx
6093 40005b01:       89 c8                   mov    %ecx,%eax
6094 40005b03:       89 45 e4                mov    %eax,-0x1c(%ebp)
6095 40005b06:       8b 45 0c                mov    0xc(%ebp),%eax
6096 40005b09:       83 c0 28                add    $0x28,%eax
6097 40005b0c:       3b 45 e4                cmp    -0x1c(%ebp),%eax
6098 40005b0f:       73 0c                   jae    40005b1d <sys_alloc+0x2a4>
6099 40005b11:       8b 45 dc                mov    -0x24(%ebp),%eax
6100 40005b14:       89 45 b4                mov    %eax,-0x4c(%ebp)
6101 40005b17:       8b 45 e4                mov    -0x1c(%ebp),%eax
6102 40005b1a:       89 45 b8                mov    %eax,-0x48(%ebp)
6103 40005b1d:       83 7d b4 ff             cmpl   $0xffffffff,-0x4c(%ebp)
6104 40005b21:       0f 84 e4 02 00 00       je     40005e0b <sys_alloc+0x592>
6105 40005b27:       8b 45 08                mov    0x8(%ebp),%eax
6106 40005b2a:       8b 80 ac 01 00 00       mov    0x1ac(%eax),%eax
6107 40005b30:       89 c2                   mov    %eax,%edx
6108 40005b32:       03 55 b8                add    -0x48(%ebp),%edx
6109 40005b35:       8b 45 08                mov    0x8(%ebp),%eax
6110 40005b38:       89 90 ac 01 00 00       mov    %edx,0x1ac(%eax)
6111 40005b3e:       8b 45 08                mov    0x8(%ebp),%eax
6112 40005b41:       8b 90 ac 01 00 00       mov    0x1ac(%eax),%edx
6113 40005b47:       8b 45 08                mov    0x8(%ebp),%eax
6114 40005b4a:       8b 80 b0 01 00 00       mov    0x1b0(%eax),%eax
6115 40005b50:       39 c2                   cmp    %eax,%edx
6116 40005b52:       76 12                   jbe    40005b66 <sys_alloc+0x2ed>
6117 40005b54:       8b 45 08                mov    0x8(%ebp),%eax
6118 40005b57:       8b 90 ac 01 00 00       mov    0x1ac(%eax),%edx
6119 40005b5d:       8b 45 08                mov    0x8(%ebp),%eax
6120 40005b60:       89 90 b0 01 00 00       mov    %edx,0x1b0(%eax)
6121 40005b66:       8b 45 08                mov    0x8(%ebp),%eax
6122 40005b69:       8b 40 18                mov    0x18(%eax),%eax
6123 40005b6c:       85 c0                   test   %eax,%eax
6124 40005b6e:       0f 85 ba 00 00 00       jne    40005c2e <sys_alloc+0x3b5>
6125 40005b74:       8b 55 08                mov    0x8(%ebp),%edx
6126 40005b77:       8b 45 b4                mov    -0x4c(%ebp),%eax
6127 40005b7a:       89 42 10                mov    %eax,0x10(%edx)
6128 40005b7d:       8b 45 08                mov    0x8(%ebp),%eax
6129 40005b80:       8b 50 10                mov    0x10(%eax),%edx
6130 40005b83:       8b 45 08                mov    0x8(%ebp),%eax
6131 40005b86:       89 90 b8 01 00 00       mov    %edx,0x1b8(%eax)
6132 40005b8c:       8b 55 08                mov    0x8(%ebp),%edx
6133 40005b8f:       8b 45 b8                mov    -0x48(%ebp),%eax
6134 40005b92:       89 82 bc 01 00 00       mov    %eax,0x1bc(%edx)
6135 40005b98:       8b 55 08                mov    0x8(%ebp),%edx
6136 40005b9b:       8b 45 bc                mov    -0x44(%ebp),%eax
6137 40005b9e:       89 82 c4 01 00 00       mov    %eax,0x1c4(%edx)
6138 40005ba4:       8b 15 40 05 01 40       mov    0x40010540,%edx
6139 40005baa:       8b 45 08                mov    0x8(%ebp),%eax
6140 40005bad:       89 50 20                mov    %edx,0x20(%eax)
6141 40005bb0:       8b 45 08                mov    0x8(%ebp),%eax
6142 40005bb3:       89 04 24                mov    %eax,(%esp)
6143 40005bb6:       e8 2d f0 ff ff          call   40004be8 <init_bins>
6144 40005bbb:       81 7d 08 60 05 01 40    cmpl   $0x40010560,0x8(%ebp)
6145 40005bc2:       75 21                   jne    40005be5 <sys_alloc+0x36c>
6146 40005bc4:       8b 45 b8                mov    -0x48(%ebp),%eax
6147 40005bc7:       83 e8 28                sub    $0x28,%eax
6148 40005bca:       8b 55 b4                mov    -0x4c(%ebp),%edx
6149 40005bcd:       89 44 24 08             mov    %eax,0x8(%esp)
6150 40005bd1:       89 54 24 04             mov    %edx,0x4(%esp)
6151 40005bd5:       8b 45 08                mov    0x8(%ebp),%eax
6152 40005bd8:       89 04 24                mov    %eax,(%esp)
6153 40005bdb:       e8 83 ef ff ff          call   40004b63 <init_top>
6154 40005be0:       e9 b9 01 00 00          jmp    40005d9e <sys_alloc+0x525>
6155 40005be5:       8b 55 08                mov    0x8(%ebp),%edx
6156 40005be8:       8b 45 08                mov    0x8(%ebp),%eax
6157 40005beb:       83 e8 08                sub    $0x8,%eax
6158 40005bee:       8b 40 04                mov    0x4(%eax),%eax
6159 40005bf1:       83 e0 fc                and    $0xfffffffc,%eax
6160 40005bf4:       83 e8 08                sub    $0x8,%eax
6161 40005bf7:       8d 04 02                lea    (%edx,%eax,1),%eax
6162 40005bfa:       89 45 e8                mov    %eax,-0x18(%ebp)
6163 40005bfd:       8b 55 b8                mov    -0x48(%ebp),%edx
6164 40005c00:       8b 45 b4                mov    -0x4c(%ebp),%eax
6165 40005c03:       01 d0                   add    %edx,%eax
6166 40005c05:       89 c2                   mov    %eax,%edx
6167 40005c07:       8b 45 e8                mov    -0x18(%ebp),%eax
6168 40005c0a:       89 d1                   mov    %edx,%ecx
6169 40005c0c:       29 c1                   sub    %eax,%ecx
6170 40005c0e:       89 c8                   mov    %ecx,%eax
6171 40005c10:       83 e8 28                sub    $0x28,%eax
6172 40005c13:       89 44 24 08             mov    %eax,0x8(%esp)
6173 40005c17:       8b 45 e8                mov    -0x18(%ebp),%eax
6174 40005c1a:       89 44 24 04             mov    %eax,0x4(%esp)
6175 40005c1e:       8b 45 08                mov    0x8(%ebp),%eax
6176 40005c21:       89 04 24                mov    %eax,(%esp)
6177 40005c24:       e8 3a ef ff ff          call   40004b63 <init_top>
6178 40005c29:       e9 70 01 00 00          jmp    40005d9e <sys_alloc+0x525>
6179 40005c2e:       8b 45 08                mov    0x8(%ebp),%eax
6180 40005c31:       05 b8 01 00 00          add    $0x1b8,%eax
6181 40005c36:       89 45 ec                mov    %eax,-0x14(%ebp)
6182 40005c39:       eb 09                   jmp    40005c44 <sys_alloc+0x3cb>
6183 40005c3b:       8b 45 ec                mov    -0x14(%ebp),%eax
6184 40005c3e:       8b 40 08                mov    0x8(%eax),%eax
6185 40005c41:       89 45 ec                mov    %eax,-0x14(%ebp)
6186 40005c44:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
6187 40005c48:       74 13                   je     40005c5d <sys_alloc+0x3e4>
6188 40005c4a:       8b 45 ec                mov    -0x14(%ebp),%eax
6189 40005c4d:       8b 10                   mov    (%eax),%edx
6190 40005c4f:       8b 45 ec                mov    -0x14(%ebp),%eax
6191 40005c52:       8b 40 04                mov    0x4(%eax),%eax
6192 40005c55:       8d 04 02                lea    (%edx,%eax,1),%eax
6193 40005c58:       3b 45 b4                cmp    -0x4c(%ebp),%eax
6194 40005c5b:       75 de                   jne    40005c3b <sys_alloc+0x3c2>
6195 40005c5d:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
6196 40005c61:       74 78                   je     40005cdb <sys_alloc+0x462>
6197 40005c63:       8b 45 ec                mov    -0x14(%ebp),%eax
6198 40005c66:       8b 40 0c                mov    0xc(%eax),%eax
6199 40005c69:       83 e0 08                and    $0x8,%eax
6200 40005c6c:       85 c0                   test   %eax,%eax
6201 40005c6e:       75 6b                   jne    40005cdb <sys_alloc+0x462>
6202 40005c70:       83 7d bc 00             cmpl   $0x0,-0x44(%ebp)
6203 40005c74:       75 65                   jne    40005cdb <sys_alloc+0x462>
6204 40005c76:       8b 45 08                mov    0x8(%ebp),%eax
6205 40005c79:       8b 40 18                mov    0x18(%eax),%eax
6206 40005c7c:       89 c2                   mov    %eax,%edx
6207 40005c7e:       8b 45 ec                mov    -0x14(%ebp),%eax
6208 40005c81:       8b 00                   mov    (%eax),%eax
6209 40005c83:       39 c2                   cmp    %eax,%edx
6210 40005c85:       72 54                   jb     40005cdb <sys_alloc+0x462>
6211 40005c87:       8b 45 08                mov    0x8(%ebp),%eax
6212 40005c8a:       8b 40 18                mov    0x18(%eax),%eax
6213 40005c8d:       89 c1                   mov    %eax,%ecx
6214 40005c8f:       8b 45 ec                mov    -0x14(%ebp),%eax
6215 40005c92:       8b 10                   mov    (%eax),%edx
6216 40005c94:       8b 45 ec                mov    -0x14(%ebp),%eax
6217 40005c97:       8b 40 04                mov    0x4(%eax),%eax
6218 40005c9a:       8d 04 02                lea    (%edx,%eax,1),%eax
6219 40005c9d:       39 c1                   cmp    %eax,%ecx
6220 40005c9f:       73 3a                   jae    40005cdb <sys_alloc+0x462>
6221 40005ca1:       8b 45 ec                mov    -0x14(%ebp),%eax
6222 40005ca4:       8b 40 04                mov    0x4(%eax),%eax
6223 40005ca7:       89 c2                   mov    %eax,%edx
6224 40005ca9:       03 55 b8                add    -0x48(%ebp),%edx
6225 40005cac:       8b 45 ec                mov    -0x14(%ebp),%eax
6226 40005caf:       89 50 04                mov    %edx,0x4(%eax)
6227 40005cb2:       8b 45 08                mov    0x8(%ebp),%eax
6228 40005cb5:       8b 40 0c                mov    0xc(%eax),%eax
6229 40005cb8:       89 c2                   mov    %eax,%edx
6230 40005cba:       03 55 b8                add    -0x48(%ebp),%edx
6231 40005cbd:       8b 45 08                mov    0x8(%ebp),%eax
6232 40005cc0:       8b 40 18                mov    0x18(%eax),%eax
6233 40005cc3:       89 54 24 08             mov    %edx,0x8(%esp)
6234 40005cc7:       89 44 24 04             mov    %eax,0x4(%esp)
6235 40005ccb:       8b 45 08                mov    0x8(%ebp),%eax
6236 40005cce:       89 04 24                mov    %eax,(%esp)
6237 40005cd1:       e8 8d ee ff ff          call   40004b63 <init_top>
6238 40005cd6:       e9 c3 00 00 00          jmp    40005d9e <sys_alloc+0x525>
6239 40005cdb:       8b 45 08                mov    0x8(%ebp),%eax
6240 40005cde:       8b 40 10                mov    0x10(%eax),%eax
6241 40005ce1:       3b 45 b4                cmp    -0x4c(%ebp),%eax
6242 40005ce4:       76 09                   jbe    40005cef <sys_alloc+0x476>
6243 40005ce6:       8b 55 08                mov    0x8(%ebp),%edx
6244 40005ce9:       8b 45 b4                mov    -0x4c(%ebp),%eax
6245 40005cec:       89 42 10                mov    %eax,0x10(%edx)
6246 40005cef:       8b 45 08                mov    0x8(%ebp),%eax
6247 40005cf2:       05 b8 01 00 00          add    $0x1b8,%eax
6248 40005cf7:       89 45 ec                mov    %eax,-0x14(%ebp)
6249 40005cfa:       eb 09                   jmp    40005d05 <sys_alloc+0x48c>
6250 40005cfc:       8b 45 ec                mov    -0x14(%ebp),%eax
6251 40005cff:       8b 40 08                mov    0x8(%eax),%eax
6252 40005d02:       89 45 ec                mov    %eax,-0x14(%ebp)
6253 40005d05:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
6254 40005d09:       74 11                   je     40005d1c <sys_alloc+0x4a3>
6255 40005d0b:       8b 45 ec                mov    -0x14(%ebp),%eax
6256 40005d0e:       8b 08                   mov    (%eax),%ecx
6257 40005d10:       8b 55 b8                mov    -0x48(%ebp),%edx
6258 40005d13:       8b 45 b4                mov    -0x4c(%ebp),%eax
6259 40005d16:       01 d0                   add    %edx,%eax
6260 40005d18:       39 c1                   cmp    %eax,%ecx
6261 40005d1a:       75 e0                   jne    40005cfc <sys_alloc+0x483>
6262 40005d1c:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
6263 40005d20:       74 5c                   je     40005d7e <sys_alloc+0x505>
6264 40005d22:       8b 45 ec                mov    -0x14(%ebp),%eax
6265 40005d25:       8b 40 0c                mov    0xc(%eax),%eax
6266 40005d28:       83 e0 08                and    $0x8,%eax
6267 40005d2b:       85 c0                   test   %eax,%eax
6268 40005d2d:       75 4f                   jne    40005d7e <sys_alloc+0x505>
6269 40005d2f:       83 7d bc 00             cmpl   $0x0,-0x44(%ebp)
6270 40005d33:       75 49                   jne    40005d7e <sys_alloc+0x505>
6271 40005d35:       8b 45 ec                mov    -0x14(%ebp),%eax
6272 40005d38:       8b 00                   mov    (%eax),%eax
6273 40005d3a:       89 45 f0                mov    %eax,-0x10(%ebp)
6274 40005d3d:       8b 55 ec                mov    -0x14(%ebp),%edx
6275 40005d40:       8b 45 b4                mov    -0x4c(%ebp),%eax
6276 40005d43:       89 02                   mov    %eax,(%edx)
6277 40005d45:       8b 45 ec                mov    -0x14(%ebp),%eax
6278 40005d48:       8b 40 04                mov    0x4(%eax),%eax
6279 40005d4b:       89 c2                   mov    %eax,%edx
6280 40005d4d:       03 55 b8                add    -0x48(%ebp),%edx
6281 40005d50:       8b 45 ec                mov    -0x14(%ebp),%eax
6282 40005d53:       89 50 04                mov    %edx,0x4(%eax)
6283 40005d56:       8b 45 0c                mov    0xc(%ebp),%eax
6284 40005d59:       89 44 24 0c             mov    %eax,0xc(%esp)
6285 40005d5d:       8b 45 f0                mov    -0x10(%ebp),%eax
6286 40005d60:       89 44 24 08             mov    %eax,0x8(%esp)
6287 40005d64:       8b 45 b4                mov    -0x4c(%ebp),%eax
6288 40005d67:       89 44 24 04             mov    %eax,0x4(%esp)
6289 40005d6b:       8b 45 08                mov    0x8(%ebp),%eax
6290 40005d6e:       89 04 24                mov    %eax,(%esp)
6291 40005d71:       e8 b6 ee ff ff          call   40004c2c <prepend_alloc>
6292 40005d76:       89 45 a8                mov    %eax,-0x58(%ebp)
6293 40005d79:       e9 9e 00 00 00          jmp    40005e1c <sys_alloc+0x5a3>
6294 40005d7e:       8b 45 bc                mov    -0x44(%ebp),%eax
6295 40005d81:       89 44 24 0c             mov    %eax,0xc(%esp)
6296 40005d85:       8b 45 b8                mov    -0x48(%ebp),%eax
6297 40005d88:       89 44 24 08             mov    %eax,0x8(%esp)
6298 40005d8c:       8b 45 b4                mov    -0x4c(%ebp),%eax
6299 40005d8f:       89 44 24 04             mov    %eax,0x4(%esp)
6300 40005d93:       8b 45 08                mov    0x8(%ebp),%eax
6301 40005d96:       89 04 24                mov    %eax,(%esp)
6302 40005d99:       e8 36 f6 ff ff          call   400053d4 <add_segment>
6303 40005d9e:       8b 45 08                mov    0x8(%ebp),%eax
6304 40005da1:       8b 40 0c                mov    0xc(%eax),%eax
6305 40005da4:       3b 45 0c                cmp    0xc(%ebp),%eax
6306 40005da7:       76 62                   jbe    40005e0b <sys_alloc+0x592>
6307 40005da9:       8b 45 08                mov    0x8(%ebp),%eax
6308 40005dac:       8b 40 0c                mov    0xc(%eax),%eax
6309 40005daf:       89 c2                   mov    %eax,%edx
6310 40005db1:       2b 55 0c                sub    0xc(%ebp),%edx
6311 40005db4:       8b 45 08                mov    0x8(%ebp),%eax
6312 40005db7:       89 50 0c                mov    %edx,0xc(%eax)
6313 40005dba:       8b 45 08                mov    0x8(%ebp),%eax
6314 40005dbd:       8b 40 0c                mov    0xc(%eax),%eax
6315 40005dc0:       89 45 f4                mov    %eax,-0xc(%ebp)
6316 40005dc3:       8b 45 08                mov    0x8(%ebp),%eax
6317 40005dc6:       8b 40 18                mov    0x18(%eax),%eax
6318 40005dc9:       89 45 f8                mov    %eax,-0x8(%ebp)
6319 40005dcc:       8b 55 0c                mov    0xc(%ebp),%edx
6320 40005dcf:       8b 45 f8                mov    -0x8(%ebp),%eax
6321 40005dd2:       8d 14 10                lea    (%eax,%edx,1),%edx
6322 40005dd5:       8b 45 08                mov    0x8(%ebp),%eax
6323 40005dd8:       89 50 18                mov    %edx,0x18(%eax)
6324 40005ddb:       8b 45 08                mov    0x8(%ebp),%eax
6325 40005dde:       8b 40 18                mov    0x18(%eax),%eax
6326 40005de1:       89 45 fc                mov    %eax,-0x4(%ebp)
6327 40005de4:       8b 45 f4                mov    -0xc(%ebp),%eax
6328 40005de7:       89 c2                   mov    %eax,%edx
6329 40005de9:       83 ca 01                or     $0x1,%edx
6330 40005dec:       8b 45 fc                mov    -0x4(%ebp),%eax
6331 40005def:       89 50 04                mov    %edx,0x4(%eax)
6332 40005df2:       8b 45 0c                mov    0xc(%ebp),%eax
6333 40005df5:       89 c2                   mov    %eax,%edx
6334 40005df7:       83 ca 03                or     $0x3,%edx
6335 40005dfa:       8b 45 f8                mov    -0x8(%ebp),%eax
6336 40005dfd:       89 50 04                mov    %edx,0x4(%eax)
6337 40005e00:       8b 45 f8                mov    -0x8(%ebp),%eax
6338 40005e03:       83 c0 08                add    $0x8,%eax
6339 40005e06:       89 45 a8                mov    %eax,-0x58(%ebp)
6340 40005e09:       eb 11                   jmp    40005e1c <sys_alloc+0x5a3>
6341 40005e0b:       c7 05 10 1c 01 40 31    movl   $0x31,0x40011c10
6342 40005e12:       00 00 00 
6343 40005e15:       c7 45 a8 00 00 00 00    movl   $0x0,-0x58(%ebp)
6344 40005e1c:       8b 45 a8                mov    -0x58(%ebp),%eax
6345 40005e1f:       c9                      leave  
6346 40005e20:       c3                      ret    
6348 40005e21 <release_unused_segments>:
6349 40005e21:       55                      push   %ebp
6350 40005e22:       89 e5                   mov    %esp,%ebp
6351 40005e24:       83 ec 70                sub    $0x70,%esp
6352 40005e27:       c7 45 9c 00 00 00 00    movl   $0x0,-0x64(%ebp)
6353 40005e2e:       8b 45 08                mov    0x8(%ebp),%eax
6354 40005e31:       05 b8 01 00 00          add    $0x1b8,%eax
6355 40005e36:       89 45 a0                mov    %eax,-0x60(%ebp)
6356 40005e39:       8b 45 a0                mov    -0x60(%ebp),%eax
6357 40005e3c:       8b 40 08                mov    0x8(%eax),%eax
6358 40005e3f:       89 45 a4                mov    %eax,-0x5c(%ebp)
6359 40005e42:       eb 26                   jmp    40005e6a <release_unused_segments+0x49>
6360 40005e44:       8b 45 a4                mov    -0x5c(%ebp),%eax
6361 40005e47:       8b 00                   mov    (%eax),%eax
6362 40005e49:       89 45 a8                mov    %eax,-0x58(%ebp)
6363 40005e4c:       8b 45 a4                mov    -0x5c(%ebp),%eax
6364 40005e4f:       8b 40 04                mov    0x4(%eax),%eax
6365 40005e52:       89 45 ac                mov    %eax,-0x54(%ebp)
6366 40005e55:       8b 45 a4                mov    -0x5c(%ebp),%eax
6367 40005e58:       8b 40 08                mov    0x8(%eax),%eax
6368 40005e5b:       89 45 b0                mov    %eax,-0x50(%ebp)
6369 40005e5e:       8b 45 a4                mov    -0x5c(%ebp),%eax
6370 40005e61:       89 45 a0                mov    %eax,-0x60(%ebp)
6371 40005e64:       8b 45 b0                mov    -0x50(%ebp),%eax
6372 40005e67:       89 45 a4                mov    %eax,-0x5c(%ebp)
6373 40005e6a:       83 7d a4 00             cmpl   $0x0,-0x5c(%ebp)
6374 40005e6e:       75 d4                   jne    40005e44 <release_unused_segments+0x23>
6375 40005e70:       8b 45 9c                mov    -0x64(%ebp),%eax
6376 40005e73:       c9                      leave  
6377 40005e74:       c3                      ret    
6379 40005e75 <sys_trim>:
6380 40005e75:       55                      push   %ebp
6381 40005e76:       89 e5                   mov    %esp,%ebp
6382 40005e78:       83 ec 38                sub    $0x38,%esp
6383 40005e7b:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
6384 40005e82:       83 7d 0c bf             cmpl   $0xffffffbf,0xc(%ebp)
6385 40005e86:       0f 87 3f 01 00 00       ja     40005fcb <sys_trim+0x156>
6386 40005e8c:       8b 45 08                mov    0x8(%ebp),%eax
6387 40005e8f:       8b 40 18                mov    0x18(%eax),%eax
6388 40005e92:       85 c0                   test   %eax,%eax
6389 40005e94:       0f 84 31 01 00 00       je     40005fcb <sys_trim+0x156>
6390 40005e9a:       83 45 0c 28             addl   $0x28,0xc(%ebp)
6391 40005e9e:       8b 45 08                mov    0x8(%ebp),%eax
6392 40005ea1:       8b 40 0c                mov    0xc(%eax),%eax
6393 40005ea4:       3b 45 0c                cmp    0xc(%ebp),%eax
6394 40005ea7:       0f 86 0e 01 00 00       jbe    40005fbb <sys_trim+0x146>
6395 40005ead:       a1 48 05 01 40          mov    0x40010548,%eax
6396 40005eb2:       89 45 e8                mov    %eax,-0x18(%ebp)
6397 40005eb5:       8b 45 08                mov    0x8(%ebp),%eax
6398 40005eb8:       8b 40 0c                mov    0xc(%eax),%eax
6399 40005ebb:       2b 45 0c                sub    0xc(%ebp),%eax
6400 40005ebe:       03 45 e8                add    -0x18(%ebp),%eax
6401 40005ec1:       83 e8 01                sub    $0x1,%eax
6402 40005ec4:       ba 00 00 00 00          mov    $0x0,%edx
6403 40005ec9:       f7 75 e8                divl   -0x18(%ebp)
6404 40005ecc:       83 e8 01                sub    $0x1,%eax
6405 40005ecf:       0f af 45 e8             imul   -0x18(%ebp),%eax
6406 40005ed3:       89 45 ec                mov    %eax,-0x14(%ebp)
6407 40005ed6:       8b 45 08                mov    0x8(%ebp),%eax
6408 40005ed9:       8b 40 18                mov    0x18(%eax),%eax
6409 40005edc:       89 44 24 04             mov    %eax,0x4(%esp)
6410 40005ee0:       8b 45 08                mov    0x8(%ebp),%eax
6411 40005ee3:       89 04 24                mov    %eax,(%esp)
6412 40005ee6:       e8 fd e4 ff ff          call   400043e8 <segment_holding>
6413 40005eeb:       89 45 f0                mov    %eax,-0x10(%ebp)
6414 40005eee:       8b 45 f0                mov    -0x10(%ebp),%eax
6415 40005ef1:       8b 40 0c                mov    0xc(%eax),%eax
6416 40005ef4:       83 e0 08                and    $0x8,%eax
6417 40005ef7:       85 c0                   test   %eax,%eax
6418 40005ef9:       75 6e                   jne    40005f69 <sys_trim+0xf4>
6419 40005efb:       81 7d ec fe ff ff 7f    cmpl   $0x7ffffffe,-0x14(%ebp)
6420 40005f02:       76 0b                   jbe    40005f0f <sys_trim+0x9a>
6421 40005f04:       b8 00 00 00 80          mov    $0x80000000,%eax
6422 40005f09:       2b 45 e8                sub    -0x18(%ebp),%eax
6423 40005f0c:       89 45 ec                mov    %eax,-0x14(%ebp)
6424 40005f0f:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
6425 40005f16:       e8 1d 37 00 00          call   40009638 <sbrk>
6426 40005f1b:       89 45 f4                mov    %eax,-0xc(%ebp)
6427 40005f1e:       8b 45 f0                mov    -0x10(%ebp),%eax
6428 40005f21:       8b 10                   mov    (%eax),%edx
6429 40005f23:       8b 45 f0                mov    -0x10(%ebp),%eax
6430 40005f26:       8b 40 04                mov    0x4(%eax),%eax
6431 40005f29:       8d 04 02                lea    (%edx,%eax,1),%eax
6432 40005f2c:       3b 45 f4                cmp    -0xc(%ebp),%eax
6433 40005f2f:       75 38                   jne    40005f69 <sys_trim+0xf4>
6434 40005f31:       8b 45 ec                mov    -0x14(%ebp),%eax
6435 40005f34:       f7 d8                   neg    %eax
6436 40005f36:       89 04 24                mov    %eax,(%esp)
6437 40005f39:       e8 fa 36 00 00          call   40009638 <sbrk>
6438 40005f3e:       89 45 f8                mov    %eax,-0x8(%ebp)
6439 40005f41:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
6440 40005f48:       e8 eb 36 00 00          call   40009638 <sbrk>
6441 40005f4d:       89 45 fc                mov    %eax,-0x4(%ebp)
6442 40005f50:       83 7d f8 ff             cmpl   $0xffffffff,-0x8(%ebp)
6443 40005f54:       74 13                   je     40005f69 <sys_trim+0xf4>
6444 40005f56:       8b 45 fc                mov    -0x4(%ebp),%eax
6445 40005f59:       3b 45 f4                cmp    -0xc(%ebp),%eax
6446 40005f5c:       73 0b                   jae    40005f69 <sys_trim+0xf4>
6447 40005f5e:       8b 45 f4                mov    -0xc(%ebp),%eax
6448 40005f61:       8b 55 fc                mov    -0x4(%ebp),%edx
6449 40005f64:       29 d0                   sub    %edx,%eax
6450 40005f66:       89 45 e4                mov    %eax,-0x1c(%ebp)
6451 40005f69:       83 7d e4 00             cmpl   $0x0,-0x1c(%ebp)
6452 40005f6d:       74 4c                   je     40005fbb <sys_trim+0x146>
6453 40005f6f:       8b 45 f0                mov    -0x10(%ebp),%eax
6454 40005f72:       8b 40 04                mov    0x4(%eax),%eax
6455 40005f75:       89 c2                   mov    %eax,%edx
6456 40005f77:       2b 55 e4                sub    -0x1c(%ebp),%edx
6457 40005f7a:       8b 45 f0                mov    -0x10(%ebp),%eax
6458 40005f7d:       89 50 04                mov    %edx,0x4(%eax)
6459 40005f80:       8b 45 08                mov    0x8(%ebp),%eax
6460 40005f83:       8b 80 ac 01 00 00       mov    0x1ac(%eax),%eax
6461 40005f89:       89 c2                   mov    %eax,%edx
6462 40005f8b:       2b 55 e4                sub    -0x1c(%ebp),%edx
6463 40005f8e:       8b 45 08                mov    0x8(%ebp),%eax
6464 40005f91:       89 90 ac 01 00 00       mov    %edx,0x1ac(%eax)
6465 40005f97:       8b 45 08                mov    0x8(%ebp),%eax
6466 40005f9a:       8b 40 0c                mov    0xc(%eax),%eax
6467 40005f9d:       89 c2                   mov    %eax,%edx
6468 40005f9f:       2b 55 e4                sub    -0x1c(%ebp),%edx
6469 40005fa2:       8b 45 08                mov    0x8(%ebp),%eax
6470 40005fa5:       8b 40 18                mov    0x18(%eax),%eax
6471 40005fa8:       89 54 24 08             mov    %edx,0x8(%esp)
6472 40005fac:       89 44 24 04             mov    %eax,0x4(%esp)
6473 40005fb0:       8b 45 08                mov    0x8(%ebp),%eax
6474 40005fb3:       89 04 24                mov    %eax,(%esp)
6475 40005fb6:       e8 a8 eb ff ff          call   40004b63 <init_top>
6476 40005fbb:       83 7d e4 00             cmpl   $0x0,-0x1c(%ebp)
6477 40005fbf:       75 0a                   jne    40005fcb <sys_trim+0x156>
6478 40005fc1:       8b 45 08                mov    0x8(%ebp),%eax
6479 40005fc4:       c7 40 1c ff ff ff ff    movl   $0xffffffff,0x1c(%eax)
6480 40005fcb:       83 7d e4 00             cmpl   $0x0,-0x1c(%ebp)
6481 40005fcf:       0f 95 c0                setne  %al
6482 40005fd2:       0f b6 c0                movzbl %al,%eax
6483 40005fd5:       c9                      leave  
6484 40005fd6:       c3                      ret    
6486 40005fd7 <tmalloc_large>:
6487 40005fd7:       55                      push   %ebp
6488 40005fd8:       89 e5                   mov    %esp,%ebp
6489 40005fda:       53                      push   %ebx
6490 40005fdb:       81 ec a4 00 00 00       sub    $0xa4,%esp
6491 40005fe1:       c7 85 6c ff ff ff 00    movl   $0x0,-0x94(%ebp)
6492 40005fe8:       00 00 00 
6493 40005feb:       8b 45 0c                mov    0xc(%ebp),%eax
6494 40005fee:       f7 d8                   neg    %eax
6495 40005ff0:       89 85 70 ff ff ff       mov    %eax,-0x90(%ebp)
6496 40005ff6:       8b 45 0c                mov    0xc(%ebp),%eax
6497 40005ff9:       c1 e8 08                shr    $0x8,%eax
6498 40005ffc:       89 85 7c ff ff ff       mov    %eax,-0x84(%ebp)
6499 40006002:       83 bd 7c ff ff ff 00    cmpl   $0x0,-0x84(%ebp)
6500 40006009:       75 0c                   jne    40006017 <tmalloc_large+0x40>
6501 4000600b:       c7 85 78 ff ff ff 00    movl   $0x0,-0x88(%ebp)
6502 40006012:       00 00 00 
6503 40006015:       eb 41                   jmp    40006058 <tmalloc_large+0x81>
6504 40006017:       81 bd 7c ff ff ff ff    cmpl   $0xffff,-0x84(%ebp)
6505 4000601e:       ff 00 00 
6506 40006021:       76 0c                   jbe    4000602f <tmalloc_large+0x58>
6507 40006023:       c7 85 78 ff ff ff 1f    movl   $0x1f,-0x88(%ebp)
6508 4000602a:       00 00 00 
6509 4000602d:       eb 29                   jmp    40006058 <tmalloc_large+0x81>
6510 4000602f:       0f bd 85 7c ff ff ff    bsr    -0x84(%ebp),%eax
6511 40006036:       89 45 80                mov    %eax,-0x80(%ebp)
6512 40006039:       8b 45 80                mov    -0x80(%ebp),%eax
6513 4000603c:       8d 14 00                lea    (%eax,%eax,1),%edx
6514 4000603f:       8b 45 80                mov    -0x80(%ebp),%eax
6515 40006042:       83 c0 07                add    $0x7,%eax
6516 40006045:       89 c1                   mov    %eax,%ecx
6517 40006047:       8b 45 0c                mov    0xc(%ebp),%eax
6518 4000604a:       d3 e8                   shr    %cl,%eax
6519 4000604c:       83 e0 01                and    $0x1,%eax
6520 4000604f:       8d 04 02                lea    (%edx,%eax,1),%eax
6521 40006052:       89 85 78 ff ff ff       mov    %eax,-0x88(%ebp)
6522 40006058:       8b 45 08                mov    0x8(%ebp),%eax
6523 4000605b:       8d 90 2c 01 00 00       lea    0x12c(%eax),%edx
6524 40006061:       8b 85 78 ff ff ff       mov    -0x88(%ebp),%eax
6525 40006067:       c1 e0 02                shl    $0x2,%eax
6526 4000606a:       8d 04 02                lea    (%edx,%eax,1),%eax
6527 4000606d:       8b 00                   mov    (%eax),%eax
6528 4000606f:       89 85 74 ff ff ff       mov    %eax,-0x8c(%ebp)
6529 40006075:       83 bd 74 ff ff ff 00    cmpl   $0x0,-0x8c(%ebp)
6530 4000607c:       0f 84 d4 00 00 00       je     40006156 <tmalloc_large+0x17f>
6531 40006082:       83 bd 78 ff ff ff 1f    cmpl   $0x1f,-0x88(%ebp)
6532 40006089:       74 19                   je     400060a4 <tmalloc_large+0xcd>
6533 4000608b:       8b 85 78 ff ff ff       mov    -0x88(%ebp),%eax
6534 40006091:       89 c2                   mov    %eax,%edx
6535 40006093:       d1 ea                   shr    %edx
6536 40006095:       b8 19 00 00 00          mov    $0x19,%eax
6537 4000609a:       29 d0                   sub    %edx,%eax
6538 4000609c:       89 85 5c ff ff ff       mov    %eax,-0xa4(%ebp)
6539 400060a2:       eb 0a                   jmp    400060ae <tmalloc_large+0xd7>
6540 400060a4:       c7 85 5c ff ff ff 00    movl   $0x0,-0xa4(%ebp)
6541 400060ab:       00 00 00 
6542 400060ae:       8b 45 0c                mov    0xc(%ebp),%eax
6543 400060b1:       0f b6 8d 5c ff ff ff    movzbl -0xa4(%ebp),%ecx
6544 400060b8:       d3 e0                   shl    %cl,%eax
6545 400060ba:       89 45 84                mov    %eax,-0x7c(%ebp)
6546 400060bd:       c7 45 88 00 00 00 00    movl   $0x0,-0x78(%ebp)
6547 400060c4:       8b 85 74 ff ff ff       mov    -0x8c(%ebp),%eax
6548 400060ca:       8b 40 04                mov    0x4(%eax),%eax
6549 400060cd:       83 e0 fc                and    $0xfffffffc,%eax
6550 400060d0:       2b 45 0c                sub    0xc(%ebp),%eax
6551 400060d3:       89 45 90                mov    %eax,-0x70(%ebp)
6552 400060d6:       8b 45 90                mov    -0x70(%ebp),%eax
6553 400060d9:       3b 85 70 ff ff ff       cmp    -0x90(%ebp),%eax
6554 400060df:       73 1e                   jae    400060ff <tmalloc_large+0x128>
6555 400060e1:       8b 85 74 ff ff ff       mov    -0x8c(%ebp),%eax
6556 400060e7:       89 85 6c ff ff ff       mov    %eax,-0x94(%ebp)
6557 400060ed:       8b 45 90                mov    -0x70(%ebp),%eax
6558 400060f0:       89 85 70 ff ff ff       mov    %eax,-0x90(%ebp)
6559 400060f6:       83 bd 70 ff ff ff 00    cmpl   $0x0,-0x90(%ebp)
6560 400060fd:       74 57                   je     40006156 <tmalloc_large+0x17f>
6561 400060ff:       8b 85 74 ff ff ff       mov    -0x8c(%ebp),%eax
6562 40006105:       8b 40 14                mov    0x14(%eax),%eax
6563 40006108:       89 45 8c                mov    %eax,-0x74(%ebp)
6564 4000610b:       8b 45 84                mov    -0x7c(%ebp),%eax
6565 4000610e:       c1 e8 1f                shr    $0x1f,%eax
6566 40006111:       8b 95 74 ff ff ff       mov    -0x8c(%ebp),%edx
6567 40006117:       83 c0 04                add    $0x4,%eax
6568 4000611a:       8b 04 82                mov    (%edx,%eax,4),%eax
6569 4000611d:       89 85 74 ff ff ff       mov    %eax,-0x8c(%ebp)
6570 40006123:       83 7d 8c 00             cmpl   $0x0,-0x74(%ebp)
6571 40006127:       74 11                   je     4000613a <tmalloc_large+0x163>
6572 40006129:       8b 45 8c                mov    -0x74(%ebp),%eax
6573 4000612c:       3b 85 74 ff ff ff       cmp    -0x8c(%ebp),%eax
6574 40006132:       74 06                   je     4000613a <tmalloc_large+0x163>
6575 40006134:       8b 45 8c                mov    -0x74(%ebp),%eax
6576 40006137:       89 45 88                mov    %eax,-0x78(%ebp)
6577 4000613a:       83 bd 74 ff ff ff 00    cmpl   $0x0,-0x8c(%ebp)
6578 40006141:       75 0b                   jne    4000614e <tmalloc_large+0x177>
6579 40006143:       8b 45 88                mov    -0x78(%ebp),%eax
6580 40006146:       89 85 74 ff ff ff       mov    %eax,-0x8c(%ebp)
6581 4000614c:       eb 08                   jmp    40006156 <tmalloc_large+0x17f>
6582 4000614e:       d1 65 84                shll   -0x7c(%ebp)
6583 40006151:       e9 6e ff ff ff          jmp    400060c4 <tmalloc_large+0xed>
6584 40006156:       83 bd 74 ff ff ff 00    cmpl   $0x0,-0x8c(%ebp)
6585 4000615d:       0f 85 e4 00 00 00       jne    40006247 <tmalloc_large+0x270>
6586 40006163:       83 bd 6c ff ff ff 00    cmpl   $0x0,-0x94(%ebp)
6587 4000616a:       0f 85 d7 00 00 00       jne    40006247 <tmalloc_large+0x270>
6588 40006170:       8b 8d 78 ff ff ff       mov    -0x88(%ebp),%ecx
6589 40006176:       b8 01 00 00 00          mov    $0x1,%eax
6590 4000617b:       d3 e0                   shl    %cl,%eax
6591 4000617d:       8d 14 00                lea    (%eax,%eax,1),%edx
6592 40006180:       8b 8d 78 ff ff ff       mov    -0x88(%ebp),%ecx
6593 40006186:       b8 01 00 00 00          mov    $0x1,%eax
6594 4000618b:       d3 e0                   shl    %cl,%eax
6595 4000618d:       01 c0                   add    %eax,%eax
6596 4000618f:       f7 d8                   neg    %eax
6597 40006191:       09 c2                   or     %eax,%edx
6598 40006193:       8b 45 08                mov    0x8(%ebp),%eax
6599 40006196:       8b 40 04                mov    0x4(%eax),%eax
6600 40006199:       21 d0                   and    %edx,%eax
6601 4000619b:       89 45 94                mov    %eax,-0x6c(%ebp)
6602 4000619e:       83 7d 94 00             cmpl   $0x0,-0x6c(%ebp)
6603 400061a2:       0f 84 9f 00 00 00       je     40006247 <tmalloc_large+0x270>
6604 400061a8:       8b 45 94                mov    -0x6c(%ebp),%eax
6605 400061ab:       f7 d8                   neg    %eax
6606 400061ad:       23 45 94                and    -0x6c(%ebp),%eax
6607 400061b0:       89 45 9c                mov    %eax,-0x64(%ebp)
6608 400061b3:       0f bc 45 9c             bsf    -0x64(%ebp),%eax
6609 400061b7:       89 45 a0                mov    %eax,-0x60(%ebp)
6610 400061ba:       8b 45 a0                mov    -0x60(%ebp),%eax
6611 400061bd:       89 45 98                mov    %eax,-0x68(%ebp)
6612 400061c0:       8b 45 08                mov    0x8(%ebp),%eax
6613 400061c3:       8d 90 2c 01 00 00       lea    0x12c(%eax),%edx
6614 400061c9:       8b 45 98                mov    -0x68(%ebp),%eax
6615 400061cc:       c1 e0 02                shl    $0x2,%eax
6616 400061cf:       8d 04 02                lea    (%edx,%eax,1),%eax
6617 400061d2:       8b 00                   mov    (%eax),%eax
6618 400061d4:       89 85 74 ff ff ff       mov    %eax,-0x8c(%ebp)
6619 400061da:       eb 6b                   jmp    40006247 <tmalloc_large+0x270>
6620 400061dc:       8b 85 74 ff ff ff       mov    -0x8c(%ebp),%eax
6621 400061e2:       8b 40 04                mov    0x4(%eax),%eax
6622 400061e5:       83 e0 fc                and    $0xfffffffc,%eax
6623 400061e8:       2b 45 0c                sub    0xc(%ebp),%eax
6624 400061eb:       89 45 a4                mov    %eax,-0x5c(%ebp)
6625 400061ee:       8b 45 a4                mov    -0x5c(%ebp),%eax
6626 400061f1:       3b 85 70 ff ff ff       cmp    -0x90(%ebp),%eax
6627 400061f7:       73 15                   jae    4000620e <tmalloc_large+0x237>
6628 400061f9:       8b 45 a4                mov    -0x5c(%ebp),%eax
6629 400061fc:       89 85 70 ff ff ff       mov    %eax,-0x90(%ebp)
6630 40006202:       8b 85 74 ff ff ff       mov    -0x8c(%ebp),%eax
6631 40006208:       89 85 6c ff ff ff       mov    %eax,-0x94(%ebp)
6632 4000620e:       8b 85 74 ff ff ff       mov    -0x8c(%ebp),%eax
6633 40006214:       8b 40 10                mov    0x10(%eax),%eax
6634 40006217:       85 c0                   test   %eax,%eax
6635 40006219:       74 11                   je     4000622c <tmalloc_large+0x255>
6636 4000621b:       8b 85 74 ff ff ff       mov    -0x8c(%ebp),%eax
6637 40006221:       8b 40 10                mov    0x10(%eax),%eax
6638 40006224:       89 85 60 ff ff ff       mov    %eax,-0xa0(%ebp)
6639 4000622a:       eb 0f                   jmp    4000623b <tmalloc_large+0x264>
6640 4000622c:       8b 85 74 ff ff ff       mov    -0x8c(%ebp),%eax
6641 40006232:       8b 40 14                mov    0x14(%eax),%eax
6642 40006235:       89 85 60 ff ff ff       mov    %eax,-0xa0(%ebp)
6643 4000623b:       8b 85 60 ff ff ff       mov    -0xa0(%ebp),%eax
6644 40006241:       89 85 74 ff ff ff       mov    %eax,-0x8c(%ebp)
6645 40006247:       83 bd 74 ff ff ff 00    cmpl   $0x0,-0x8c(%ebp)
6646 4000624e:       75 8c                   jne    400061dc <tmalloc_large+0x205>
6647 40006250:       83 bd 6c ff ff ff 00    cmpl   $0x0,-0x94(%ebp)
6648 40006257:       0f 84 13 06 00 00       je     40006870 <tmalloc_large+0x899>
6649 4000625d:       8b 45 08                mov    0x8(%ebp),%eax
6650 40006260:       8b 40 08                mov    0x8(%eax),%eax
6651 40006263:       2b 45 0c                sub    0xc(%ebp),%eax
6652 40006266:       3b 85 70 ff ff ff       cmp    -0x90(%ebp),%eax
6653 4000626c:       0f 86 fe 05 00 00       jbe    40006870 <tmalloc_large+0x899>
6654 40006272:       8b 45 08                mov    0x8(%ebp),%eax
6655 40006275:       8b 50 10                mov    0x10(%eax),%edx
6656 40006278:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
6657 4000627e:       39 c2                   cmp    %eax,%edx
6658 40006280:       0f 96 c0                setbe  %al
6659 40006283:       0f b6 c0                movzbl %al,%eax
6660 40006286:       85 c0                   test   %eax,%eax
6661 40006288:       0f 84 dd 05 00 00       je     4000686b <tmalloc_large+0x894>
6662 4000628e:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
6663 40006294:       03 45 0c                add    0xc(%ebp),%eax
6664 40006297:       89 45 a8                mov    %eax,-0x58(%ebp)
6665 4000629a:       8b 95 6c ff ff ff       mov    -0x94(%ebp),%edx
6666 400062a0:       8b 45 a8                mov    -0x58(%ebp),%eax
6667 400062a3:       39 c2                   cmp    %eax,%edx
6668 400062a5:       0f 92 c0                setb   %al
6669 400062a8:       0f b6 c0                movzbl %al,%eax
6670 400062ab:       85 c0                   test   %eax,%eax
6671 400062ad:       0f 84 b8 05 00 00       je     4000686b <tmalloc_large+0x894>
6672 400062b3:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
6673 400062b9:       8b 40 18                mov    0x18(%eax),%eax
6674 400062bc:       89 45 ac                mov    %eax,-0x54(%ebp)
6675 400062bf:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
6676 400062c5:       8b 40 0c                mov    0xc(%eax),%eax
6677 400062c8:       3b 85 6c ff ff ff       cmp    -0x94(%ebp),%eax
6678 400062ce:       74 4e                   je     4000631e <tmalloc_large+0x347>
6679 400062d0:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
6680 400062d6:       8b 40 08                mov    0x8(%eax),%eax
6681 400062d9:       89 45 b4                mov    %eax,-0x4c(%ebp)
6682 400062dc:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
6683 400062e2:       8b 40 0c                mov    0xc(%eax),%eax
6684 400062e5:       89 45 b0                mov    %eax,-0x50(%ebp)
6685 400062e8:       8b 45 08                mov    0x8(%ebp),%eax
6686 400062eb:       8b 50 10                mov    0x10(%eax),%edx
6687 400062ee:       8b 45 b4                mov    -0x4c(%ebp),%eax
6688 400062f1:       39 c2                   cmp    %eax,%edx
6689 400062f3:       0f 96 c0                setbe  %al
6690 400062f6:       0f b6 c0                movzbl %al,%eax
6691 400062f9:       85 c0                   test   %eax,%eax
6692 400062fb:       74 17                   je     40006314 <tmalloc_large+0x33d>
6693 400062fd:       8b 55 b4                mov    -0x4c(%ebp),%edx
6694 40006300:       8b 45 b0                mov    -0x50(%ebp),%eax
6695 40006303:       89 42 0c                mov    %eax,0xc(%edx)
6696 40006306:       8b 55 b0                mov    -0x50(%ebp),%edx
6697 40006309:       8b 45 b4                mov    -0x4c(%ebp),%eax
6698 4000630c:       89 42 08                mov    %eax,0x8(%edx)
6699 4000630f:       e9 97 00 00 00          jmp    400063ab <tmalloc_large+0x3d4>
6700 40006314:       e8 b7 67 00 00          call   4000cad0 <abort>
6701 40006319:       e9 8d 00 00 00          jmp    400063ab <tmalloc_large+0x3d4>
6702 4000631e:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
6703 40006324:       83 c0 14                add    $0x14,%eax
6704 40006327:       89 45 b8                mov    %eax,-0x48(%ebp)
6705 4000632a:       8b 45 b8                mov    -0x48(%ebp),%eax
6706 4000632d:       8b 00                   mov    (%eax),%eax
6707 4000632f:       89 45 b0                mov    %eax,-0x50(%ebp)
6708 40006332:       83 7d b0 00             cmpl   $0x0,-0x50(%ebp)
6709 40006336:       75 2a                   jne    40006362 <tmalloc_large+0x38b>
6710 40006338:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
6711 4000633e:       83 c0 10                add    $0x10,%eax
6712 40006341:       89 45 b8                mov    %eax,-0x48(%ebp)
6713 40006344:       8b 45 b8                mov    -0x48(%ebp),%eax
6714 40006347:       8b 00                   mov    (%eax),%eax
6715 40006349:       89 45 b0                mov    %eax,-0x50(%ebp)
6716 4000634c:       83 7d b0 00             cmpl   $0x0,-0x50(%ebp)
6717 40006350:       74 59                   je     400063ab <tmalloc_large+0x3d4>
6718 40006352:       eb 0e                   jmp    40006362 <tmalloc_large+0x38b>
6719 40006354:       8b 45 bc                mov    -0x44(%ebp),%eax
6720 40006357:       89 45 b8                mov    %eax,-0x48(%ebp)
6721 4000635a:       8b 45 b8                mov    -0x48(%ebp),%eax
6722 4000635d:       8b 00                   mov    (%eax),%eax
6723 4000635f:       89 45 b0                mov    %eax,-0x50(%ebp)
6724 40006362:       8b 45 b0                mov    -0x50(%ebp),%eax
6725 40006365:       83 c0 14                add    $0x14,%eax
6726 40006368:       89 45 bc                mov    %eax,-0x44(%ebp)
6727 4000636b:       8b 45 bc                mov    -0x44(%ebp),%eax
6728 4000636e:       8b 00                   mov    (%eax),%eax
6729 40006370:       85 c0                   test   %eax,%eax
6730 40006372:       75 e0                   jne    40006354 <tmalloc_large+0x37d>
6731 40006374:       8b 45 b0                mov    -0x50(%ebp),%eax
6732 40006377:       83 c0 10                add    $0x10,%eax
6733 4000637a:       89 45 bc                mov    %eax,-0x44(%ebp)
6734 4000637d:       8b 45 bc                mov    -0x44(%ebp),%eax
6735 40006380:       8b 00                   mov    (%eax),%eax
6736 40006382:       85 c0                   test   %eax,%eax
6737 40006384:       75 ce                   jne    40006354 <tmalloc_large+0x37d>
6738 40006386:       8b 45 08                mov    0x8(%ebp),%eax
6739 40006389:       8b 50 10                mov    0x10(%eax),%edx
6740 4000638c:       8b 45 b8                mov    -0x48(%ebp),%eax
6741 4000638f:       39 c2                   cmp    %eax,%edx
6742 40006391:       0f 96 c0                setbe  %al
6743 40006394:       0f b6 c0                movzbl %al,%eax
6744 40006397:       85 c0                   test   %eax,%eax
6745 40006399:       74 0b                   je     400063a6 <tmalloc_large+0x3cf>
6746 4000639b:       8b 45 b8                mov    -0x48(%ebp),%eax
6747 4000639e:       c7 00 00 00 00 00       movl   $0x0,(%eax)
6748 400063a4:       eb 05                   jmp    400063ab <tmalloc_large+0x3d4>
6749 400063a6:       e8 25 67 00 00          call   4000cad0 <abort>
6750 400063ab:       83 7d ac 00             cmpl   $0x0,-0x54(%ebp)
6751 400063af:       0f 84 4e 01 00 00       je     40006503 <tmalloc_large+0x52c>
6752 400063b5:       8b 45 08                mov    0x8(%ebp),%eax
6753 400063b8:       8d 90 2c 01 00 00       lea    0x12c(%eax),%edx
6754 400063be:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
6755 400063c4:       8b 40 1c                mov    0x1c(%eax),%eax
6756 400063c7:       c1 e0 02                shl    $0x2,%eax
6757 400063ca:       8d 04 02                lea    (%edx,%eax,1),%eax
6758 400063cd:       89 45 c0                mov    %eax,-0x40(%ebp)
6759 400063d0:       8b 45 c0                mov    -0x40(%ebp),%eax
6760 400063d3:       8b 00                   mov    (%eax),%eax
6761 400063d5:       3b 85 6c ff ff ff       cmp    -0x94(%ebp),%eax
6762 400063db:       75 35                   jne    40006412 <tmalloc_large+0x43b>
6763 400063dd:       8b 55 c0                mov    -0x40(%ebp),%edx
6764 400063e0:       8b 45 b0                mov    -0x50(%ebp),%eax
6765 400063e3:       89 02                   mov    %eax,(%edx)
6766 400063e5:       8b 45 c0                mov    -0x40(%ebp),%eax
6767 400063e8:       8b 00                   mov    (%eax),%eax
6768 400063ea:       85 c0                   test   %eax,%eax
6769 400063ec:       75 62                   jne    40006450 <tmalloc_large+0x479>
6770 400063ee:       8b 45 08                mov    0x8(%ebp),%eax
6771 400063f1:       8b 50 04                mov    0x4(%eax),%edx
6772 400063f4:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
6773 400063fa:       8b 40 1c                mov    0x1c(%eax),%eax
6774 400063fd:       89 c1                   mov    %eax,%ecx
6775 400063ff:       b8 01 00 00 00          mov    $0x1,%eax
6776 40006404:       d3 e0                   shl    %cl,%eax
6777 40006406:       f7 d0                   not    %eax
6778 40006408:       21 c2                   and    %eax,%edx
6779 4000640a:       8b 45 08                mov    0x8(%ebp),%eax
6780 4000640d:       89 50 04                mov    %edx,0x4(%eax)
6781 40006410:       eb 3e                   jmp    40006450 <tmalloc_large+0x479>
6782 40006412:       8b 45 08                mov    0x8(%ebp),%eax
6783 40006415:       8b 50 10                mov    0x10(%eax),%edx
6784 40006418:       8b 45 ac                mov    -0x54(%ebp),%eax
6785 4000641b:       39 c2                   cmp    %eax,%edx
6786 4000641d:       0f 96 c0                setbe  %al
6787 40006420:       0f b6 c0                movzbl %al,%eax
6788 40006423:       85 c0                   test   %eax,%eax
6789 40006425:       74 24                   je     4000644b <tmalloc_large+0x474>
6790 40006427:       8b 45 ac                mov    -0x54(%ebp),%eax
6791 4000642a:       8b 40 10                mov    0x10(%eax),%eax
6792 4000642d:       3b 85 6c ff ff ff       cmp    -0x94(%ebp),%eax
6793 40006433:       75 0b                   jne    40006440 <tmalloc_large+0x469>
6794 40006435:       8b 55 ac                mov    -0x54(%ebp),%edx
6795 40006438:       8b 45 b0                mov    -0x50(%ebp),%eax
6796 4000643b:       89 42 10                mov    %eax,0x10(%edx)
6797 4000643e:       eb 10                   jmp    40006450 <tmalloc_large+0x479>
6798 40006440:       8b 55 ac                mov    -0x54(%ebp),%edx
6799 40006443:       8b 45 b0                mov    -0x50(%ebp),%eax
6800 40006446:       89 42 14                mov    %eax,0x14(%edx)
6801 40006449:       eb 05                   jmp    40006450 <tmalloc_large+0x479>
6802 4000644b:       e8 80 66 00 00          call   4000cad0 <abort>
6803 40006450:       83 7d b0 00             cmpl   $0x0,-0x50(%ebp)
6804 40006454:       0f 84 a9 00 00 00       je     40006503 <tmalloc_large+0x52c>
6805 4000645a:       8b 45 08                mov    0x8(%ebp),%eax
6806 4000645d:       8b 50 10                mov    0x10(%eax),%edx
6807 40006460:       8b 45 b0                mov    -0x50(%ebp),%eax
6808 40006463:       39 c2                   cmp    %eax,%edx
6809 40006465:       0f 96 c0                setbe  %al
6810 40006468:       0f b6 c0                movzbl %al,%eax
6811 4000646b:       85 c0                   test   %eax,%eax
6812 4000646d:       0f 84 8b 00 00 00       je     400064fe <tmalloc_large+0x527>
6813 40006473:       8b 55 b0                mov    -0x50(%ebp),%edx
6814 40006476:       8b 45 ac                mov    -0x54(%ebp),%eax
6815 40006479:       89 42 18                mov    %eax,0x18(%edx)
6816 4000647c:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
6817 40006482:       8b 40 10                mov    0x10(%eax),%eax
6818 40006485:       89 45 c4                mov    %eax,-0x3c(%ebp)
6819 40006488:       83 7d c4 00             cmpl   $0x0,-0x3c(%ebp)
6820 4000648c:       74 2e                   je     400064bc <tmalloc_large+0x4e5>
6821 4000648e:       8b 45 08                mov    0x8(%ebp),%eax
6822 40006491:       8b 50 10                mov    0x10(%eax),%edx
6823 40006494:       8b 45 c4                mov    -0x3c(%ebp),%eax
6824 40006497:       39 c2                   cmp    %eax,%edx
6825 40006499:       0f 96 c0                setbe  %al
6826 4000649c:       0f b6 c0                movzbl %al,%eax
6827 4000649f:       85 c0                   test   %eax,%eax
6828 400064a1:       74 14                   je     400064b7 <tmalloc_large+0x4e0>
6829 400064a3:       8b 55 b0                mov    -0x50(%ebp),%edx
6830 400064a6:       8b 45 c4                mov    -0x3c(%ebp),%eax
6831 400064a9:       89 42 10                mov    %eax,0x10(%edx)
6832 400064ac:       8b 55 c4                mov    -0x3c(%ebp),%edx
6833 400064af:       8b 45 b0                mov    -0x50(%ebp),%eax
6834 400064b2:       89 42 18                mov    %eax,0x18(%edx)
6835 400064b5:       eb 05                   jmp    400064bc <tmalloc_large+0x4e5>
6836 400064b7:       e8 14 66 00 00          call   4000cad0 <abort>
6837 400064bc:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
6838 400064c2:       8b 40 14                mov    0x14(%eax),%eax
6839 400064c5:       89 45 c8                mov    %eax,-0x38(%ebp)
6840 400064c8:       83 7d c8 00             cmpl   $0x0,-0x38(%ebp)
6841 400064cc:       74 35                   je     40006503 <tmalloc_large+0x52c>
6842 400064ce:       8b 45 08                mov    0x8(%ebp),%eax
6843 400064d1:       8b 50 10                mov    0x10(%eax),%edx
6844 400064d4:       8b 45 c8                mov    -0x38(%ebp),%eax
6845 400064d7:       39 c2                   cmp    %eax,%edx
6846 400064d9:       0f 96 c0                setbe  %al
6847 400064dc:       0f b6 c0                movzbl %al,%eax
6848 400064df:       85 c0                   test   %eax,%eax
6849 400064e1:       74 14                   je     400064f7 <tmalloc_large+0x520>
6850 400064e3:       8b 55 b0                mov    -0x50(%ebp),%edx
6851 400064e6:       8b 45 c8                mov    -0x38(%ebp),%eax
6852 400064e9:       89 42 14                mov    %eax,0x14(%edx)
6853 400064ec:       8b 55 c8                mov    -0x38(%ebp),%edx
6854 400064ef:       8b 45 b0                mov    -0x50(%ebp),%eax
6855 400064f2:       89 42 18                mov    %eax,0x18(%edx)
6856 400064f5:       eb 0c                   jmp    40006503 <tmalloc_large+0x52c>
6857 400064f7:       e8 d4 65 00 00          call   4000cad0 <abort>
6858 400064fc:       eb 05                   jmp    40006503 <tmalloc_large+0x52c>
6859 400064fe:       e8 cd 65 00 00          call   4000cad0 <abort>
6860 40006503:       83 bd 70 ff ff ff 0f    cmpl   $0xf,-0x90(%ebp)
6861 4000650a:       77 4f                   ja     4000655b <tmalloc_large+0x584>
6862 4000650c:       8b 55 0c                mov    0xc(%ebp),%edx
6863 4000650f:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
6864 40006515:       01 d0                   add    %edx,%eax
6865 40006517:       89 c2                   mov    %eax,%edx
6866 40006519:       83 ca 03                or     $0x3,%edx
6867 4000651c:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
6868 40006522:       89 50 04                mov    %edx,0x4(%eax)
6869 40006525:       8b 8d 6c ff ff ff       mov    -0x94(%ebp),%ecx
6870 4000652b:       8b 55 0c                mov    0xc(%ebp),%edx
6871 4000652e:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
6872 40006534:       01 d0                   add    %edx,%eax
6873 40006536:       8d 1c 01                lea    (%ecx,%eax,1),%ebx
6874 40006539:       8b 8d 6c ff ff ff       mov    -0x94(%ebp),%ecx
6875 4000653f:       8b 55 0c                mov    0xc(%ebp),%edx
6876 40006542:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
6877 40006548:       01 d0                   add    %edx,%eax
6878 4000654a:       8d 04 01                lea    (%ecx,%eax,1),%eax
6879 4000654d:       8b 40 04                mov    0x4(%eax),%eax
6880 40006550:       83 c8 01                or     $0x1,%eax
6881 40006553:       89 43 04                mov    %eax,0x4(%ebx)
6882 40006556:       e9 ff 02 00 00          jmp    4000685a <tmalloc_large+0x883>
6883 4000655b:       8b 45 0c                mov    0xc(%ebp),%eax
6884 4000655e:       89 c2                   mov    %eax,%edx
6885 40006560:       83 ca 03                or     $0x3,%edx
6886 40006563:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
6887 40006569:       89 50 04                mov    %edx,0x4(%eax)
6888 4000656c:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
6889 40006572:       89 c2                   mov    %eax,%edx
6890 40006574:       83 ca 01                or     $0x1,%edx
6891 40006577:       8b 45 a8                mov    -0x58(%ebp),%eax
6892 4000657a:       89 50 04                mov    %edx,0x4(%eax)
6893 4000657d:       8b 95 70 ff ff ff       mov    -0x90(%ebp),%edx
6894 40006583:       8b 45 a8                mov    -0x58(%ebp),%eax
6895 40006586:       8d 14 10                lea    (%eax,%edx,1),%edx
6896 40006589:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
6897 4000658f:       89 02                   mov    %eax,(%edx)
6898 40006591:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
6899 40006597:       c1 e8 03                shr    $0x3,%eax
6900 4000659a:       83 f8 1f                cmp    $0x1f,%eax
6901 4000659d:       0f 87 a6 00 00 00       ja     40006649 <tmalloc_large+0x672>
6902 400065a3:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
6903 400065a9:       c1 e8 03                shr    $0x3,%eax
6904 400065ac:       89 45 cc                mov    %eax,-0x34(%ebp)
6905 400065af:       8b 45 08                mov    0x8(%ebp),%eax
6906 400065b2:       83 c0 24                add    $0x24,%eax
6907 400065b5:       89 c2                   mov    %eax,%edx
6908 400065b7:       8b 45 cc                mov    -0x34(%ebp),%eax
6909 400065ba:       c1 e0 03                shl    $0x3,%eax
6910 400065bd:       8d 04 02                lea    (%edx,%eax,1),%eax
6911 400065c0:       89 45 d0                mov    %eax,-0x30(%ebp)
6912 400065c3:       8b 45 d0                mov    -0x30(%ebp),%eax
6913 400065c6:       89 45 d4                mov    %eax,-0x2c(%ebp)
6914 400065c9:       8b 45 08                mov    0x8(%ebp),%eax
6915 400065cc:       8b 10                   mov    (%eax),%edx
6916 400065ce:       8b 4d cc                mov    -0x34(%ebp),%ecx
6917 400065d1:       b8 01 00 00 00          mov    $0x1,%eax
6918 400065d6:       d3 e0                   shl    %cl,%eax
6919 400065d8:       21 d0                   and    %edx,%eax
6920 400065da:       85 c0                   test   %eax,%eax
6921 400065dc:       75 18                   jne    400065f6 <tmalloc_large+0x61f>
6922 400065de:       8b 45 08                mov    0x8(%ebp),%eax
6923 400065e1:       8b 10                   mov    (%eax),%edx
6924 400065e3:       8b 4d cc                mov    -0x34(%ebp),%ecx
6925 400065e6:       b8 01 00 00 00          mov    $0x1,%eax
6926 400065eb:       d3 e0                   shl    %cl,%eax
6927 400065ed:       09 c2                   or     %eax,%edx
6928 400065ef:       8b 45 08                mov    0x8(%ebp),%eax
6929 400065f2:       89 10                   mov    %edx,(%eax)
6930 400065f4:       eb 2a                   jmp    40006620 <tmalloc_large+0x649>
6931 400065f6:       8b 45 d0                mov    -0x30(%ebp),%eax
6932 400065f9:       8b 40 08                mov    0x8(%eax),%eax
6933 400065fc:       89 c2                   mov    %eax,%edx
6934 400065fe:       8b 45 08                mov    0x8(%ebp),%eax
6935 40006601:       8b 40 10                mov    0x10(%eax),%eax
6936 40006604:       39 c2                   cmp    %eax,%edx
6937 40006606:       0f 93 c0                setae  %al
6938 40006609:       0f b6 c0                movzbl %al,%eax
6939 4000660c:       85 c0                   test   %eax,%eax
6940 4000660e:       74 0b                   je     4000661b <tmalloc_large+0x644>
6941 40006610:       8b 45 d0                mov    -0x30(%ebp),%eax
6942 40006613:       8b 40 08                mov    0x8(%eax),%eax
6943 40006616:       89 45 d4                mov    %eax,-0x2c(%ebp)
6944 40006619:       eb 05                   jmp    40006620 <tmalloc_large+0x649>
6945 4000661b:       e8 b0 64 00 00          call   4000cad0 <abort>
6946 40006620:       8b 55 d0                mov    -0x30(%ebp),%edx
6947 40006623:       8b 45 a8                mov    -0x58(%ebp),%eax
6948 40006626:       89 42 08                mov    %eax,0x8(%edx)
6949 40006629:       8b 55 d4                mov    -0x2c(%ebp),%edx
6950 4000662c:       8b 45 a8                mov    -0x58(%ebp),%eax
6951 4000662f:       89 42 0c                mov    %eax,0xc(%edx)
6952 40006632:       8b 55 a8                mov    -0x58(%ebp),%edx
6953 40006635:       8b 45 d4                mov    -0x2c(%ebp),%eax
6954 40006638:       89 42 08                mov    %eax,0x8(%edx)
6955 4000663b:       8b 55 a8                mov    -0x58(%ebp),%edx
6956 4000663e:       8b 45 d0                mov    -0x30(%ebp),%eax
6957 40006641:       89 42 0c                mov    %eax,0xc(%edx)
6958 40006644:       e9 11 02 00 00          jmp    4000685a <tmalloc_large+0x883>
6959 40006649:       8b 45 a8                mov    -0x58(%ebp),%eax
6960 4000664c:       89 45 d8                mov    %eax,-0x28(%ebp)
6961 4000664f:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
6962 40006655:       c1 e8 08                shr    $0x8,%eax
6963 40006658:       89 45 e4                mov    %eax,-0x1c(%ebp)
6964 4000665b:       83 7d e4 00             cmpl   $0x0,-0x1c(%ebp)
6965 4000665f:       75 09                   jne    4000666a <tmalloc_large+0x693>
6966 40006661:       c7 45 e0 00 00 00 00    movl   $0x0,-0x20(%ebp)
6967 40006668:       eb 38                   jmp    400066a2 <tmalloc_large+0x6cb>
6968 4000666a:       81 7d e4 ff ff 00 00    cmpl   $0xffff,-0x1c(%ebp)
6969 40006671:       76 09                   jbe    4000667c <tmalloc_large+0x6a5>
6970 40006673:       c7 45 e0 1f 00 00 00    movl   $0x1f,-0x20(%ebp)
6971 4000667a:       eb 26                   jmp    400066a2 <tmalloc_large+0x6cb>
6972 4000667c:       0f bd 45 e4             bsr    -0x1c(%ebp),%eax
6973 40006680:       89 45 e8                mov    %eax,-0x18(%ebp)
6974 40006683:       8b 45 e8                mov    -0x18(%ebp),%eax
6975 40006686:       8d 14 00                lea    (%eax,%eax,1),%edx
6976 40006689:       8b 45 e8                mov    -0x18(%ebp),%eax
6977 4000668c:       83 c0 07                add    $0x7,%eax
6978 4000668f:       89 c1                   mov    %eax,%ecx
6979 40006691:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
6980 40006697:       d3 e8                   shr    %cl,%eax
6981 40006699:       83 e0 01                and    $0x1,%eax
6982 4000669c:       8d 04 02                lea    (%edx,%eax,1),%eax
6983 4000669f:       89 45 e0                mov    %eax,-0x20(%ebp)
6984 400066a2:       8b 45 08                mov    0x8(%ebp),%eax
6985 400066a5:       8d 90 2c 01 00 00       lea    0x12c(%eax),%edx
6986 400066ab:       8b 45 e0                mov    -0x20(%ebp),%eax
6987 400066ae:       c1 e0 02                shl    $0x2,%eax
6988 400066b1:       8d 04 02                lea    (%edx,%eax,1),%eax
6989 400066b4:       89 45 dc                mov    %eax,-0x24(%ebp)
6990 400066b7:       8b 55 d8                mov    -0x28(%ebp),%edx
6991 400066ba:       8b 45 e0                mov    -0x20(%ebp),%eax
6992 400066bd:       89 42 1c                mov    %eax,0x1c(%edx)
6993 400066c0:       8b 45 d8                mov    -0x28(%ebp),%eax
6994 400066c3:       c7 40 14 00 00 00 00    movl   $0x0,0x14(%eax)
6995 400066ca:       8b 45 d8                mov    -0x28(%ebp),%eax
6996 400066cd:       8b 50 14                mov    0x14(%eax),%edx
6997 400066d0:       8b 45 d8                mov    -0x28(%ebp),%eax
6998 400066d3:       89 50 10                mov    %edx,0x10(%eax)
6999 400066d6:       8b 45 08                mov    0x8(%ebp),%eax
7000 400066d9:       8b 50 04                mov    0x4(%eax),%edx
7001 400066dc:       8b 4d e0                mov    -0x20(%ebp),%ecx
7002 400066df:       b8 01 00 00 00          mov    $0x1,%eax
7003 400066e4:       d3 e0                   shl    %cl,%eax
7004 400066e6:       21 d0                   and    %edx,%eax
7005 400066e8:       85 c0                   test   %eax,%eax
7006 400066ea:       75 43                   jne    4000672f <tmalloc_large+0x758>
7007 400066ec:       8b 45 08                mov    0x8(%ebp),%eax
7008 400066ef:       8b 50 04                mov    0x4(%eax),%edx
7009 400066f2:       8b 4d e0                mov    -0x20(%ebp),%ecx
7010 400066f5:       b8 01 00 00 00          mov    $0x1,%eax
7011 400066fa:       d3 e0                   shl    %cl,%eax
7012 400066fc:       09 c2                   or     %eax,%edx
7013 400066fe:       8b 45 08                mov    0x8(%ebp),%eax
7014 40006701:       89 50 04                mov    %edx,0x4(%eax)
7015 40006704:       8b 55 dc                mov    -0x24(%ebp),%edx
7016 40006707:       8b 45 d8                mov    -0x28(%ebp),%eax
7017 4000670a:       89 02                   mov    %eax,(%edx)
7018 4000670c:       8b 55 dc                mov    -0x24(%ebp),%edx
7019 4000670f:       8b 45 d8                mov    -0x28(%ebp),%eax
7020 40006712:       89 50 18                mov    %edx,0x18(%eax)
7021 40006715:       8b 55 d8                mov    -0x28(%ebp),%edx
7022 40006718:       8b 45 d8                mov    -0x28(%ebp),%eax
7023 4000671b:       89 42 0c                mov    %eax,0xc(%edx)
7024 4000671e:       8b 45 d8                mov    -0x28(%ebp),%eax
7025 40006721:       8b 50 0c                mov    0xc(%eax),%edx
7026 40006724:       8b 45 d8                mov    -0x28(%ebp),%eax
7027 40006727:       89 50 08                mov    %edx,0x8(%eax)
7028 4000672a:       e9 2b 01 00 00          jmp    4000685a <tmalloc_large+0x883>
7029 4000672f:       8b 45 dc                mov    -0x24(%ebp),%eax
7030 40006732:       8b 00                   mov    (%eax),%eax
7031 40006734:       89 45 ec                mov    %eax,-0x14(%ebp)
7032 40006737:       83 7d e0 1f             cmpl   $0x1f,-0x20(%ebp)
7033 4000673b:       74 16                   je     40006753 <tmalloc_large+0x77c>
7034 4000673d:       8b 45 e0                mov    -0x20(%ebp),%eax
7035 40006740:       89 c2                   mov    %eax,%edx
7036 40006742:       d1 ea                   shr    %edx
7037 40006744:       b8 19 00 00 00          mov    $0x19,%eax
7038 40006749:       29 d0                   sub    %edx,%eax
7039 4000674b:       89 85 64 ff ff ff       mov    %eax,-0x9c(%ebp)
7040 40006751:       eb 0a                   jmp    4000675d <tmalloc_large+0x786>
7041 40006753:       c7 85 64 ff ff ff 00    movl   $0x0,-0x9c(%ebp)
7042 4000675a:       00 00 00 
7043 4000675d:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
7044 40006763:       0f b6 8d 64 ff ff ff    movzbl -0x9c(%ebp),%ecx
7045 4000676a:       d3 e0                   shl    %cl,%eax
7046 4000676c:       89 45 f0                mov    %eax,-0x10(%ebp)
7047 4000676f:       8b 45 ec                mov    -0x14(%ebp),%eax
7048 40006772:       8b 40 04                mov    0x4(%eax),%eax
7049 40006775:       83 e0 fc                and    $0xfffffffc,%eax
7050 40006778:       3b 85 70 ff ff ff       cmp    -0x90(%ebp),%eax
7051 4000677e:       74 6f                   je     400067ef <tmalloc_large+0x818>
7052 40006780:       8b 45 ec                mov    -0x14(%ebp),%eax
7053 40006783:       8d 50 10                lea    0x10(%eax),%edx
7054 40006786:       8b 45 f0                mov    -0x10(%ebp),%eax
7055 40006789:       c1 e8 1f                shr    $0x1f,%eax
7056 4000678c:       c1 e0 02                shl    $0x2,%eax
7057 4000678f:       8d 04 02                lea    (%edx,%eax,1),%eax
7058 40006792:       89 45 f4                mov    %eax,-0xc(%ebp)
7059 40006795:       d1 65 f0                shll   -0x10(%ebp)
7060 40006798:       8b 45 f4                mov    -0xc(%ebp),%eax
7061 4000679b:       8b 00                   mov    (%eax),%eax
7062 4000679d:       85 c0                   test   %eax,%eax
7063 4000679f:       74 0a                   je     400067ab <tmalloc_large+0x7d4>
7064 400067a1:       8b 45 f4                mov    -0xc(%ebp),%eax
7065 400067a4:       8b 00                   mov    (%eax),%eax
7066 400067a6:       89 45 ec                mov    %eax,-0x14(%ebp)
7067 400067a9:       eb c4                   jmp    4000676f <tmalloc_large+0x798>
7068 400067ab:       8b 45 08                mov    0x8(%ebp),%eax
7069 400067ae:       8b 50 10                mov    0x10(%eax),%edx
7070 400067b1:       8b 45 f4                mov    -0xc(%ebp),%eax
7071 400067b4:       39 c2                   cmp    %eax,%edx
7072 400067b6:       0f 96 c0                setbe  %al
7073 400067b9:       0f b6 c0                movzbl %al,%eax
7074 400067bc:       85 c0                   test   %eax,%eax
7075 400067be:       74 28                   je     400067e8 <tmalloc_large+0x811>
7076 400067c0:       8b 55 f4                mov    -0xc(%ebp),%edx
7077 400067c3:       8b 45 d8                mov    -0x28(%ebp),%eax
7078 400067c6:       89 02                   mov    %eax,(%edx)
7079 400067c8:       8b 55 d8                mov    -0x28(%ebp),%edx
7080 400067cb:       8b 45 ec                mov    -0x14(%ebp),%eax
7081 400067ce:       89 42 18                mov    %eax,0x18(%edx)
7082 400067d1:       8b 55 d8                mov    -0x28(%ebp),%edx
7083 400067d4:       8b 45 d8                mov    -0x28(%ebp),%eax
7084 400067d7:       89 42 0c                mov    %eax,0xc(%edx)
7085 400067da:       8b 45 d8                mov    -0x28(%ebp),%eax
7086 400067dd:       8b 50 0c                mov    0xc(%eax),%edx
7087 400067e0:       8b 45 d8                mov    -0x28(%ebp),%eax
7088 400067e3:       89 50 08                mov    %edx,0x8(%eax)
7089 400067e6:       eb 72                   jmp    4000685a <tmalloc_large+0x883>
7090 400067e8:       e8 e3 62 00 00          call   4000cad0 <abort>
7091 400067ed:       eb 6b                   jmp    4000685a <tmalloc_large+0x883>
7092 400067ef:       8b 45 ec                mov    -0x14(%ebp),%eax
7093 400067f2:       8b 40 08                mov    0x8(%eax),%eax
7094 400067f5:       89 45 f8                mov    %eax,-0x8(%ebp)
7095 400067f8:       8b 45 08                mov    0x8(%ebp),%eax
7096 400067fb:       8b 50 10                mov    0x10(%eax),%edx
7097 400067fe:       8b 45 ec                mov    -0x14(%ebp),%eax
7098 40006801:       39 c2                   cmp    %eax,%edx
7099 40006803:       0f 96 c0                setbe  %al
7100 40006806:       0f b6 c0                movzbl %al,%eax
7101 40006809:       85 c0                   test   %eax,%eax
7102 4000680b:       74 48                   je     40006855 <tmalloc_large+0x87e>
7103 4000680d:       8b 45 08                mov    0x8(%ebp),%eax
7104 40006810:       8b 50 10                mov    0x10(%eax),%edx
7105 40006813:       8b 45 f8                mov    -0x8(%ebp),%eax
7106 40006816:       39 c2                   cmp    %eax,%edx
7107 40006818:       0f 96 c0                setbe  %al
7108 4000681b:       0f b6 c0                movzbl %al,%eax
7109 4000681e:       85 c0                   test   %eax,%eax
7110 40006820:       74 33                   je     40006855 <tmalloc_large+0x87e>
7111 40006822:       8b 55 f8                mov    -0x8(%ebp),%edx
7112 40006825:       8b 45 d8                mov    -0x28(%ebp),%eax
7113 40006828:       89 42 0c                mov    %eax,0xc(%edx)
7114 4000682b:       8b 45 f8                mov    -0x8(%ebp),%eax
7115 4000682e:       8b 50 0c                mov    0xc(%eax),%edx
7116 40006831:       8b 45 ec                mov    -0x14(%ebp),%eax
7117 40006834:       89 50 08                mov    %edx,0x8(%eax)
7118 40006837:       8b 55 d8                mov    -0x28(%ebp),%edx
7119 4000683a:       8b 45 f8                mov    -0x8(%ebp),%eax
7120 4000683d:       89 42 08                mov    %eax,0x8(%edx)
7121 40006840:       8b 55 d8                mov    -0x28(%ebp),%edx
7122 40006843:       8b 45 ec                mov    -0x14(%ebp),%eax
7123 40006846:       89 42 0c                mov    %eax,0xc(%edx)
7124 40006849:       8b 45 d8                mov    -0x28(%ebp),%eax
7125 4000684c:       c7 40 18 00 00 00 00    movl   $0x0,0x18(%eax)
7126 40006853:       eb 05                   jmp    4000685a <tmalloc_large+0x883>
7127 40006855:       e8 76 62 00 00          call   4000cad0 <abort>
7128 4000685a:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
7129 40006860:       83 c0 08                add    $0x8,%eax
7130 40006863:       89 85 68 ff ff ff       mov    %eax,-0x98(%ebp)
7131 40006869:       eb 0f                   jmp    4000687a <tmalloc_large+0x8a3>
7132 4000686b:       e8 60 62 00 00          call   4000cad0 <abort>
7133 40006870:       c7 85 68 ff ff ff 00    movl   $0x0,-0x98(%ebp)
7134 40006877:       00 00 00 
7135 4000687a:       8b 85 68 ff ff ff       mov    -0x98(%ebp),%eax
7136 40006880:       81 c4 a4 00 00 00       add    $0xa4,%esp
7137 40006886:       5b                      pop    %ebx
7138 40006887:       5d                      pop    %ebp
7139 40006888:       c3                      ret    
7141 40006889 <tmalloc_small>:
7142 40006889:       55                      push   %ebp
7143 4000688a:       89 e5                   mov    %esp,%ebp
7144 4000688c:       53                      push   %ebx
7145 4000688d:       83 ec 74                sub    $0x74,%esp
7146 40006890:       8b 45 08                mov    0x8(%ebp),%eax
7147 40006893:       8b 50 04                mov    0x4(%eax),%edx
7148 40006896:       8b 45 08                mov    0x8(%ebp),%eax
7149 40006899:       8b 40 04                mov    0x4(%eax),%eax
7150 4000689c:       f7 d8                   neg    %eax
7151 4000689e:       21 d0                   and    %edx,%eax
7152 400068a0:       89 45 b8                mov    %eax,-0x48(%ebp)
7153 400068a3:       0f bc 45 b8             bsf    -0x48(%ebp),%eax
7154 400068a7:       89 45 bc                mov    %eax,-0x44(%ebp)
7155 400068aa:       8b 45 bc                mov    -0x44(%ebp),%eax
7156 400068ad:       89 45 b4                mov    %eax,-0x4c(%ebp)
7157 400068b0:       8b 45 08                mov    0x8(%ebp),%eax
7158 400068b3:       8d 90 2c 01 00 00       lea    0x12c(%eax),%edx
7159 400068b9:       8b 45 b4                mov    -0x4c(%ebp),%eax
7160 400068bc:       c1 e0 02                shl    $0x2,%eax
7161 400068bf:       8d 04 02                lea    (%edx,%eax,1),%eax
7162 400068c2:       8b 00                   mov    (%eax),%eax
7163 400068c4:       89 45 a8                mov    %eax,-0x58(%ebp)
7164 400068c7:       8b 45 a8                mov    -0x58(%ebp),%eax
7165 400068ca:       89 45 ac                mov    %eax,-0x54(%ebp)
7166 400068cd:       8b 45 a8                mov    -0x58(%ebp),%eax
7167 400068d0:       8b 40 04                mov    0x4(%eax),%eax
7168 400068d3:       83 e0 fc                and    $0xfffffffc,%eax
7169 400068d6:       2b 45 0c                sub    0xc(%ebp),%eax
7170 400068d9:       89 45 b0                mov    %eax,-0x50(%ebp)
7171 400068dc:       eb 23                   jmp    40006901 <tmalloc_small+0x78>
7172 400068de:       8b 45 a8                mov    -0x58(%ebp),%eax
7173 400068e1:       8b 40 04                mov    0x4(%eax),%eax
7174 400068e4:       83 e0 fc                and    $0xfffffffc,%eax
7175 400068e7:       2b 45 0c                sub    0xc(%ebp),%eax
7176 400068ea:       89 45 c0                mov    %eax,-0x40(%ebp)
7177 400068ed:       8b 45 c0                mov    -0x40(%ebp),%eax
7178 400068f0:       3b 45 b0                cmp    -0x50(%ebp),%eax
7179 400068f3:       73 0c                   jae    40006901 <tmalloc_small+0x78>
7180 400068f5:       8b 45 c0                mov    -0x40(%ebp),%eax
7181 400068f8:       89 45 b0                mov    %eax,-0x50(%ebp)
7182 400068fb:       8b 45 a8                mov    -0x58(%ebp),%eax
7183 400068fe:       89 45 ac                mov    %eax,-0x54(%ebp)
7184 40006901:       8b 45 a8                mov    -0x58(%ebp),%eax
7185 40006904:       8b 40 10                mov    0x10(%eax),%eax
7186 40006907:       85 c0                   test   %eax,%eax
7187 40006909:       74 0b                   je     40006916 <tmalloc_small+0x8d>
7188 4000690b:       8b 45 a8                mov    -0x58(%ebp),%eax
7189 4000690e:       8b 40 10                mov    0x10(%eax),%eax
7190 40006911:       89 45 94                mov    %eax,-0x6c(%ebp)
7191 40006914:       eb 09                   jmp    4000691f <tmalloc_small+0x96>
7192 40006916:       8b 45 a8                mov    -0x58(%ebp),%eax
7193 40006919:       8b 40 14                mov    0x14(%eax),%eax
7194 4000691c:       89 45 94                mov    %eax,-0x6c(%ebp)
7195 4000691f:       8b 45 94                mov    -0x6c(%ebp),%eax
7196 40006922:       89 45 a8                mov    %eax,-0x58(%ebp)
7197 40006925:       83 7d a8 00             cmpl   $0x0,-0x58(%ebp)
7198 40006929:       75 b3                   jne    400068de <tmalloc_small+0x55>
7199 4000692b:       8b 45 08                mov    0x8(%ebp),%eax
7200 4000692e:       8b 50 10                mov    0x10(%eax),%edx
7201 40006931:       8b 45 ac                mov    -0x54(%ebp),%eax
7202 40006934:       39 c2                   cmp    %eax,%edx
7203 40006936:       0f 96 c0                setbe  %al
7204 40006939:       0f b6 c0                movzbl %al,%eax
7205 4000693c:       85 c0                   test   %eax,%eax
7206 4000693e:       0f 84 8c 03 00 00       je     40006cd0 <tmalloc_small+0x447>
7207 40006944:       8b 45 ac                mov    -0x54(%ebp),%eax
7208 40006947:       03 45 0c                add    0xc(%ebp),%eax
7209 4000694a:       89 45 c4                mov    %eax,-0x3c(%ebp)
7210 4000694d:       8b 55 ac                mov    -0x54(%ebp),%edx
7211 40006950:       8b 45 c4                mov    -0x3c(%ebp),%eax
7212 40006953:       39 c2                   cmp    %eax,%edx
7213 40006955:       0f 92 c0                setb   %al
7214 40006958:       0f b6 c0                movzbl %al,%eax
7215 4000695b:       85 c0                   test   %eax,%eax
7216 4000695d:       0f 84 6d 03 00 00       je     40006cd0 <tmalloc_small+0x447>
7217 40006963:       8b 45 ac                mov    -0x54(%ebp),%eax
7218 40006966:       8b 40 18                mov    0x18(%eax),%eax
7219 40006969:       89 45 c8                mov    %eax,-0x38(%ebp)
7220 4000696c:       8b 45 ac                mov    -0x54(%ebp),%eax
7221 4000696f:       8b 40 0c                mov    0xc(%eax),%eax
7222 40006972:       3b 45 ac                cmp    -0x54(%ebp),%eax
7223 40006975:       74 48                   je     400069bf <tmalloc_small+0x136>
7224 40006977:       8b 45 ac                mov    -0x54(%ebp),%eax
7225 4000697a:       8b 40 08                mov    0x8(%eax),%eax
7226 4000697d:       89 45 d0                mov    %eax,-0x30(%ebp)
7227 40006980:       8b 45 ac                mov    -0x54(%ebp),%eax
7228 40006983:       8b 40 0c                mov    0xc(%eax),%eax
7229 40006986:       89 45 cc                mov    %eax,-0x34(%ebp)
7230 40006989:       8b 45 08                mov    0x8(%ebp),%eax
7231 4000698c:       8b 50 10                mov    0x10(%eax),%edx
7232 4000698f:       8b 45 d0                mov    -0x30(%ebp),%eax
7233 40006992:       39 c2                   cmp    %eax,%edx
7234 40006994:       0f 96 c0                setbe  %al
7235 40006997:       0f b6 c0                movzbl %al,%eax
7236 4000699a:       85 c0                   test   %eax,%eax
7237 4000699c:       74 17                   je     400069b5 <tmalloc_small+0x12c>
7238 4000699e:       8b 55 d0                mov    -0x30(%ebp),%edx
7239 400069a1:       8b 45 cc                mov    -0x34(%ebp),%eax
7240 400069a4:       89 42 0c                mov    %eax,0xc(%edx)
7241 400069a7:       8b 55 cc                mov    -0x34(%ebp),%edx
7242 400069aa:       8b 45 d0                mov    -0x30(%ebp),%eax
7243 400069ad:       89 42 08                mov    %eax,0x8(%edx)
7244 400069b0:       e9 91 00 00 00          jmp    40006a46 <tmalloc_small+0x1bd>
7245 400069b5:       e8 16 61 00 00          call   4000cad0 <abort>
7246 400069ba:       e9 87 00 00 00          jmp    40006a46 <tmalloc_small+0x1bd>
7247 400069bf:       8b 45 ac                mov    -0x54(%ebp),%eax
7248 400069c2:       83 c0 14                add    $0x14,%eax
7249 400069c5:       89 45 d4                mov    %eax,-0x2c(%ebp)
7250 400069c8:       8b 45 d4                mov    -0x2c(%ebp),%eax
7251 400069cb:       8b 00                   mov    (%eax),%eax
7252 400069cd:       89 45 cc                mov    %eax,-0x34(%ebp)
7253 400069d0:       83 7d cc 00             cmpl   $0x0,-0x34(%ebp)
7254 400069d4:       75 27                   jne    400069fd <tmalloc_small+0x174>
7255 400069d6:       8b 45 ac                mov    -0x54(%ebp),%eax
7256 400069d9:       83 c0 10                add    $0x10,%eax
7257 400069dc:       89 45 d4                mov    %eax,-0x2c(%ebp)
7258 400069df:       8b 45 d4                mov    -0x2c(%ebp),%eax
7259 400069e2:       8b 00                   mov    (%eax),%eax
7260 400069e4:       89 45 cc                mov    %eax,-0x34(%ebp)
7261 400069e7:       83 7d cc 00             cmpl   $0x0,-0x34(%ebp)
7262 400069eb:       74 59                   je     40006a46 <tmalloc_small+0x1bd>
7263 400069ed:       eb 0e                   jmp    400069fd <tmalloc_small+0x174>
7264 400069ef:       8b 45 d8                mov    -0x28(%ebp),%eax
7265 400069f2:       89 45 d4                mov    %eax,-0x2c(%ebp)
7266 400069f5:       8b 45 d4                mov    -0x2c(%ebp),%eax
7267 400069f8:       8b 00                   mov    (%eax),%eax
7268 400069fa:       89 45 cc                mov    %eax,-0x34(%ebp)
7269 400069fd:       8b 45 cc                mov    -0x34(%ebp),%eax
7270 40006a00:       83 c0 14                add    $0x14,%eax
7271 40006a03:       89 45 d8                mov    %eax,-0x28(%ebp)
7272 40006a06:       8b 45 d8                mov    -0x28(%ebp),%eax
7273 40006a09:       8b 00                   mov    (%eax),%eax
7274 40006a0b:       85 c0                   test   %eax,%eax
7275 40006a0d:       75 e0                   jne    400069ef <tmalloc_small+0x166>
7276 40006a0f:       8b 45 cc                mov    -0x34(%ebp),%eax
7277 40006a12:       83 c0 10                add    $0x10,%eax
7278 40006a15:       89 45 d8                mov    %eax,-0x28(%ebp)
7279 40006a18:       8b 45 d8                mov    -0x28(%ebp),%eax
7280 40006a1b:       8b 00                   mov    (%eax),%eax
7281 40006a1d:       85 c0                   test   %eax,%eax
7282 40006a1f:       75 ce                   jne    400069ef <tmalloc_small+0x166>
7283 40006a21:       8b 45 08                mov    0x8(%ebp),%eax
7284 40006a24:       8b 50 10                mov    0x10(%eax),%edx
7285 40006a27:       8b 45 d4                mov    -0x2c(%ebp),%eax
7286 40006a2a:       39 c2                   cmp    %eax,%edx
7287 40006a2c:       0f 96 c0                setbe  %al
7288 40006a2f:       0f b6 c0                movzbl %al,%eax
7289 40006a32:       85 c0                   test   %eax,%eax
7290 40006a34:       74 0b                   je     40006a41 <tmalloc_small+0x1b8>
7291 40006a36:       8b 45 d4                mov    -0x2c(%ebp),%eax
7292 40006a39:       c7 00 00 00 00 00       movl   $0x0,(%eax)
7293 40006a3f:       eb 05                   jmp    40006a46 <tmalloc_small+0x1bd>
7294 40006a41:       e8 8a 60 00 00          call   4000cad0 <abort>
7295 40006a46:       83 7d c8 00             cmpl   $0x0,-0x38(%ebp)
7296 40006a4a:       0f 84 3c 01 00 00       je     40006b8c <tmalloc_small+0x303>
7297 40006a50:       8b 45 08                mov    0x8(%ebp),%eax
7298 40006a53:       8d 90 2c 01 00 00       lea    0x12c(%eax),%edx
7299 40006a59:       8b 45 ac                mov    -0x54(%ebp),%eax
7300 40006a5c:       8b 40 1c                mov    0x1c(%eax),%eax
7301 40006a5f:       c1 e0 02                shl    $0x2,%eax
7302 40006a62:       8d 04 02                lea    (%edx,%eax,1),%eax
7303 40006a65:       89 45 dc                mov    %eax,-0x24(%ebp)
7304 40006a68:       8b 45 dc                mov    -0x24(%ebp),%eax
7305 40006a6b:       8b 00                   mov    (%eax),%eax
7306 40006a6d:       3b 45 ac                cmp    -0x54(%ebp),%eax
7307 40006a70:       75 32                   jne    40006aa4 <tmalloc_small+0x21b>
7308 40006a72:       8b 55 dc                mov    -0x24(%ebp),%edx
7309 40006a75:       8b 45 cc                mov    -0x34(%ebp),%eax
7310 40006a78:       89 02                   mov    %eax,(%edx)
7311 40006a7a:       8b 45 dc                mov    -0x24(%ebp),%eax
7312 40006a7d:       8b 00                   mov    (%eax),%eax
7313 40006a7f:       85 c0                   test   %eax,%eax
7314 40006a81:       75 5c                   jne    40006adf <tmalloc_small+0x256>
7315 40006a83:       8b 45 08                mov    0x8(%ebp),%eax
7316 40006a86:       8b 50 04                mov    0x4(%eax),%edx
7317 40006a89:       8b 45 ac                mov    -0x54(%ebp),%eax
7318 40006a8c:       8b 40 1c                mov    0x1c(%eax),%eax
7319 40006a8f:       89 c1                   mov    %eax,%ecx
7320 40006a91:       b8 01 00 00 00          mov    $0x1,%eax
7321 40006a96:       d3 e0                   shl    %cl,%eax
7322 40006a98:       f7 d0                   not    %eax
7323 40006a9a:       21 c2                   and    %eax,%edx
7324 40006a9c:       8b 45 08                mov    0x8(%ebp),%eax
7325 40006a9f:       89 50 04                mov    %edx,0x4(%eax)
7326 40006aa2:       eb 3b                   jmp    40006adf <tmalloc_small+0x256>
7327 40006aa4:       8b 45 08                mov    0x8(%ebp),%eax
7328 40006aa7:       8b 50 10                mov    0x10(%eax),%edx
7329 40006aaa:       8b 45 c8                mov    -0x38(%ebp),%eax
7330 40006aad:       39 c2                   cmp    %eax,%edx
7331 40006aaf:       0f 96 c0                setbe  %al
7332 40006ab2:       0f b6 c0                movzbl %al,%eax
7333 40006ab5:       85 c0                   test   %eax,%eax
7334 40006ab7:       74 21                   je     40006ada <tmalloc_small+0x251>
7335 40006ab9:       8b 45 c8                mov    -0x38(%ebp),%eax
7336 40006abc:       8b 40 10                mov    0x10(%eax),%eax
7337 40006abf:       3b 45 ac                cmp    -0x54(%ebp),%eax
7338 40006ac2:       75 0b                   jne    40006acf <tmalloc_small+0x246>
7339 40006ac4:       8b 55 c8                mov    -0x38(%ebp),%edx
7340 40006ac7:       8b 45 cc                mov    -0x34(%ebp),%eax
7341 40006aca:       89 42 10                mov    %eax,0x10(%edx)
7342 40006acd:       eb 10                   jmp    40006adf <tmalloc_small+0x256>
7343 40006acf:       8b 55 c8                mov    -0x38(%ebp),%edx
7344 40006ad2:       8b 45 cc                mov    -0x34(%ebp),%eax
7345 40006ad5:       89 42 14                mov    %eax,0x14(%edx)
7346 40006ad8:       eb 05                   jmp    40006adf <tmalloc_small+0x256>
7347 40006ada:       e8 f1 5f 00 00          call   4000cad0 <abort>
7348 40006adf:       83 7d cc 00             cmpl   $0x0,-0x34(%ebp)
7349 40006ae3:       0f 84 a3 00 00 00       je     40006b8c <tmalloc_small+0x303>
7350 40006ae9:       8b 45 08                mov    0x8(%ebp),%eax
7351 40006aec:       8b 50 10                mov    0x10(%eax),%edx
7352 40006aef:       8b 45 cc                mov    -0x34(%ebp),%eax
7353 40006af2:       39 c2                   cmp    %eax,%edx
7354 40006af4:       0f 96 c0                setbe  %al
7355 40006af7:       0f b6 c0                movzbl %al,%eax
7356 40006afa:       85 c0                   test   %eax,%eax
7357 40006afc:       0f 84 85 00 00 00       je     40006b87 <tmalloc_small+0x2fe>
7358 40006b02:       8b 55 cc                mov    -0x34(%ebp),%edx
7359 40006b05:       8b 45 c8                mov    -0x38(%ebp),%eax
7360 40006b08:       89 42 18                mov    %eax,0x18(%edx)
7361 40006b0b:       8b 45 ac                mov    -0x54(%ebp),%eax
7362 40006b0e:       8b 40 10                mov    0x10(%eax),%eax
7363 40006b11:       89 45 e0                mov    %eax,-0x20(%ebp)
7364 40006b14:       83 7d e0 00             cmpl   $0x0,-0x20(%ebp)
7365 40006b18:       74 2e                   je     40006b48 <tmalloc_small+0x2bf>
7366 40006b1a:       8b 45 08                mov    0x8(%ebp),%eax
7367 40006b1d:       8b 50 10                mov    0x10(%eax),%edx
7368 40006b20:       8b 45 e0                mov    -0x20(%ebp),%eax
7369 40006b23:       39 c2                   cmp    %eax,%edx
7370 40006b25:       0f 96 c0                setbe  %al
7371 40006b28:       0f b6 c0                movzbl %al,%eax
7372 40006b2b:       85 c0                   test   %eax,%eax
7373 40006b2d:       74 14                   je     40006b43 <tmalloc_small+0x2ba>
7374 40006b2f:       8b 55 cc                mov    -0x34(%ebp),%edx
7375 40006b32:       8b 45 e0                mov    -0x20(%ebp),%eax
7376 40006b35:       89 42 10                mov    %eax,0x10(%edx)
7377 40006b38:       8b 55 e0                mov    -0x20(%ebp),%edx
7378 40006b3b:       8b 45 cc                mov    -0x34(%ebp),%eax
7379 40006b3e:       89 42 18                mov    %eax,0x18(%edx)
7380 40006b41:       eb 05                   jmp    40006b48 <tmalloc_small+0x2bf>
7381 40006b43:       e8 88 5f 00 00          call   4000cad0 <abort>
7382 40006b48:       8b 45 ac                mov    -0x54(%ebp),%eax
7383 40006b4b:       8b 40 14                mov    0x14(%eax),%eax
7384 40006b4e:       89 45 e4                mov    %eax,-0x1c(%ebp)
7385 40006b51:       83 7d e4 00             cmpl   $0x0,-0x1c(%ebp)
7386 40006b55:       74 35                   je     40006b8c <tmalloc_small+0x303>
7387 40006b57:       8b 45 08                mov    0x8(%ebp),%eax
7388 40006b5a:       8b 50 10                mov    0x10(%eax),%edx
7389 40006b5d:       8b 45 e4                mov    -0x1c(%ebp),%eax
7390 40006b60:       39 c2                   cmp    %eax,%edx
7391 40006b62:       0f 96 c0                setbe  %al
7392 40006b65:       0f b6 c0                movzbl %al,%eax
7393 40006b68:       85 c0                   test   %eax,%eax
7394 40006b6a:       74 14                   je     40006b80 <tmalloc_small+0x2f7>
7395 40006b6c:       8b 55 cc                mov    -0x34(%ebp),%edx
7396 40006b6f:       8b 45 e4                mov    -0x1c(%ebp),%eax
7397 40006b72:       89 42 14                mov    %eax,0x14(%edx)
7398 40006b75:       8b 55 e4                mov    -0x1c(%ebp),%edx
7399 40006b78:       8b 45 cc                mov    -0x34(%ebp),%eax
7400 40006b7b:       89 42 18                mov    %eax,0x18(%edx)
7401 40006b7e:       eb 0c                   jmp    40006b8c <tmalloc_small+0x303>
7402 40006b80:       e8 4b 5f 00 00          call   4000cad0 <abort>
7403 40006b85:       eb 05                   jmp    40006b8c <tmalloc_small+0x303>
7404 40006b87:       e8 44 5f 00 00          call   4000cad0 <abort>
7405 40006b8c:       83 7d b0 0f             cmpl   $0xf,-0x50(%ebp)
7406 40006b90:       77 3d                   ja     40006bcf <tmalloc_small+0x346>
7407 40006b92:       8b 55 0c                mov    0xc(%ebp),%edx
7408 40006b95:       8b 45 b0                mov    -0x50(%ebp),%eax
7409 40006b98:       01 d0                   add    %edx,%eax
7410 40006b9a:       89 c2                   mov    %eax,%edx
7411 40006b9c:       83 ca 03                or     $0x3,%edx
7412 40006b9f:       8b 45 ac                mov    -0x54(%ebp),%eax
7413 40006ba2:       89 50 04                mov    %edx,0x4(%eax)
7414 40006ba5:       8b 4d ac                mov    -0x54(%ebp),%ecx
7415 40006ba8:       8b 55 0c                mov    0xc(%ebp),%edx
7416 40006bab:       8b 45 b0                mov    -0x50(%ebp),%eax
7417 40006bae:       01 d0                   add    %edx,%eax
7418 40006bb0:       8d 1c 01                lea    (%ecx,%eax,1),%ebx
7419 40006bb3:       8b 4d ac                mov    -0x54(%ebp),%ecx
7420 40006bb6:       8b 55 0c                mov    0xc(%ebp),%edx
7421 40006bb9:       8b 45 b0                mov    -0x50(%ebp),%eax
7422 40006bbc:       01 d0                   add    %edx,%eax
7423 40006bbe:       8d 04 01                lea    (%ecx,%eax,1),%eax
7424 40006bc1:       8b 40 04                mov    0x4(%eax),%eax
7425 40006bc4:       83 c8 01                or     $0x1,%eax
7426 40006bc7:       89 43 04                mov    %eax,0x4(%ebx)
7427 40006bca:       e9 f6 00 00 00          jmp    40006cc5 <tmalloc_small+0x43c>
7428 40006bcf:       8b 45 0c                mov    0xc(%ebp),%eax
7429 40006bd2:       89 c2                   mov    %eax,%edx
7430 40006bd4:       83 ca 03                or     $0x3,%edx
7431 40006bd7:       8b 45 ac                mov    -0x54(%ebp),%eax
7432 40006bda:       89 50 04                mov    %edx,0x4(%eax)
7433 40006bdd:       8b 45 b0                mov    -0x50(%ebp),%eax
7434 40006be0:       89 c2                   mov    %eax,%edx
7435 40006be2:       83 ca 01                or     $0x1,%edx
7436 40006be5:       8b 45 c4                mov    -0x3c(%ebp),%eax
7437 40006be8:       89 50 04                mov    %edx,0x4(%eax)
7438 40006beb:       8b 55 b0                mov    -0x50(%ebp),%edx
7439 40006bee:       8b 45 c4                mov    -0x3c(%ebp),%eax
7440 40006bf1:       8d 14 10                lea    (%eax,%edx,1),%edx
7441 40006bf4:       8b 45 b0                mov    -0x50(%ebp),%eax
7442 40006bf7:       89 02                   mov    %eax,(%edx)
7443 40006bf9:       8b 45 08                mov    0x8(%ebp),%eax
7444 40006bfc:       8b 40 08                mov    0x8(%eax),%eax
7445 40006bff:       89 45 e8                mov    %eax,-0x18(%ebp)
7446 40006c02:       83 7d e8 00             cmpl   $0x0,-0x18(%ebp)
7447 40006c06:       0f 84 a7 00 00 00       je     40006cb3 <tmalloc_small+0x42a>
7448 40006c0c:       8b 45 08                mov    0x8(%ebp),%eax
7449 40006c0f:       8b 40 14                mov    0x14(%eax),%eax
7450 40006c12:       89 45 ec                mov    %eax,-0x14(%ebp)
7451 40006c15:       8b 45 e8                mov    -0x18(%ebp),%eax
7452 40006c18:       c1 e8 03                shr    $0x3,%eax
7453 40006c1b:       89 45 f0                mov    %eax,-0x10(%ebp)
7454 40006c1e:       8b 45 08                mov    0x8(%ebp),%eax
7455 40006c21:       83 c0 24                add    $0x24,%eax
7456 40006c24:       89 c2                   mov    %eax,%edx
7457 40006c26:       8b 45 f0                mov    -0x10(%ebp),%eax
7458 40006c29:       c1 e0 03                shl    $0x3,%eax
7459 40006c2c:       8d 04 02                lea    (%edx,%eax,1),%eax
7460 40006c2f:       89 45 f4                mov    %eax,-0xc(%ebp)
7461 40006c32:       8b 45 f4                mov    -0xc(%ebp),%eax
7462 40006c35:       89 45 f8                mov    %eax,-0x8(%ebp)
7463 40006c38:       8b 45 08                mov    0x8(%ebp),%eax
7464 40006c3b:       8b 10                   mov    (%eax),%edx
7465 40006c3d:       8b 4d f0                mov    -0x10(%ebp),%ecx
7466 40006c40:       b8 01 00 00 00          mov    $0x1,%eax
7467 40006c45:       d3 e0                   shl    %cl,%eax
7468 40006c47:       21 d0                   and    %edx,%eax
7469 40006c49:       85 c0                   test   %eax,%eax
7470 40006c4b:       75 18                   jne    40006c65 <tmalloc_small+0x3dc>
7471 40006c4d:       8b 45 08                mov    0x8(%ebp),%eax
7472 40006c50:       8b 10                   mov    (%eax),%edx
7473 40006c52:       8b 4d f0                mov    -0x10(%ebp),%ecx
7474 40006c55:       b8 01 00 00 00          mov    $0x1,%eax
7475 40006c5a:       d3 e0                   shl    %cl,%eax
7476 40006c5c:       09 c2                   or     %eax,%edx
7477 40006c5e:       8b 45 08                mov    0x8(%ebp),%eax
7478 40006c61:       89 10                   mov    %edx,(%eax)
7479 40006c63:       eb 2a                   jmp    40006c8f <tmalloc_small+0x406>
7480 40006c65:       8b 45 f4                mov    -0xc(%ebp),%eax
7481 40006c68:       8b 40 08                mov    0x8(%eax),%eax
7482 40006c6b:       89 c2                   mov    %eax,%edx
7483 40006c6d:       8b 45 08                mov    0x8(%ebp),%eax
7484 40006c70:       8b 40 10                mov    0x10(%eax),%eax
7485 40006c73:       39 c2                   cmp    %eax,%edx
7486 40006c75:       0f 93 c0                setae  %al
7487 40006c78:       0f b6 c0                movzbl %al,%eax
7488 40006c7b:       85 c0                   test   %eax,%eax
7489 40006c7d:       74 0b                   je     40006c8a <tmalloc_small+0x401>
7490 40006c7f:       8b 45 f4                mov    -0xc(%ebp),%eax
7491 40006c82:       8b 40 08                mov    0x8(%eax),%eax
7492 40006c85:       89 45 f8                mov    %eax,-0x8(%ebp)
7493 40006c88:       eb 05                   jmp    40006c8f <tmalloc_small+0x406>
7494 40006c8a:       e8 41 5e 00 00          call   4000cad0 <abort>
7495 40006c8f:       8b 55 f4                mov    -0xc(%ebp),%edx
7496 40006c92:       8b 45 ec                mov    -0x14(%ebp),%eax
7497 40006c95:       89 42 08                mov    %eax,0x8(%edx)
7498 40006c98:       8b 55 f8                mov    -0x8(%ebp),%edx
7499 40006c9b:       8b 45 ec                mov    -0x14(%ebp),%eax
7500 40006c9e:       89 42 0c                mov    %eax,0xc(%edx)
7501 40006ca1:       8b 55 ec                mov    -0x14(%ebp),%edx
7502 40006ca4:       8b 45 f8                mov    -0x8(%ebp),%eax
7503 40006ca7:       89 42 08                mov    %eax,0x8(%edx)
7504 40006caa:       8b 55 ec                mov    -0x14(%ebp),%edx
7505 40006cad:       8b 45 f4                mov    -0xc(%ebp),%eax
7506 40006cb0:       89 42 0c                mov    %eax,0xc(%edx)
7507 40006cb3:       8b 55 08                mov    0x8(%ebp),%edx
7508 40006cb6:       8b 45 b0                mov    -0x50(%ebp),%eax
7509 40006cb9:       89 42 08                mov    %eax,0x8(%edx)
7510 40006cbc:       8b 55 08                mov    0x8(%ebp),%edx
7511 40006cbf:       8b 45 c4                mov    -0x3c(%ebp),%eax
7512 40006cc2:       89 42 14                mov    %eax,0x14(%edx)
7513 40006cc5:       8b 45 ac                mov    -0x54(%ebp),%eax
7514 40006cc8:       83 c0 08                add    $0x8,%eax
7515 40006ccb:       89 45 98                mov    %eax,-0x68(%ebp)
7516 40006cce:       eb 0c                   jmp    40006cdc <tmalloc_small+0x453>
7517 40006cd0:       e8 fb 5d 00 00          call   4000cad0 <abort>
7518 40006cd5:       c7 45 98 00 00 00 00    movl   $0x0,-0x68(%ebp)
7519 40006cdc:       8b 45 98                mov    -0x68(%ebp),%eax
7520 40006cdf:       83 c4 74                add    $0x74,%esp
7521 40006ce2:       5b                      pop    %ebx
7522 40006ce3:       5d                      pop    %ebp
7523 40006ce4:       c3                      ret    
7525 40006ce5 <internal_realloc>:
7526 40006ce5:       55                      push   %ebp
7527 40006ce6:       89 e5                   mov    %esp,%ebp
7528 40006ce8:       83 ec 68                sub    $0x68,%esp
7529 40006ceb:       83 7d 10 bf             cmpl   $0xffffffbf,0x10(%ebp)
7530 40006cef:       76 16                   jbe    40006d07 <internal_realloc+0x22>
7531 40006cf1:       c7 05 10 1c 01 40 31    movl   $0x31,0x40011c10
7532 40006cf8:       00 00 00 
7533 40006cfb:       c7 45 ac 00 00 00 00    movl   $0x0,-0x54(%ebp)
7534 40006d02:       e9 99 02 00 00          jmp    40006fa0 <internal_realloc+0x2bb>
7535 40006d07:       8b 45 0c                mov    0xc(%ebp),%eax
7536 40006d0a:       83 e8 08                sub    $0x8,%eax
7537 40006d0d:       89 45 cc                mov    %eax,-0x34(%ebp)
7538 40006d10:       8b 45 cc                mov    -0x34(%ebp),%eax
7539 40006d13:       8b 40 04                mov    0x4(%eax),%eax
7540 40006d16:       83 e0 fc                and    $0xfffffffc,%eax
7541 40006d19:       89 45 d0                mov    %eax,-0x30(%ebp)
7542 40006d1c:       8b 55 d0                mov    -0x30(%ebp),%edx
7543 40006d1f:       8b 45 cc                mov    -0x34(%ebp),%eax
7544 40006d22:       01 d0                   add    %edx,%eax
7545 40006d24:       89 45 d4                mov    %eax,-0x2c(%ebp)
7546 40006d27:       c7 45 d8 00 00 00 00    movl   $0x0,-0x28(%ebp)
7547 40006d2e:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
7548 40006d35:       8b 45 08                mov    0x8(%ebp),%eax
7549 40006d38:       8b 50 10                mov    0x10(%eax),%edx
7550 40006d3b:       8b 45 cc                mov    -0x34(%ebp),%eax
7551 40006d3e:       39 c2                   cmp    %eax,%edx
7552 40006d40:       0f 96 c0                setbe  %al
7553 40006d43:       0f b6 c0                movzbl %al,%eax
7554 40006d46:       85 c0                   test   %eax,%eax
7555 40006d48:       74 1e                   je     40006d68 <internal_realloc+0x83>
7556 40006d4a:       8b 45 cc                mov    -0x34(%ebp),%eax
7557 40006d4d:       8b 40 04                mov    0x4(%eax),%eax
7558 40006d50:       83 e0 02                and    $0x2,%eax
7559 40006d53:       85 c0                   test   %eax,%eax
7560 40006d55:       0f 95 c0                setne  %al
7561 40006d58:       0f b6 c0                movzbl %al,%eax
7562 40006d5b:       85 c0                   test   %eax,%eax
7563 40006d5d:       74 09                   je     40006d68 <internal_realloc+0x83>
7564 40006d5f:       c7 45 b4 01 00 00 00    movl   $0x1,-0x4c(%ebp)
7565 40006d66:       eb 07                   jmp    40006d6f <internal_realloc+0x8a>
7566 40006d68:       c7 45 b4 00 00 00 00    movl   $0x0,-0x4c(%ebp)
7567 40006d6f:       83 7d b4 00             cmpl   $0x0,-0x4c(%ebp)
7568 40006d73:       74 1b                   je     40006d90 <internal_realloc+0xab>
7569 40006d75:       8b 55 cc                mov    -0x34(%ebp),%edx
7570 40006d78:       8b 45 d4                mov    -0x2c(%ebp),%eax
7571 40006d7b:       39 c2                   cmp    %eax,%edx
7572 40006d7d:       0f 92 c0                setb   %al
7573 40006d80:       0f b6 c0                movzbl %al,%eax
7574 40006d83:       85 c0                   test   %eax,%eax
7575 40006d85:       74 09                   je     40006d90 <internal_realloc+0xab>
7576 40006d87:       c7 45 b0 01 00 00 00    movl   $0x1,-0x50(%ebp)
7577 40006d8e:       eb 07                   jmp    40006d97 <internal_realloc+0xb2>
7578 40006d90:       c7 45 b0 00 00 00 00    movl   $0x0,-0x50(%ebp)
7579 40006d97:       83 7d b0 00             cmpl   $0x0,-0x50(%ebp)
7580 40006d9b:       0f 84 74 01 00 00       je     40006f15 <internal_realloc+0x230>
7581 40006da1:       8b 45 d4                mov    -0x2c(%ebp),%eax
7582 40006da4:       8b 40 04                mov    0x4(%eax),%eax
7583 40006da7:       83 e0 01                and    $0x1,%eax
7584 40006daa:       85 c0                   test   %eax,%eax
7585 40006dac:       0f 84 63 01 00 00       je     40006f15 <internal_realloc+0x230>
7586 40006db2:       83 7d 10 0a             cmpl   $0xa,0x10(%ebp)
7587 40006db6:       76 10                   jbe    40006dc8 <internal_realloc+0xe3>
7588 40006db8:       8b 45 10                mov    0x10(%ebp),%eax
7589 40006dbb:       83 c0 0b                add    $0xb,%eax
7590 40006dbe:       89 c2                   mov    %eax,%edx
7591 40006dc0:       83 e2 f8                and    $0xfffffff8,%edx
7592 40006dc3:       89 55 b8                mov    %edx,-0x48(%ebp)
7593 40006dc6:       eb 07                   jmp    40006dcf <internal_realloc+0xea>
7594 40006dc8:       c7 45 b8 10 00 00 00    movl   $0x10,-0x48(%ebp)
7595 40006dcf:       8b 45 b8                mov    -0x48(%ebp),%eax
7596 40006dd2:       89 45 e0                mov    %eax,-0x20(%ebp)
7597 40006dd5:       8b 45 d0                mov    -0x30(%ebp),%eax
7598 40006dd8:       3b 45 e0                cmp    -0x20(%ebp),%eax
7599 40006ddb:       0f 82 96 00 00 00       jb     40006e77 <internal_realloc+0x192>
7600 40006de1:       8b 55 e0                mov    -0x20(%ebp),%edx
7601 40006de4:       8b 45 d0                mov    -0x30(%ebp),%eax
7602 40006de7:       29 d0                   sub    %edx,%eax
7603 40006de9:       89 45 e4                mov    %eax,-0x1c(%ebp)
7604 40006dec:       8b 45 cc                mov    -0x34(%ebp),%eax
7605 40006def:       89 45 d8                mov    %eax,-0x28(%ebp)
7606 40006df2:       83 7d e4 0f             cmpl   $0xf,-0x1c(%ebp)
7607 40006df6:       0f 86 11 01 00 00       jbe    40006f0d <internal_realloc+0x228>
7608 40006dfc:       8b 55 e0                mov    -0x20(%ebp),%edx
7609 40006dff:       8b 45 d8                mov    -0x28(%ebp),%eax
7610 40006e02:       01 d0                   add    %edx,%eax
7611 40006e04:       89 45 e8                mov    %eax,-0x18(%ebp)
7612 40006e07:       8b 45 d8                mov    -0x28(%ebp),%eax
7613 40006e0a:       8b 40 04                mov    0x4(%eax),%eax
7614 40006e0d:       83 e0 01                and    $0x1,%eax
7615 40006e10:       0b 45 e0                or     -0x20(%ebp),%eax
7616 40006e13:       89 c2                   mov    %eax,%edx
7617 40006e15:       83 ca 02                or     $0x2,%edx
7618 40006e18:       8b 45 d8                mov    -0x28(%ebp),%eax
7619 40006e1b:       89 50 04                mov    %edx,0x4(%eax)
7620 40006e1e:       8b 55 e0                mov    -0x20(%ebp),%edx
7621 40006e21:       8b 45 d8                mov    -0x28(%ebp),%eax
7622 40006e24:       8d 0c 10                lea    (%eax,%edx,1),%ecx
7623 40006e27:       8b 55 e0                mov    -0x20(%ebp),%edx
7624 40006e2a:       8b 45 d8                mov    -0x28(%ebp),%eax
7625 40006e2d:       01 d0                   add    %edx,%eax
7626 40006e2f:       8b 40 04                mov    0x4(%eax),%eax
7627 40006e32:       83 c8 01                or     $0x1,%eax
7628 40006e35:       89 41 04                mov    %eax,0x4(%ecx)
7629 40006e38:       8b 45 e8                mov    -0x18(%ebp),%eax
7630 40006e3b:       8b 40 04                mov    0x4(%eax),%eax
7631 40006e3e:       83 e0 01                and    $0x1,%eax
7632 40006e41:       0b 45 e4                or     -0x1c(%ebp),%eax
7633 40006e44:       89 c2                   mov    %eax,%edx
7634 40006e46:       83 ca 02                or     $0x2,%edx
7635 40006e49:       8b 45 e8                mov    -0x18(%ebp),%eax
7636 40006e4c:       89 50 04                mov    %edx,0x4(%eax)
7637 40006e4f:       8b 55 e4                mov    -0x1c(%ebp),%edx
7638 40006e52:       8b 45 e8                mov    -0x18(%ebp),%eax
7639 40006e55:       8d 0c 10                lea    (%eax,%edx,1),%ecx
7640 40006e58:       8b 55 e4                mov    -0x1c(%ebp),%edx
7641 40006e5b:       8b 45 e8                mov    -0x18(%ebp),%eax
7642 40006e5e:       01 d0                   add    %edx,%eax
7643 40006e60:       8b 40 04                mov    0x4(%eax),%eax
7644 40006e63:       83 c8 01                or     $0x1,%eax
7645 40006e66:       89 41 04                mov    %eax,0x4(%ecx)
7646 40006e69:       8b 45 e8                mov    -0x18(%ebp),%eax
7647 40006e6c:       83 c0 08                add    $0x8,%eax
7648 40006e6f:       89 45 dc                mov    %eax,-0x24(%ebp)
7649 40006e72:       e9 96 00 00 00          jmp    40006f0d <internal_realloc+0x228>
7650 40006e77:       8b 45 08                mov    0x8(%ebp),%eax
7651 40006e7a:       8b 40 18                mov    0x18(%eax),%eax
7652 40006e7d:       3b 45 d4                cmp    -0x2c(%ebp),%eax
7653 40006e80:       0f 85 87 00 00 00       jne    40006f0d <internal_realloc+0x228>
7654 40006e86:       8b 45 08                mov    0x8(%ebp),%eax
7655 40006e89:       8b 40 0c                mov    0xc(%eax),%eax
7656 40006e8c:       03 45 d0                add    -0x30(%ebp),%eax
7657 40006e8f:       3b 45 e0                cmp    -0x20(%ebp),%eax
7658 40006e92:       76 79                   jbe    40006f0d <internal_realloc+0x228>
7659 40006e94:       8b 45 08                mov    0x8(%ebp),%eax
7660 40006e97:       8b 40 0c                mov    0xc(%eax),%eax
7661 40006e9a:       03 45 d0                add    -0x30(%ebp),%eax
7662 40006e9d:       89 45 ec                mov    %eax,-0x14(%ebp)
7663 40006ea0:       8b 55 e0                mov    -0x20(%ebp),%edx
7664 40006ea3:       8b 45 ec                mov    -0x14(%ebp),%eax
7665 40006ea6:       29 d0                   sub    %edx,%eax
7666 40006ea8:       89 45 f0                mov    %eax,-0x10(%ebp)
7667 40006eab:       8b 55 e0                mov    -0x20(%ebp),%edx
7668 40006eae:       8b 45 cc                mov    -0x34(%ebp),%eax
7669 40006eb1:       01 d0                   add    %edx,%eax
7670 40006eb3:       89 45 f4                mov    %eax,-0xc(%ebp)
7671 40006eb6:       8b 45 cc                mov    -0x34(%ebp),%eax
7672 40006eb9:       8b 40 04                mov    0x4(%eax),%eax
7673 40006ebc:       83 e0 01                and    $0x1,%eax
7674 40006ebf:       0b 45 e0                or     -0x20(%ebp),%eax
7675 40006ec2:       89 c2                   mov    %eax,%edx
7676 40006ec4:       83 ca 02                or     $0x2,%edx
7677 40006ec7:       8b 45 cc                mov    -0x34(%ebp),%eax
7678 40006eca:       89 50 04                mov    %edx,0x4(%eax)
7679 40006ecd:       8b 55 e0                mov    -0x20(%ebp),%edx
7680 40006ed0:       8b 45 cc                mov    -0x34(%ebp),%eax
7681 40006ed3:       8d 0c 10                lea    (%eax,%edx,1),%ecx
7682 40006ed6:       8b 55 e0                mov    -0x20(%ebp),%edx
7683 40006ed9:       8b 45 cc                mov    -0x34(%ebp),%eax
7684 40006edc:       01 d0                   add    %edx,%eax
7685 40006ede:       8b 40 04                mov    0x4(%eax),%eax
7686 40006ee1:       83 c8 01                or     $0x1,%eax
7687 40006ee4:       89 41 04                mov    %eax,0x4(%ecx)
7688 40006ee7:       8b 45 f0                mov    -0x10(%ebp),%eax
7689 40006eea:       89 c2                   mov    %eax,%edx
7690 40006eec:       83 ca 01                or     $0x1,%edx
7691 40006eef:       8b 45 f4                mov    -0xc(%ebp),%eax
7692 40006ef2:       89 50 04                mov    %edx,0x4(%eax)
7693 40006ef5:       8b 55 08                mov    0x8(%ebp),%edx
7694 40006ef8:       8b 45 f4                mov    -0xc(%ebp),%eax
7695 40006efb:       89 42 18                mov    %eax,0x18(%edx)
7696 40006efe:       8b 55 08                mov    0x8(%ebp),%edx
7697 40006f01:       8b 45 f0                mov    -0x10(%ebp),%eax
7698 40006f04:       89 42 0c                mov    %eax,0xc(%edx)
7699 40006f07:       8b 45 cc                mov    -0x34(%ebp),%eax
7700 40006f0a:       89 45 d8                mov    %eax,-0x28(%ebp)
7701 40006f0d:       83 7d d8 00             cmpl   $0x0,-0x28(%ebp)
7702 40006f11:       75 10                   jne    40006f23 <internal_realloc+0x23e>
7703 40006f13:       eb 2a                   jmp    40006f3f <internal_realloc+0x25a>
7704 40006f15:       e8 b6 5b 00 00          call   4000cad0 <abort>
7705 40006f1a:       c7 45 ac 00 00 00 00    movl   $0x0,-0x54(%ebp)
7706 40006f21:       eb 7d                   jmp    40006fa0 <internal_realloc+0x2bb>
7707 40006f23:       83 7d dc 00             cmpl   $0x0,-0x24(%ebp)
7708 40006f27:       74 0b                   je     40006f34 <internal_realloc+0x24f>
7709 40006f29:       8b 45 dc                mov    -0x24(%ebp),%eax
7710 40006f2c:       89 04 24                mov    %eax,(%esp)
7711 40006f2f:       e8 57 0a 00 00          call   4000798b <free>
7712 40006f34:       8b 45 d8                mov    -0x28(%ebp),%eax
7713 40006f37:       83 c0 08                add    $0x8,%eax
7714 40006f3a:       89 45 ac                mov    %eax,-0x54(%ebp)
7715 40006f3d:       eb 61                   jmp    40006fa0 <internal_realloc+0x2bb>
7716 40006f3f:       8b 45 10                mov    0x10(%ebp),%eax
7717 40006f42:       89 04 24                mov    %eax,(%esp)
7718 40006f45:       e8 8a 05 00 00          call   400074d4 <malloc>
7719 40006f4a:       89 45 f8                mov    %eax,-0x8(%ebp)
7720 40006f4d:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
7721 40006f51:       74 47                   je     40006f9a <internal_realloc+0x2b5>
7722 40006f53:       8b 45 d0                mov    -0x30(%ebp),%eax
7723 40006f56:       83 e8 04                sub    $0x4,%eax
7724 40006f59:       89 45 fc                mov    %eax,-0x4(%ebp)
7725 40006f5c:       8b 55 fc                mov    -0x4(%ebp),%edx
7726 40006f5f:       89 55 a8                mov    %edx,-0x58(%ebp)
7727 40006f62:       8b 45 10                mov    0x10(%ebp),%eax
7728 40006f65:       89 45 bc                mov    %eax,-0x44(%ebp)
7729 40006f68:       8b 55 a8                mov    -0x58(%ebp),%edx
7730 40006f6b:       39 55 bc                cmp    %edx,-0x44(%ebp)
7731 40006f6e:       76 06                   jbe    40006f76 <internal_realloc+0x291>
7732 40006f70:       8b 45 a8                mov    -0x58(%ebp),%eax
7733 40006f73:       89 45 bc                mov    %eax,-0x44(%ebp)
7734 40006f76:       8b 55 bc                mov    -0x44(%ebp),%edx
7735 40006f79:       89 54 24 08             mov    %edx,0x8(%esp)
7736 40006f7d:       8b 45 0c                mov    0xc(%ebp),%eax
7737 40006f80:       89 44 24 04             mov    %eax,0x4(%esp)
7738 40006f84:       8b 45 f8                mov    -0x8(%ebp),%eax
7739 40006f87:       89 04 24                mov    %eax,(%esp)
7740 40006f8a:       e8 dd 36 00 00          call   4000a66c <memcpy>
7741 40006f8f:       8b 45 0c                mov    0xc(%ebp),%eax
7742 40006f92:       89 04 24                mov    %eax,(%esp)
7743 40006f95:       e8 f1 09 00 00          call   4000798b <free>
7744 40006f9a:       8b 45 f8                mov    -0x8(%ebp),%eax
7745 40006f9d:       89 45 ac                mov    %eax,-0x54(%ebp)
7746 40006fa0:       8b 45 ac                mov    -0x54(%ebp),%eax
7747 40006fa3:       c9                      leave  
7748 40006fa4:       c3                      ret    
7750 40006fa5 <internal_memalign>:
7751 40006fa5:       55                      push   %ebp
7752 40006fa6:       89 e5                   mov    %esp,%ebp
7753 40006fa8:       83 ec 58                sub    $0x58,%esp
7754 40006fab:       83 7d 0c 08             cmpl   $0x8,0xc(%ebp)
7755 40006faf:       77 13                   ja     40006fc4 <internal_memalign+0x1f>
7756 40006fb1:       8b 45 10                mov    0x10(%ebp),%eax
7757 40006fb4:       89 04 24                mov    %eax,(%esp)
7758 40006fb7:       e8 18 05 00 00          call   400074d4 <malloc>
7759 40006fbc:       89 45 b4                mov    %eax,-0x4c(%ebp)
7760 40006fbf:       e9 7c 02 00 00          jmp    40007240 <internal_memalign+0x29b>
7761 40006fc4:       83 7d 0c 0f             cmpl   $0xf,0xc(%ebp)
7762 40006fc8:       77 07                   ja     40006fd1 <internal_memalign+0x2c>
7763 40006fca:       c7 45 0c 10 00 00 00    movl   $0x10,0xc(%ebp)
7764 40006fd1:       8b 45 0c                mov    0xc(%ebp),%eax
7765 40006fd4:       83 e8 01                sub    $0x1,%eax
7766 40006fd7:       23 45 0c                and    0xc(%ebp),%eax
7767 40006fda:       85 c0                   test   %eax,%eax
7768 40006fdc:       74 1a                   je     40006ff8 <internal_memalign+0x53>
7769 40006fde:       c7 45 c4 10 00 00 00    movl   $0x10,-0x3c(%ebp)
7770 40006fe5:       eb 03                   jmp    40006fea <internal_memalign+0x45>
7771 40006fe7:       d1 65 c4                shll   -0x3c(%ebp)
7772 40006fea:       8b 45 c4                mov    -0x3c(%ebp),%eax
7773 40006fed:       3b 45 0c                cmp    0xc(%ebp),%eax
7774 40006ff0:       72 f5                   jb     40006fe7 <internal_memalign+0x42>
7775 40006ff2:       8b 45 c4                mov    -0x3c(%ebp),%eax
7776 40006ff5:       89 45 0c                mov    %eax,0xc(%ebp)
7777 40006ff8:       b8 c0 ff ff ff          mov    $0xffffffc0,%eax
7778 40006ffd:       2b 45 0c                sub    0xc(%ebp),%eax
7779 40007000:       3b 45 10                cmp    0x10(%ebp),%eax
7780 40007003:       77 19                   ja     4000701e <internal_memalign+0x79>
7781 40007005:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
7782 40007009:       0f 84 2a 02 00 00       je     40007239 <internal_memalign+0x294>
7783 4000700f:       c7 05 10 1c 01 40 31    movl   $0x31,0x40011c10
7784 40007016:       00 00 00 
7785 40007019:       e9 1b 02 00 00          jmp    40007239 <internal_memalign+0x294>
7786 4000701e:       83 7d 10 0a             cmpl   $0xa,0x10(%ebp)
7787 40007022:       76 10                   jbe    40007034 <internal_memalign+0x8f>
7788 40007024:       8b 45 10                mov    0x10(%ebp),%eax
7789 40007027:       83 c0 0b                add    $0xb,%eax
7790 4000702a:       89 c2                   mov    %eax,%edx
7791 4000702c:       83 e2 f8                and    $0xfffffff8,%edx
7792 4000702f:       89 55 b8                mov    %edx,-0x48(%ebp)
7793 40007032:       eb 07                   jmp    4000703b <internal_memalign+0x96>
7794 40007034:       c7 45 b8 10 00 00 00    movl   $0x10,-0x48(%ebp)
7795 4000703b:       8b 4d b8                mov    -0x48(%ebp),%ecx
7796 4000703e:       89 4d c8                mov    %ecx,-0x38(%ebp)
7797 40007041:       8b 55 0c                mov    0xc(%ebp),%edx
7798 40007044:       8b 45 c8                mov    -0x38(%ebp),%eax
7799 40007047:       01 d0                   add    %edx,%eax
7800 40007049:       83 c0 0c                add    $0xc,%eax
7801 4000704c:       89 45 cc                mov    %eax,-0x34(%ebp)
7802 4000704f:       8b 45 cc                mov    -0x34(%ebp),%eax
7803 40007052:       89 04 24                mov    %eax,(%esp)
7804 40007055:       e8 7a 04 00 00          call   400074d4 <malloc>
7805 4000705a:       89 45 d0                mov    %eax,-0x30(%ebp)
7806 4000705d:       83 7d d0 00             cmpl   $0x0,-0x30(%ebp)
7807 40007061:       0f 84 d2 01 00 00       je     40007239 <internal_memalign+0x294>
7808 40007067:       c7 45 d4 00 00 00 00    movl   $0x0,-0x2c(%ebp)
7809 4000706e:       c7 45 d8 00 00 00 00    movl   $0x0,-0x28(%ebp)
7810 40007075:       8b 45 d0                mov    -0x30(%ebp),%eax
7811 40007078:       83 e8 08                sub    $0x8,%eax
7812 4000707b:       89 45 dc                mov    %eax,-0x24(%ebp)
7813 4000707e:       8b 45 d0                mov    -0x30(%ebp),%eax
7814 40007081:       89 45 ac                mov    %eax,-0x54(%ebp)
7815 40007084:       8b 45 ac                mov    -0x54(%ebp),%eax
7816 40007087:       ba 00 00 00 00          mov    $0x0,%edx
7817 4000708c:       f7 75 0c                divl   0xc(%ebp)
7818 4000708f:       89 d0                   mov    %edx,%eax
7819 40007091:       85 c0                   test   %eax,%eax
7820 40007093:       0f 84 d7 00 00 00       je     40007170 <internal_memalign+0x1cb>
7821 40007099:       8b 45 0c                mov    0xc(%ebp),%eax
7822 4000709c:       83 e8 01                sub    $0x1,%eax
7823 4000709f:       03 45 d0                add    -0x30(%ebp),%eax
7824 400070a2:       89 c2                   mov    %eax,%edx
7825 400070a4:       8b 45 0c                mov    0xc(%ebp),%eax
7826 400070a7:       f7 d8                   neg    %eax
7827 400070a9:       21 d0                   and    %edx,%eax
7828 400070ab:       83 e8 08                sub    $0x8,%eax
7829 400070ae:       89 45 e0                mov    %eax,-0x20(%ebp)
7830 400070b1:       8b 55 e0                mov    -0x20(%ebp),%edx
7831 400070b4:       8b 45 dc                mov    -0x24(%ebp),%eax
7832 400070b7:       89 d1                   mov    %edx,%ecx
7833 400070b9:       29 c1                   sub    %eax,%ecx
7834 400070bb:       89 c8                   mov    %ecx,%eax
7835 400070bd:       83 f8 0f                cmp    $0xf,%eax
7836 400070c0:       77 0d                   ja     400070cf <internal_memalign+0x12a>
7837 400070c2:       8b 55 0c                mov    0xc(%ebp),%edx
7838 400070c5:       8b 45 e0                mov    -0x20(%ebp),%eax
7839 400070c8:       01 d0                   add    %edx,%eax
7840 400070ca:       89 45 bc                mov    %eax,-0x44(%ebp)
7841 400070cd:       eb 06                   jmp    400070d5 <internal_memalign+0x130>
7842 400070cf:       8b 45 e0                mov    -0x20(%ebp),%eax
7843 400070d2:       89 45 bc                mov    %eax,-0x44(%ebp)
7844 400070d5:       8b 55 bc                mov    -0x44(%ebp),%edx
7845 400070d8:       89 55 e4                mov    %edx,-0x1c(%ebp)
7846 400070db:       8b 45 e4                mov    -0x1c(%ebp),%eax
7847 400070de:       89 45 e8                mov    %eax,-0x18(%ebp)
7848 400070e1:       8b 55 e4                mov    -0x1c(%ebp),%edx
7849 400070e4:       8b 45 dc                mov    -0x24(%ebp),%eax
7850 400070e7:       89 d1                   mov    %edx,%ecx
7851 400070e9:       29 c1                   sub    %eax,%ecx
7852 400070eb:       89 c8                   mov    %ecx,%eax
7853 400070ed:       89 45 ec                mov    %eax,-0x14(%ebp)
7854 400070f0:       8b 45 dc                mov    -0x24(%ebp),%eax
7855 400070f3:       8b 40 04                mov    0x4(%eax),%eax
7856 400070f6:       83 e0 fc                and    $0xfffffffc,%eax
7857 400070f9:       2b 45 ec                sub    -0x14(%ebp),%eax
7858 400070fc:       89 45 f0                mov    %eax,-0x10(%ebp)
7859 400070ff:       8b 45 e8                mov    -0x18(%ebp),%eax
7860 40007102:       8b 40 04                mov    0x4(%eax),%eax
7861 40007105:       83 e0 01                and    $0x1,%eax
7862 40007108:       0b 45 f0                or     -0x10(%ebp),%eax
7863 4000710b:       89 c2                   mov    %eax,%edx
7864 4000710d:       83 ca 02                or     $0x2,%edx
7865 40007110:       8b 45 e8                mov    -0x18(%ebp),%eax
7866 40007113:       89 50 04                mov    %edx,0x4(%eax)
7867 40007116:       8b 55 f0                mov    -0x10(%ebp),%edx
7868 40007119:       8b 45 e8                mov    -0x18(%ebp),%eax
7869 4000711c:       8d 0c 10                lea    (%eax,%edx,1),%ecx
7870 4000711f:       8b 55 f0                mov    -0x10(%ebp),%edx
7871 40007122:       8b 45 e8                mov    -0x18(%ebp),%eax
7872 40007125:       01 d0                   add    %edx,%eax
7873 40007127:       8b 40 04                mov    0x4(%eax),%eax
7874 4000712a:       83 c8 01                or     $0x1,%eax
7875 4000712d:       89 41 04                mov    %eax,0x4(%ecx)
7876 40007130:       8b 45 dc                mov    -0x24(%ebp),%eax
7877 40007133:       8b 40 04                mov    0x4(%eax),%eax
7878 40007136:       83 e0 01                and    $0x1,%eax
7879 40007139:       0b 45 ec                or     -0x14(%ebp),%eax
7880 4000713c:       89 c2                   mov    %eax,%edx
7881 4000713e:       83 ca 02                or     $0x2,%edx
7882 40007141:       8b 45 dc                mov    -0x24(%ebp),%eax
7883 40007144:       89 50 04                mov    %edx,0x4(%eax)
7884 40007147:       8b 55 ec                mov    -0x14(%ebp),%edx
7885 4000714a:       8b 45 dc                mov    -0x24(%ebp),%eax
7886 4000714d:       8d 0c 10                lea    (%eax,%edx,1),%ecx
7887 40007150:       8b 55 ec                mov    -0x14(%ebp),%edx
7888 40007153:       8b 45 dc                mov    -0x24(%ebp),%eax
7889 40007156:       01 d0                   add    %edx,%eax
7890 40007158:       8b 40 04                mov    0x4(%eax),%eax
7891 4000715b:       83 c8 01                or     $0x1,%eax
7892 4000715e:       89 41 04                mov    %eax,0x4(%ecx)
7893 40007161:       8b 45 dc                mov    -0x24(%ebp),%eax
7894 40007164:       83 c0 08                add    $0x8,%eax
7895 40007167:       89 45 d4                mov    %eax,-0x2c(%ebp)
7896 4000716a:       8b 45 e8                mov    -0x18(%ebp),%eax
7897 4000716d:       89 45 dc                mov    %eax,-0x24(%ebp)
7898 40007170:       8b 45 dc                mov    -0x24(%ebp),%eax
7899 40007173:       8b 40 04                mov    0x4(%eax),%eax
7900 40007176:       83 e0 fc                and    $0xfffffffc,%eax
7901 40007179:       89 45 f4                mov    %eax,-0xc(%ebp)
7902 4000717c:       8b 45 c8                mov    -0x38(%ebp),%eax
7903 4000717f:       83 c0 10                add    $0x10,%eax
7904 40007182:       3b 45 f4                cmp    -0xc(%ebp),%eax
7905 40007185:       0f 83 81 00 00 00       jae    4000720c <internal_memalign+0x267>
7906 4000718b:       8b 55 c8                mov    -0x38(%ebp),%edx
7907 4000718e:       8b 45 f4                mov    -0xc(%ebp),%eax
7908 40007191:       29 d0                   sub    %edx,%eax
7909 40007193:       89 45 f8                mov    %eax,-0x8(%ebp)
7910 40007196:       8b 55 c8                mov    -0x38(%ebp),%edx
7911 40007199:       8b 45 dc                mov    -0x24(%ebp),%eax
7912 4000719c:       01 d0                   add    %edx,%eax
7913 4000719e:       89 45 fc                mov    %eax,-0x4(%ebp)
7914 400071a1:       8b 45 dc                mov    -0x24(%ebp),%eax
7915 400071a4:       8b 40 04                mov    0x4(%eax),%eax
7916 400071a7:       83 e0 01                and    $0x1,%eax
7917 400071aa:       0b 45 c8                or     -0x38(%ebp),%eax
7918 400071ad:       89 c2                   mov    %eax,%edx
7919 400071af:       83 ca 02                or     $0x2,%edx
7920 400071b2:       8b 45 dc                mov    -0x24(%ebp),%eax
7921 400071b5:       89 50 04                mov    %edx,0x4(%eax)
7922 400071b8:       8b 55 c8                mov    -0x38(%ebp),%edx
7923 400071bb:       8b 45 dc                mov    -0x24(%ebp),%eax
7924 400071be:       8d 0c 10                lea    (%eax,%edx,1),%ecx
7925 400071c1:       8b 55 c8                mov    -0x38(%ebp),%edx
7926 400071c4:       8b 45 dc                mov    -0x24(%ebp),%eax
7927 400071c7:       01 d0                   add    %edx,%eax
7928 400071c9:       8b 40 04                mov    0x4(%eax),%eax
7929 400071cc:       83 c8 01                or     $0x1,%eax
7930 400071cf:       89 41 04                mov    %eax,0x4(%ecx)
7931 400071d2:       8b 45 fc                mov    -0x4(%ebp),%eax
7932 400071d5:       8b 40 04                mov    0x4(%eax),%eax
7933 400071d8:       83 e0 01                and    $0x1,%eax
7934 400071db:       0b 45 f8                or     -0x8(%ebp),%eax
7935 400071de:       89 c2                   mov    %eax,%edx
7936 400071e0:       83 ca 02                or     $0x2,%edx
7937 400071e3:       8b 45 fc                mov    -0x4(%ebp),%eax
7938 400071e6:       89 50 04                mov    %edx,0x4(%eax)
7939 400071e9:       8b 55 f8                mov    -0x8(%ebp),%edx
7940 400071ec:       8b 45 fc                mov    -0x4(%ebp),%eax
7941 400071ef:       8d 0c 10                lea    (%eax,%edx,1),%ecx
7942 400071f2:       8b 55 f8                mov    -0x8(%ebp),%edx
7943 400071f5:       8b 45 fc                mov    -0x4(%ebp),%eax
7944 400071f8:       01 d0                   add    %edx,%eax
7945 400071fa:       8b 40 04                mov    0x4(%eax),%eax
7946 400071fd:       83 c8 01                or     $0x1,%eax
7947 40007200:       89 41 04                mov    %eax,0x4(%ecx)
7948 40007203:       8b 45 fc                mov    -0x4(%ebp),%eax
7949 40007206:       83 c0 08                add    $0x8,%eax
7950 40007209:       89 45 d8                mov    %eax,-0x28(%ebp)
7951 4000720c:       83 7d d4 00             cmpl   $0x0,-0x2c(%ebp)
7952 40007210:       74 0b                   je     4000721d <internal_memalign+0x278>
7953 40007212:       8b 45 d4                mov    -0x2c(%ebp),%eax
7954 40007215:       89 04 24                mov    %eax,(%esp)
7955 40007218:       e8 6e 07 00 00          call   4000798b <free>
7956 4000721d:       83 7d d8 00             cmpl   $0x0,-0x28(%ebp)
7957 40007221:       74 0b                   je     4000722e <internal_memalign+0x289>
7958 40007223:       8b 45 d8                mov    -0x28(%ebp),%eax
7959 40007226:       89 04 24                mov    %eax,(%esp)
7960 40007229:       e8 5d 07 00 00          call   4000798b <free>
7961 4000722e:       8b 45 dc                mov    -0x24(%ebp),%eax
7962 40007231:       83 c0 08                add    $0x8,%eax
7963 40007234:       89 45 b4                mov    %eax,-0x4c(%ebp)
7964 40007237:       eb 07                   jmp    40007240 <internal_memalign+0x29b>
7965 40007239:       c7 45 b4 00 00 00 00    movl   $0x0,-0x4c(%ebp)
7966 40007240:       8b 45 b4                mov    -0x4c(%ebp),%eax
7967 40007243:       c9                      leave  
7968 40007244:       c3                      ret    
7970 40007245 <ialloc>:
7971 40007245:       55                      push   %ebp
7972 40007246:       89 e5                   mov    %esp,%ebp
7973 40007248:       83 ec 58                sub    $0x58,%esp
7974 4000724b:       83 7d 18 00             cmpl   $0x0,0x18(%ebp)
7975 4000724f:       74 20                   je     40007271 <ialloc+0x2c>
7976 40007251:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
7977 40007255:       75 0b                   jne    40007262 <ialloc+0x1d>
7978 40007257:       8b 45 18                mov    0x18(%ebp),%eax
7979 4000725a:       89 45 bc                mov    %eax,-0x44(%ebp)
7980 4000725d:       e9 6d 02 00 00          jmp    400074cf <ialloc+0x28a>
7981 40007262:       8b 45 18                mov    0x18(%ebp),%eax
7982 40007265:       89 45 e8                mov    %eax,-0x18(%ebp)
7983 40007268:       c7 45 d8 00 00 00 00    movl   $0x0,-0x28(%ebp)
7984 4000726f:       eb 4f                   jmp    400072c0 <ialloc+0x7b>
7985 40007271:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
7986 40007275:       75 14                   jne    4000728b <ialloc+0x46>
7987 40007277:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
7988 4000727e:       e8 51 02 00 00          call   400074d4 <malloc>
7989 40007283:       89 45 bc                mov    %eax,-0x44(%ebp)
7990 40007286:       e9 44 02 00 00          jmp    400074cf <ialloc+0x28a>
7991 4000728b:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
7992 40007292:       8b 45 0c                mov    0xc(%ebp),%eax
7993 40007295:       c1 e0 02                shl    $0x2,%eax
7994 40007298:       83 f8 0a                cmp    $0xa,%eax
7995 4000729b:       76 16                   jbe    400072b3 <ialloc+0x6e>
7996 4000729d:       8b 45 0c                mov    0xc(%ebp),%eax
7997 400072a0:       83 c0 01                add    $0x1,%eax
7998 400072a3:       c1 e0 02                shl    $0x2,%eax
7999 400072a6:       83 c0 07                add    $0x7,%eax
8000 400072a9:       89 c2                   mov    %eax,%edx
8001 400072ab:       83 e2 f8                and    $0xfffffff8,%edx
8002 400072ae:       89 55 c0                mov    %edx,-0x40(%ebp)
8003 400072b1:       eb 07                   jmp    400072ba <ialloc+0x75>
8004 400072b3:       c7 45 c0 10 00 00 00    movl   $0x10,-0x40(%ebp)
8005 400072ba:       8b 45 c0                mov    -0x40(%ebp),%eax
8006 400072bd:       89 45 d8                mov    %eax,-0x28(%ebp)
8007 400072c0:       8b 45 14                mov    0x14(%ebp),%eax
8008 400072c3:       83 e0 01                and    $0x1,%eax
8009 400072c6:       84 c0                   test   %al,%al
8010 400072c8:       74 35                   je     400072ff <ialloc+0xba>
8011 400072ca:       8b 45 10                mov    0x10(%ebp),%eax
8012 400072cd:       8b 00                   mov    (%eax),%eax
8013 400072cf:       83 f8 0a                cmp    $0xa,%eax
8014 400072d2:       76 12                   jbe    400072e6 <ialloc+0xa1>
8015 400072d4:       8b 45 10                mov    0x10(%ebp),%eax
8016 400072d7:       8b 00                   mov    (%eax),%eax
8017 400072d9:       83 c0 0b                add    $0xb,%eax
8018 400072dc:       89 c2                   mov    %eax,%edx
8019 400072de:       83 e2 f8                and    $0xfffffff8,%edx
8020 400072e1:       89 55 c4                mov    %edx,-0x3c(%ebp)
8021 400072e4:       eb 07                   jmp    400072ed <ialloc+0xa8>
8022 400072e6:       c7 45 c4 10 00 00 00    movl   $0x10,-0x3c(%ebp)
8023 400072ed:       8b 45 c4                mov    -0x3c(%ebp),%eax
8024 400072f0:       89 45 d0                mov    %eax,-0x30(%ebp)
8025 400072f3:       8b 45 0c                mov    0xc(%ebp),%eax
8026 400072f6:       0f af 45 d0             imul   -0x30(%ebp),%eax
8027 400072fa:       89 45 d4                mov    %eax,-0x2c(%ebp)
8028 400072fd:       eb 58                   jmp    40007357 <ialloc+0x112>
8029 400072ff:       c7 45 d0 00 00 00 00    movl   $0x0,-0x30(%ebp)
8030 40007306:       c7 45 d4 00 00 00 00    movl   $0x0,-0x2c(%ebp)
8031 4000730d:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
8032 40007314:       eb 39                   jmp    4000734f <ialloc+0x10a>
8033 40007316:       8b 45 f8                mov    -0x8(%ebp),%eax
8034 40007319:       c1 e0 02                shl    $0x2,%eax
8035 4000731c:       03 45 10                add    0x10(%ebp),%eax
8036 4000731f:       8b 00                   mov    (%eax),%eax
8037 40007321:       83 f8 0a                cmp    $0xa,%eax
8038 40007324:       76 18                   jbe    4000733e <ialloc+0xf9>
8039 40007326:       8b 45 f8                mov    -0x8(%ebp),%eax
8040 40007329:       c1 e0 02                shl    $0x2,%eax
8041 4000732c:       03 45 10                add    0x10(%ebp),%eax
8042 4000732f:       8b 00                   mov    (%eax),%eax
8043 40007331:       83 c0 0b                add    $0xb,%eax
8044 40007334:       89 c2                   mov    %eax,%edx
8045 40007336:       83 e2 f8                and    $0xfffffff8,%edx
8046 40007339:       89 55 c8                mov    %edx,-0x38(%ebp)
8047 4000733c:       eb 07                   jmp    40007345 <ialloc+0x100>
8048 4000733e:       c7 45 c8 10 00 00 00    movl   $0x10,-0x38(%ebp)
8049 40007345:       8b 45 c8                mov    -0x38(%ebp),%eax
8050 40007348:       01 45 d4                add    %eax,-0x2c(%ebp)
8051 4000734b:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
8052 4000734f:       8b 45 f8                mov    -0x8(%ebp),%eax
8053 40007352:       3b 45 0c                cmp    0xc(%ebp),%eax
8054 40007355:       75 bf                   jne    40007316 <ialloc+0xd1>
8055 40007357:       8b 55 d8                mov    -0x28(%ebp),%edx
8056 4000735a:       8b 45 d4                mov    -0x2c(%ebp),%eax
8057 4000735d:       01 d0                   add    %edx,%eax
8058 4000735f:       89 45 f4                mov    %eax,-0xc(%ebp)
8059 40007362:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
8060 40007369:       8b 45 08                mov    0x8(%ebp),%eax
8061 4000736c:       8b 90 b4 01 00 00       mov    0x1b4(%eax),%edx
8062 40007372:       8b 45 08                mov    0x8(%ebp),%eax
8063 40007375:       89 90 b4 01 00 00       mov    %edx,0x1b4(%eax)
8064 4000737b:       8b 45 f4                mov    -0xc(%ebp),%eax
8065 4000737e:       83 e8 04                sub    $0x4,%eax
8066 40007381:       89 04 24                mov    %eax,(%esp)
8067 40007384:       e8 4b 01 00 00          call   400074d4 <malloc>
8068 40007389:       89 45 dc                mov    %eax,-0x24(%ebp)
8069 4000738c:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
8070 40007390:       74 12                   je     400073a4 <ialloc+0x15f>
8071 40007392:       8b 45 08                mov    0x8(%ebp),%eax
8072 40007395:       8b 90 b4 01 00 00       mov    0x1b4(%eax),%edx
8073 4000739b:       8b 45 08                mov    0x8(%ebp),%eax
8074 4000739e:       89 90 b4 01 00 00       mov    %edx,0x1b4(%eax)
8075 400073a4:       83 7d dc 00             cmpl   $0x0,-0x24(%ebp)
8076 400073a8:       75 0c                   jne    400073b6 <ialloc+0x171>
8077 400073aa:       c7 45 bc 00 00 00 00    movl   $0x0,-0x44(%ebp)
8078 400073b1:       e9 19 01 00 00          jmp    400074cf <ialloc+0x28a>
8079 400073b6:       8b 45 dc                mov    -0x24(%ebp),%eax
8080 400073b9:       83 e8 08                sub    $0x8,%eax
8081 400073bc:       89 45 e0                mov    %eax,-0x20(%ebp)
8082 400073bf:       8b 45 e0                mov    -0x20(%ebp),%eax
8083 400073c2:       8b 40 04                mov    0x4(%eax),%eax
8084 400073c5:       83 e0 fc                and    $0xfffffffc,%eax
8085 400073c8:       89 45 e4                mov    %eax,-0x1c(%ebp)
8086 400073cb:       8b 45 14                mov    0x14(%ebp),%eax
8087 400073ce:       83 e0 02                and    $0x2,%eax
8088 400073d1:       85 c0                   test   %eax,%eax
8089 400073d3:       74 22                   je     400073f7 <ialloc+0x1b2>
8090 400073d5:       8b 55 d8                mov    -0x28(%ebp),%edx
8091 400073d8:       8b 45 e4                mov    -0x1c(%ebp),%eax
8092 400073db:       29 d0                   sub    %edx,%eax
8093 400073dd:       83 e8 04                sub    $0x4,%eax
8094 400073e0:       89 44 24 08             mov    %eax,0x8(%esp)
8095 400073e4:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
8096 400073eb:       00 
8097 400073ec:       8b 45 dc                mov    -0x24(%ebp),%eax
8098 400073ef:       89 04 24                mov    %eax,(%esp)
8099 400073f2:       e8 52 34 00 00          call   4000a849 <memset>
8100 400073f7:       83 7d e8 00             cmpl   $0x0,-0x18(%ebp)
8101 400073fb:       75 33                   jne    40007430 <ialloc+0x1eb>
8102 400073fd:       8b 55 d4                mov    -0x2c(%ebp),%edx
8103 40007400:       8b 45 e0                mov    -0x20(%ebp),%eax
8104 40007403:       01 d0                   add    %edx,%eax
8105 40007405:       89 45 ec                mov    %eax,-0x14(%ebp)
8106 40007408:       8b 55 d4                mov    -0x2c(%ebp),%edx
8107 4000740b:       8b 45 e4                mov    -0x1c(%ebp),%eax
8108 4000740e:       29 d0                   sub    %edx,%eax
8109 40007410:       89 45 fc                mov    %eax,-0x4(%ebp)
8110 40007413:       8b 45 ec                mov    -0x14(%ebp),%eax
8111 40007416:       83 c0 08                add    $0x8,%eax
8112 40007419:       89 45 e8                mov    %eax,-0x18(%ebp)
8113 4000741c:       8b 45 fc                mov    -0x4(%ebp),%eax
8114 4000741f:       89 c2                   mov    %eax,%edx
8115 40007421:       83 ca 03                or     $0x3,%edx
8116 40007424:       8b 45 ec                mov    -0x14(%ebp),%eax
8117 40007427:       89 50 04                mov    %edx,0x4(%eax)
8118 4000742a:       8b 45 d4                mov    -0x2c(%ebp),%eax
8119 4000742d:       89 45 e4                mov    %eax,-0x1c(%ebp)
8120 40007430:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
8121 40007437:       8b 45 f8                mov    -0x8(%ebp),%eax
8122 4000743a:       c1 e0 02                shl    $0x2,%eax
8123 4000743d:       89 c2                   mov    %eax,%edx
8124 4000743f:       03 55 e8                add    -0x18(%ebp),%edx
8125 40007442:       8b 45 e0                mov    -0x20(%ebp),%eax
8126 40007445:       83 c0 08                add    $0x8,%eax
8127 40007448:       89 02                   mov    %eax,(%edx)
8128 4000744a:       8b 45 0c                mov    0xc(%ebp),%eax
8129 4000744d:       83 e8 01                sub    $0x1,%eax
8130 40007450:       3b 45 f8                cmp    -0x8(%ebp),%eax
8131 40007453:       74 66                   je     400074bb <ialloc+0x276>
8132 40007455:       83 7d d0 00             cmpl   $0x0,-0x30(%ebp)
8133 40007459:       74 08                   je     40007463 <ialloc+0x21e>
8134 4000745b:       8b 45 d0                mov    -0x30(%ebp),%eax
8135 4000745e:       89 45 f4                mov    %eax,-0xc(%ebp)
8136 40007461:       eb 35                   jmp    40007498 <ialloc+0x253>
8137 40007463:       8b 45 f8                mov    -0x8(%ebp),%eax
8138 40007466:       c1 e0 02                shl    $0x2,%eax
8139 40007469:       03 45 10                add    0x10(%ebp),%eax
8140 4000746c:       8b 00                   mov    (%eax),%eax
8141 4000746e:       83 f8 0a                cmp    $0xa,%eax
8142 40007471:       76 18                   jbe    4000748b <ialloc+0x246>
8143 40007473:       8b 45 f8                mov    -0x8(%ebp),%eax
8144 40007476:       c1 e0 02                shl    $0x2,%eax
8145 40007479:       03 45 10                add    0x10(%ebp),%eax
8146 4000747c:       8b 00                   mov    (%eax),%eax
8147 4000747e:       83 c0 0b                add    $0xb,%eax
8148 40007481:       89 c2                   mov    %eax,%edx
8149 40007483:       83 e2 f8                and    $0xfffffff8,%edx
8150 40007486:       89 55 cc                mov    %edx,-0x34(%ebp)
8151 40007489:       eb 07                   jmp    40007492 <ialloc+0x24d>
8152 4000748b:       c7 45 cc 10 00 00 00    movl   $0x10,-0x34(%ebp)
8153 40007492:       8b 45 cc                mov    -0x34(%ebp),%eax
8154 40007495:       89 45 f4                mov    %eax,-0xc(%ebp)
8155 40007498:       8b 45 f4                mov    -0xc(%ebp),%eax
8156 4000749b:       29 45 e4                sub    %eax,-0x1c(%ebp)
8157 4000749e:       8b 45 f4                mov    -0xc(%ebp),%eax
8158 400074a1:       89 c2                   mov    %eax,%edx
8159 400074a3:       83 ca 03                or     $0x3,%edx
8160 400074a6:       8b 45 e0                mov    -0x20(%ebp),%eax
8161 400074a9:       89 50 04                mov    %edx,0x4(%eax)
8162 400074ac:       8b 45 f4                mov    -0xc(%ebp),%eax
8163 400074af:       01 45 e0                add    %eax,-0x20(%ebp)
8164 400074b2:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
8165 400074b6:       e9 7c ff ff ff          jmp    40007437 <ialloc+0x1f2>
8166 400074bb:       8b 45 e4                mov    -0x1c(%ebp),%eax
8167 400074be:       89 c2                   mov    %eax,%edx
8168 400074c0:       83 ca 03                or     $0x3,%edx
8169 400074c3:       8b 45 e0                mov    -0x20(%ebp),%eax
8170 400074c6:       89 50 04                mov    %edx,0x4(%eax)
8171 400074c9:       8b 55 e8                mov    -0x18(%ebp),%edx
8172 400074cc:       89 55 bc                mov    %edx,-0x44(%ebp)
8173 400074cf:       8b 45 bc                mov    -0x44(%ebp),%eax
8174 400074d2:       c9                      leave  
8175 400074d3:       c3                      ret    
8177 400074d4 <malloc>:
8178 400074d4:       55                      push   %ebp
8179 400074d5:       89 e5                   mov    %esp,%ebp
8180 400074d7:       53                      push   %ebx
8181 400074d8:       81 ec 84 00 00 00       sub    $0x84,%esp
8182 400074de:       81 7d 08 f4 00 00 00    cmpl   $0xf4,0x8(%ebp)
8183 400074e5:       0f 87 18 03 00 00       ja     40007803 <malloc+0x32f>
8184 400074eb:       83 7d 08 0a             cmpl   $0xa,0x8(%ebp)
8185 400074ef:       76 10                   jbe    40007501 <malloc+0x2d>
8186 400074f1:       8b 45 08                mov    0x8(%ebp),%eax
8187 400074f4:       83 c0 0b                add    $0xb,%eax
8188 400074f7:       89 c2                   mov    %eax,%edx
8189 400074f9:       83 e2 f8                and    $0xfffffff8,%edx
8190 400074fc:       89 55 88                mov    %edx,-0x78(%ebp)
8191 400074ff:       eb 07                   jmp    40007508 <malloc+0x34>
8192 40007501:       c7 45 88 10 00 00 00    movl   $0x10,-0x78(%ebp)
8193 40007508:       8b 45 88                mov    -0x78(%ebp),%eax
8194 4000750b:       89 45 90                mov    %eax,-0x70(%ebp)
8195 4000750e:       8b 45 90                mov    -0x70(%ebp),%eax
8196 40007511:       c1 e8 03                shr    $0x3,%eax
8197 40007514:       89 45 94                mov    %eax,-0x6c(%ebp)
8198 40007517:       a1 60 05 01 40          mov    0x40010560,%eax
8199 4000751c:       8b 4d 94                mov    -0x6c(%ebp),%ecx
8200 4000751f:       d3 e8                   shr    %cl,%eax
8201 40007521:       89 45 98                mov    %eax,-0x68(%ebp)
8202 40007524:       8b 45 98                mov    -0x68(%ebp),%eax
8203 40007527:       83 e0 03                and    $0x3,%eax
8204 4000752a:       85 c0                   test   %eax,%eax
8205 4000752c:       0f 84 c1 00 00 00       je     400075f3 <malloc+0x11f>
8206 40007532:       8b 45 98                mov    -0x68(%ebp),%eax
8207 40007535:       83 e0 01                and    $0x1,%eax
8208 40007538:       85 c0                   test   %eax,%eax
8209 4000753a:       0f 94 c0                sete   %al
8210 4000753d:       0f b6 c0                movzbl %al,%eax
8211 40007540:       01 45 94                add    %eax,-0x6c(%ebp)
8212 40007543:       ba 84 05 01 40          mov    $0x40010584,%edx
8213 40007548:       8b 45 94                mov    -0x6c(%ebp),%eax
8214 4000754b:       c1 e0 03                shl    $0x3,%eax
8215 4000754e:       8d 04 02                lea    (%edx,%eax,1),%eax
8216 40007551:       89 45 9c                mov    %eax,-0x64(%ebp)
8217 40007554:       8b 45 9c                mov    -0x64(%ebp),%eax
8218 40007557:       8b 40 08                mov    0x8(%eax),%eax
8219 4000755a:       89 45 a0                mov    %eax,-0x60(%ebp)
8220 4000755d:       8b 45 a0                mov    -0x60(%ebp),%eax
8221 40007560:       8b 40 08                mov    0x8(%eax),%eax
8222 40007563:       89 45 a4                mov    %eax,-0x5c(%ebp)
8223 40007566:       8b 45 9c                mov    -0x64(%ebp),%eax
8224 40007569:       3b 45 a4                cmp    -0x5c(%ebp),%eax
8225 4000756c:       75 1b                   jne    40007589 <malloc+0xb5>
8226 4000756e:       8b 15 60 05 01 40       mov    0x40010560,%edx
8227 40007574:       8b 4d 94                mov    -0x6c(%ebp),%ecx
8228 40007577:       b8 01 00 00 00          mov    $0x1,%eax
8229 4000757c:       d3 e0                   shl    %cl,%eax
8230 4000757e:       f7 d0                   not    %eax
8231 40007580:       21 d0                   and    %edx,%eax
8232 40007582:       a3 60 05 01 40          mov    %eax,0x40010560
8233 40007587:       eb 2e                   jmp    400075b7 <malloc+0xe3>
8234 40007589:       8b 15 70 05 01 40       mov    0x40010570,%edx
8235 4000758f:       8b 45 a4                mov    -0x5c(%ebp),%eax
8236 40007592:       39 c2                   cmp    %eax,%edx
8237 40007594:       0f 96 c0                setbe  %al
8238 40007597:       0f b6 c0                movzbl %al,%eax
8239 4000759a:       85 c0                   test   %eax,%eax
8240 4000759c:       74 14                   je     400075b2 <malloc+0xde>
8241 4000759e:       8b 55 9c                mov    -0x64(%ebp),%edx
8242 400075a1:       8b 45 a4                mov    -0x5c(%ebp),%eax
8243 400075a4:       89 42 08                mov    %eax,0x8(%edx)
8244 400075a7:       8b 55 a4                mov    -0x5c(%ebp),%edx
8245 400075aa:       8b 45 9c                mov    -0x64(%ebp),%eax
8246 400075ad:       89 42 0c                mov    %eax,0xc(%edx)
8247 400075b0:       eb 05                   jmp    400075b7 <malloc+0xe3>
8248 400075b2:       e8 19 55 00 00          call   4000cad0 <abort>
8249 400075b7:       8b 45 94                mov    -0x6c(%ebp),%eax
8250 400075ba:       c1 e0 03                shl    $0x3,%eax
8251 400075bd:       89 c2                   mov    %eax,%edx
8252 400075bf:       83 ca 03                or     $0x3,%edx
8253 400075c2:       8b 45 a0                mov    -0x60(%ebp),%eax
8254 400075c5:       89 50 04                mov    %edx,0x4(%eax)
8255 400075c8:       8b 45 94                mov    -0x6c(%ebp),%eax
8256 400075cb:       c1 e0 03                shl    $0x3,%eax
8257 400075ce:       89 c2                   mov    %eax,%edx
8258 400075d0:       03 55 a0                add    -0x60(%ebp),%edx
8259 400075d3:       8b 45 94                mov    -0x6c(%ebp),%eax
8260 400075d6:       c1 e0 03                shl    $0x3,%eax
8261 400075d9:       03 45 a0                add    -0x60(%ebp),%eax
8262 400075dc:       8b 40 04                mov    0x4(%eax),%eax
8263 400075df:       83 c8 01                or     $0x1,%eax
8264 400075e2:       89 42 04                mov    %eax,0x4(%edx)
8265 400075e5:       8b 45 a0                mov    -0x60(%ebp),%eax
8266 400075e8:       83 c0 08                add    $0x8,%eax
8267 400075eb:       89 45 8c                mov    %eax,-0x74(%ebp)
8268 400075ee:       e9 8c 03 00 00          jmp    4000797f <malloc+0x4ab>
8269 400075f3:       a1 68 05 01 40          mov    0x40010568,%eax
8270 400075f8:       3b 45 90                cmp    -0x70(%ebp),%eax
8271 400075fb:       0f 83 46 02 00 00       jae    40007847 <malloc+0x373>
8272 40007601:       83 7d 98 00             cmpl   $0x0,-0x68(%ebp)
8273 40007605:       0f 84 cd 01 00 00       je     400077d8 <malloc+0x304>
8274 4000760b:       8b 4d 94                mov    -0x6c(%ebp),%ecx
8275 4000760e:       8b 45 98                mov    -0x68(%ebp),%eax
8276 40007611:       89 c3                   mov    %eax,%ebx
8277 40007613:       d3 e3                   shl    %cl,%ebx
8278 40007615:       8b 4d 94                mov    -0x6c(%ebp),%ecx
8279 40007618:       b8 01 00 00 00          mov    $0x1,%eax
8280 4000761d:       d3 e0                   shl    %cl,%eax
8281 4000761f:       8d 14 00                lea    (%eax,%eax,1),%edx
8282 40007622:       8b 4d 94                mov    -0x6c(%ebp),%ecx
8283 40007625:       b8 01 00 00 00          mov    $0x1,%eax
8284 4000762a:       d3 e0                   shl    %cl,%eax
8285 4000762c:       01 c0                   add    %eax,%eax
8286 4000762e:       f7 d8                   neg    %eax
8287 40007630:       09 d0                   or     %edx,%eax
8288 40007632:       21 d8                   and    %ebx,%eax
8289 40007634:       89 45 bc                mov    %eax,-0x44(%ebp)
8290 40007637:       8b 45 bc                mov    -0x44(%ebp),%eax
8291 4000763a:       f7 d8                   neg    %eax
8292 4000763c:       23 45 bc                and    -0x44(%ebp),%eax
8293 4000763f:       89 45 c0                mov    %eax,-0x40(%ebp)
8294 40007642:       0f bc 45 c0             bsf    -0x40(%ebp),%eax
8295 40007646:       89 45 c4                mov    %eax,-0x3c(%ebp)
8296 40007649:       8b 45 c4                mov    -0x3c(%ebp),%eax
8297 4000764c:       89 45 b8                mov    %eax,-0x48(%ebp)
8298 4000764f:       ba 84 05 01 40          mov    $0x40010584,%edx
8299 40007654:       8b 45 b8                mov    -0x48(%ebp),%eax
8300 40007657:       c1 e0 03                shl    $0x3,%eax
8301 4000765a:       8d 04 02                lea    (%edx,%eax,1),%eax
8302 4000765d:       89 45 a8                mov    %eax,-0x58(%ebp)
8303 40007660:       8b 45 a8                mov    -0x58(%ebp),%eax
8304 40007663:       8b 40 08                mov    0x8(%eax),%eax
8305 40007666:       89 45 ac                mov    %eax,-0x54(%ebp)
8306 40007669:       8b 45 ac                mov    -0x54(%ebp),%eax
8307 4000766c:       8b 40 08                mov    0x8(%eax),%eax
8308 4000766f:       89 45 c8                mov    %eax,-0x38(%ebp)
8309 40007672:       8b 45 a8                mov    -0x58(%ebp),%eax
8310 40007675:       3b 45 c8                cmp    -0x38(%ebp),%eax
8311 40007678:       75 1b                   jne    40007695 <malloc+0x1c1>
8312 4000767a:       8b 15 60 05 01 40       mov    0x40010560,%edx
8313 40007680:       8b 4d b8                mov    -0x48(%ebp),%ecx
8314 40007683:       b8 01 00 00 00          mov    $0x1,%eax
8315 40007688:       d3 e0                   shl    %cl,%eax
8316 4000768a:       f7 d0                   not    %eax
8317 4000768c:       21 d0                   and    %edx,%eax
8318 4000768e:       a3 60 05 01 40          mov    %eax,0x40010560
8319 40007693:       eb 2e                   jmp    400076c3 <malloc+0x1ef>
8320 40007695:       8b 15 70 05 01 40       mov    0x40010570,%edx
8321 4000769b:       8b 45 c8                mov    -0x38(%ebp),%eax
8322 4000769e:       39 c2                   cmp    %eax,%edx
8323 400076a0:       0f 96 c0                setbe  %al
8324 400076a3:       0f b6 c0                movzbl %al,%eax
8325 400076a6:       85 c0                   test   %eax,%eax
8326 400076a8:       74 14                   je     400076be <malloc+0x1ea>
8327 400076aa:       8b 55 a8                mov    -0x58(%ebp),%edx
8328 400076ad:       8b 45 c8                mov    -0x38(%ebp),%eax
8329 400076b0:       89 42 08                mov    %eax,0x8(%edx)
8330 400076b3:       8b 55 c8                mov    -0x38(%ebp),%edx
8331 400076b6:       8b 45 a8                mov    -0x58(%ebp),%eax
8332 400076b9:       89 42 0c                mov    %eax,0xc(%edx)
8333 400076bc:       eb 05                   jmp    400076c3 <malloc+0x1ef>
8334 400076be:       e8 0d 54 00 00          call   4000cad0 <abort>
8335 400076c3:       8b 45 b8                mov    -0x48(%ebp),%eax
8336 400076c6:       c1 e0 03                shl    $0x3,%eax
8337 400076c9:       2b 45 90                sub    -0x70(%ebp),%eax
8338 400076cc:       89 45 b4                mov    %eax,-0x4c(%ebp)
8339 400076cf:       8b 45 90                mov    -0x70(%ebp),%eax
8340 400076d2:       89 c2                   mov    %eax,%edx
8341 400076d4:       83 ca 03                or     $0x3,%edx
8342 400076d7:       8b 45 ac                mov    -0x54(%ebp),%eax
8343 400076da:       89 50 04                mov    %edx,0x4(%eax)
8344 400076dd:       8b 55 90                mov    -0x70(%ebp),%edx
8345 400076e0:       8b 45 ac                mov    -0x54(%ebp),%eax
8346 400076e3:       01 d0                   add    %edx,%eax
8347 400076e5:       89 45 b0                mov    %eax,-0x50(%ebp)
8348 400076e8:       8b 45 b4                mov    -0x4c(%ebp),%eax
8349 400076eb:       89 c2                   mov    %eax,%edx
8350 400076ed:       83 ca 01                or     $0x1,%edx
8351 400076f0:       8b 45 b0                mov    -0x50(%ebp),%eax
8352 400076f3:       89 50 04                mov    %edx,0x4(%eax)
8353 400076f6:       8b 55 b4                mov    -0x4c(%ebp),%edx
8354 400076f9:       8b 45 b0                mov    -0x50(%ebp),%eax
8355 400076fc:       8d 14 10                lea    (%eax,%edx,1),%edx
8356 400076ff:       8b 45 b4                mov    -0x4c(%ebp),%eax
8357 40007702:       89 02                   mov    %eax,(%edx)
8358 40007704:       a1 68 05 01 40          mov    0x40010568,%eax
8359 40007709:       89 45 cc                mov    %eax,-0x34(%ebp)
8360 4000770c:       83 7d cc 00             cmpl   $0x0,-0x34(%ebp)
8361 40007710:       0f 84 a4 00 00 00       je     400077ba <malloc+0x2e6>
8362 40007716:       a1 74 05 01 40          mov    0x40010574,%eax
8363 4000771b:       89 45 d0                mov    %eax,-0x30(%ebp)
8364 4000771e:       8b 45 cc                mov    -0x34(%ebp),%eax
8365 40007721:       c1 e8 03                shr    $0x3,%eax
8366 40007724:       89 45 d4                mov    %eax,-0x2c(%ebp)
8367 40007727:       ba 84 05 01 40          mov    $0x40010584,%edx
8368 4000772c:       8b 45 d4                mov    -0x2c(%ebp),%eax
8369 4000772f:       c1 e0 03                shl    $0x3,%eax
8370 40007732:       8d 04 02                lea    (%edx,%eax,1),%eax
8371 40007735:       89 45 d8                mov    %eax,-0x28(%ebp)
8372 40007738:       8b 45 d8                mov    -0x28(%ebp),%eax
8373 4000773b:       89 45 dc                mov    %eax,-0x24(%ebp)
8374 4000773e:       8b 15 60 05 01 40       mov    0x40010560,%edx
8375 40007744:       8b 4d d4                mov    -0x2c(%ebp),%ecx
8376 40007747:       b8 01 00 00 00          mov    $0x1,%eax
8377 4000774c:       d3 e0                   shl    %cl,%eax
8378 4000774e:       21 d0                   and    %edx,%eax
8379 40007750:       85 c0                   test   %eax,%eax
8380 40007752:       75 19                   jne    4000776d <malloc+0x299>
8381 40007754:       8b 15 60 05 01 40       mov    0x40010560,%edx
8382 4000775a:       8b 4d d4                mov    -0x2c(%ebp),%ecx
8383 4000775d:       b8 01 00 00 00          mov    $0x1,%eax
8384 40007762:       d3 e0                   shl    %cl,%eax
8385 40007764:       09 d0                   or     %edx,%eax
8386 40007766:       a3 60 05 01 40          mov    %eax,0x40010560
8387 4000776b:       eb 29                   jmp    40007796 <malloc+0x2c2>
8388 4000776d:       8b 45 d8                mov    -0x28(%ebp),%eax
8389 40007770:       8b 40 08                mov    0x8(%eax),%eax
8390 40007773:       89 c2                   mov    %eax,%edx
8391 40007775:       a1 70 05 01 40          mov    0x40010570,%eax
8392 4000777a:       39 c2                   cmp    %eax,%edx
8393 4000777c:       0f 93 c0                setae  %al
8394 4000777f:       0f b6 c0                movzbl %al,%eax
8395 40007782:       85 c0                   test   %eax,%eax
8396 40007784:       74 0b                   je     40007791 <malloc+0x2bd>
8397 40007786:       8b 45 d8                mov    -0x28(%ebp),%eax
8398 40007789:       8b 40 08                mov    0x8(%eax),%eax
8399 4000778c:       89 45 dc                mov    %eax,-0x24(%ebp)
8400 4000778f:       eb 05                   jmp    40007796 <malloc+0x2c2>
8401 40007791:       e8 3a 53 00 00          call   4000cad0 <abort>
8402 40007796:       8b 55 d8                mov    -0x28(%ebp),%edx
8403 40007799:       8b 45 d0                mov    -0x30(%ebp),%eax
8404 4000779c:       89 42 08                mov    %eax,0x8(%edx)
8405 4000779f:       8b 55 dc                mov    -0x24(%ebp),%edx
8406 400077a2:       8b 45 d0                mov    -0x30(%ebp),%eax
8407 400077a5:       89 42 0c                mov    %eax,0xc(%edx)
8408 400077a8:       8b 55 d0                mov    -0x30(%ebp),%edx
8409 400077ab:       8b 45 dc                mov    -0x24(%ebp),%eax
8410 400077ae:       89 42 08                mov    %eax,0x8(%edx)
8411 400077b1:       8b 55 d0                mov    -0x30(%ebp),%edx
8412 400077b4:       8b 45 d8                mov    -0x28(%ebp),%eax
8413 400077b7:       89 42 0c                mov    %eax,0xc(%edx)
8414 400077ba:       8b 45 b4                mov    -0x4c(%ebp),%eax
8415 400077bd:       a3 68 05 01 40          mov    %eax,0x40010568
8416 400077c2:       8b 45 b0                mov    -0x50(%ebp),%eax
8417 400077c5:       a3 74 05 01 40          mov    %eax,0x40010574
8418 400077ca:       8b 45 ac                mov    -0x54(%ebp),%eax
8419 400077cd:       83 c0 08                add    $0x8,%eax
8420 400077d0:       89 45 8c                mov    %eax,-0x74(%ebp)
8421 400077d3:       e9 a7 01 00 00          jmp    4000797f <malloc+0x4ab>
8422 400077d8:       a1 64 05 01 40          mov    0x40010564,%eax
8423 400077dd:       85 c0                   test   %eax,%eax
8424 400077df:       74 66                   je     40007847 <malloc+0x373>
8425 400077e1:       8b 45 90                mov    -0x70(%ebp),%eax
8426 400077e4:       89 44 24 04             mov    %eax,0x4(%esp)
8427 400077e8:       c7 04 24 60 05 01 40    movl   $0x40010560,(%esp)
8428 400077ef:       e8 95 f0 ff ff          call   40006889 <tmalloc_small>
8429 400077f4:       89 45 8c                mov    %eax,-0x74(%ebp)
8430 400077f7:       83 7d 8c 00             cmpl   $0x0,-0x74(%ebp)
8431 400077fb:       0f 85 7e 01 00 00       jne    4000797f <malloc+0x4ab>
8432 40007801:       eb 44                   jmp    40007847 <malloc+0x373>
8433 40007803:       83 7d 08 bf             cmpl   $0xffffffbf,0x8(%ebp)
8434 40007807:       76 09                   jbe    40007812 <malloc+0x33e>
8435 40007809:       c7 45 90 ff ff ff ff    movl   $0xffffffff,-0x70(%ebp)
8436 40007810:       eb 35                   jmp    40007847 <malloc+0x373>
8437 40007812:       8b 45 08                mov    0x8(%ebp),%eax
8438 40007815:       83 c0 0b                add    $0xb,%eax
8439 40007818:       83 e0 f8                and    $0xfffffff8,%eax
8440 4000781b:       89 45 90                mov    %eax,-0x70(%ebp)
8441 4000781e:       a1 64 05 01 40          mov    0x40010564,%eax
8442 40007823:       85 c0                   test   %eax,%eax
8443 40007825:       74 20                   je     40007847 <malloc+0x373>
8444 40007827:       8b 45 90                mov    -0x70(%ebp),%eax
8445 4000782a:       89 44 24 04             mov    %eax,0x4(%esp)
8446 4000782e:       c7 04 24 60 05 01 40    movl   $0x40010560,(%esp)
8447 40007835:       e8 9d e7 ff ff          call   40005fd7 <tmalloc_large>
8448 4000783a:       89 45 8c                mov    %eax,-0x74(%ebp)
8449 4000783d:       83 7d 8c 00             cmpl   $0x0,-0x74(%ebp)
8450 40007841:       0f 85 38 01 00 00       jne    4000797f <malloc+0x4ab>
8451 40007847:       a1 68 05 01 40          mov    0x40010568,%eax
8452 4000784c:       3b 45 90                cmp    -0x70(%ebp),%eax
8453 4000784f:       0f 82 b1 00 00 00       jb     40007906 <malloc+0x432>
8454 40007855:       a1 68 05 01 40          mov    0x40010568,%eax
8455 4000785a:       2b 45 90                sub    -0x70(%ebp),%eax
8456 4000785d:       89 45 e0                mov    %eax,-0x20(%ebp)
8457 40007860:       a1 74 05 01 40          mov    0x40010574,%eax
8458 40007865:       89 45 e4                mov    %eax,-0x1c(%ebp)
8459 40007868:       83 7d e0 0f             cmpl   $0xf,-0x20(%ebp)
8460 4000786c:       76 49                   jbe    400078b7 <malloc+0x3e3>
8461 4000786e:       8b 55 90                mov    -0x70(%ebp),%edx
8462 40007871:       8b 45 e4                mov    -0x1c(%ebp),%eax
8463 40007874:       01 d0                   add    %edx,%eax
8464 40007876:       a3 74 05 01 40          mov    %eax,0x40010574
8465 4000787b:       a1 74 05 01 40          mov    0x40010574,%eax
8466 40007880:       89 45 e8                mov    %eax,-0x18(%ebp)
8467 40007883:       8b 45 e0                mov    -0x20(%ebp),%eax
8468 40007886:       a3 68 05 01 40          mov    %eax,0x40010568
8469 4000788b:       8b 45 e0                mov    -0x20(%ebp),%eax
8470 4000788e:       89 c2                   mov    %eax,%edx
8471 40007890:       83 ca 01                or     $0x1,%edx
8472 40007893:       8b 45 e8                mov    -0x18(%ebp),%eax
8473 40007896:       89 50 04                mov    %edx,0x4(%eax)
8474 40007899:       8b 55 e0                mov    -0x20(%ebp),%edx
8475 4000789c:       8b 45 e8                mov    -0x18(%ebp),%eax
8476 4000789f:       8d 14 10                lea    (%eax,%edx,1),%edx
8477 400078a2:       8b 45 e0                mov    -0x20(%ebp),%eax
8478 400078a5:       89 02                   mov    %eax,(%edx)
8479 400078a7:       8b 45 90                mov    -0x70(%ebp),%eax
8480 400078aa:       89 c2                   mov    %eax,%edx
8481 400078ac:       83 ca 03                or     $0x3,%edx
8482 400078af:       8b 45 e4                mov    -0x1c(%ebp),%eax
8483 400078b2:       89 50 04                mov    %edx,0x4(%eax)
8484 400078b5:       eb 44                   jmp    400078fb <malloc+0x427>
8485 400078b7:       a1 68 05 01 40          mov    0x40010568,%eax
8486 400078bc:       89 45 ec                mov    %eax,-0x14(%ebp)
8487 400078bf:       c7 05 68 05 01 40 00    movl   $0x0,0x40010568
8488 400078c6:       00 00 00 
8489 400078c9:       c7 05 74 05 01 40 00    movl   $0x0,0x40010574
8490 400078d0:       00 00 00 
8491 400078d3:       8b 45 ec                mov    -0x14(%ebp),%eax
8492 400078d6:       89 c2                   mov    %eax,%edx
8493 400078d8:       83 ca 03                or     $0x3,%edx
8494 400078db:       8b 45 e4                mov    -0x1c(%ebp),%eax
8495 400078de:       89 50 04                mov    %edx,0x4(%eax)
8496 400078e1:       8b 55 ec                mov    -0x14(%ebp),%edx
8497 400078e4:       8b 45 e4                mov    -0x1c(%ebp),%eax
8498 400078e7:       8d 0c 10                lea    (%eax,%edx,1),%ecx
8499 400078ea:       8b 55 ec                mov    -0x14(%ebp),%edx
8500 400078ed:       8b 45 e4                mov    -0x1c(%ebp),%eax
8501 400078f0:       01 d0                   add    %edx,%eax
8502 400078f2:       8b 40 04                mov    0x4(%eax),%eax
8503 400078f5:       83 c8 01                or     $0x1,%eax
8504 400078f8:       89 41 04                mov    %eax,0x4(%ecx)
8505 400078fb:       8b 45 e4                mov    -0x1c(%ebp),%eax
8506 400078fe:       83 c0 08                add    $0x8,%eax
8507 40007901:       89 45 8c                mov    %eax,-0x74(%ebp)
8508 40007904:       eb 79                   jmp    4000797f <malloc+0x4ab>
8509 40007906:       a1 6c 05 01 40          mov    0x4001056c,%eax
8510 4000790b:       3b 45 90                cmp    -0x70(%ebp),%eax
8511 4000790e:       76 59                   jbe    40007969 <malloc+0x495>
8512 40007910:       a1 6c 05 01 40          mov    0x4001056c,%eax
8513 40007915:       2b 45 90                sub    -0x70(%ebp),%eax
8514 40007918:       a3 6c 05 01 40          mov    %eax,0x4001056c
8515 4000791d:       a1 6c 05 01 40          mov    0x4001056c,%eax
8516 40007922:       89 45 f0                mov    %eax,-0x10(%ebp)
8517 40007925:       a1 78 05 01 40          mov    0x40010578,%eax
8518 4000792a:       89 45 f4                mov    %eax,-0xc(%ebp)
8519 4000792d:       8b 55 90                mov    -0x70(%ebp),%edx
8520 40007930:       8b 45 f4                mov    -0xc(%ebp),%eax
8521 40007933:       01 d0                   add    %edx,%eax
8522 40007935:       a3 78 05 01 40          mov    %eax,0x40010578
8523 4000793a:       a1 78 05 01 40          mov    0x40010578,%eax
8524 4000793f:       89 45 f8                mov    %eax,-0x8(%ebp)
8525 40007942:       8b 45 f0                mov    -0x10(%ebp),%eax
8526 40007945:       89 c2                   mov    %eax,%edx
8527 40007947:       83 ca 01                or     $0x1,%edx
8528 4000794a:       8b 45 f8                mov    -0x8(%ebp),%eax
8529 4000794d:       89 50 04                mov    %edx,0x4(%eax)
8530 40007950:       8b 45 90                mov    -0x70(%ebp),%eax
8531 40007953:       89 c2                   mov    %eax,%edx
8532 40007955:       83 ca 03                or     $0x3,%edx
8533 40007958:       8b 45 f4                mov    -0xc(%ebp),%eax
8534 4000795b:       89 50 04                mov    %edx,0x4(%eax)
8535 4000795e:       8b 45 f4                mov    -0xc(%ebp),%eax
8536 40007961:       83 c0 08                add    $0x8,%eax
8537 40007964:       89 45 8c                mov    %eax,-0x74(%ebp)
8538 40007967:       eb 16                   jmp    4000797f <malloc+0x4ab>
8539 40007969:       8b 45 90                mov    -0x70(%ebp),%eax
8540 4000796c:       89 44 24 04             mov    %eax,0x4(%esp)
8541 40007970:       c7 04 24 60 05 01 40    movl   $0x40010560,(%esp)
8542 40007977:       e8 fd de ff ff          call   40005879 <sys_alloc>
8543 4000797c:       89 45 8c                mov    %eax,-0x74(%ebp)
8544 4000797f:       8b 45 8c                mov    -0x74(%ebp),%eax
8545 40007982:       81 c4 84 00 00 00       add    $0x84,%esp
8546 40007988:       5b                      pop    %ebx
8547 40007989:       5d                      pop    %ebp
8548 4000798a:       c3                      ret    
8550 4000798b <free>:
8551 4000798b:       55                      push   %ebp
8552 4000798c:       89 e5                   mov    %esp,%ebp
8553 4000798e:       81 ec c8 00 00 00       sub    $0xc8,%esp
8554 40007994:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
8555 40007998:       0f 84 06 0d 00 00       je     400086a4 <free+0xd19>
8556 4000799e:       8b 45 08                mov    0x8(%ebp),%eax
8557 400079a1:       83 e8 08                sub    $0x8,%eax
8558 400079a4:       89 85 50 ff ff ff       mov    %eax,-0xb0(%ebp)
8559 400079aa:       8b 15 70 05 01 40       mov    0x40010570,%edx
8560 400079b0:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
8561 400079b6:       39 c2                   cmp    %eax,%edx
8562 400079b8:       0f 96 c0                setbe  %al
8563 400079bb:       0f b6 c0                movzbl %al,%eax
8564 400079be:       85 c0                   test   %eax,%eax
8565 400079c0:       0f 84 d9 0c 00 00       je     4000869f <free+0xd14>
8566 400079c6:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
8567 400079cc:       8b 40 04                mov    0x4(%eax),%eax
8568 400079cf:       83 e0 02                and    $0x2,%eax
8569 400079d2:       85 c0                   test   %eax,%eax
8570 400079d4:       0f 95 c0                setne  %al
8571 400079d7:       0f b6 c0                movzbl %al,%eax
8572 400079da:       85 c0                   test   %eax,%eax
8573 400079dc:       0f 84 bd 0c 00 00       je     4000869f <free+0xd14>
8574 400079e2:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
8575 400079e8:       8b 40 04                mov    0x4(%eax),%eax
8576 400079eb:       83 e0 fc                and    $0xfffffffc,%eax
8577 400079ee:       89 85 54 ff ff ff       mov    %eax,-0xac(%ebp)
8578 400079f4:       8b 95 54 ff ff ff       mov    -0xac(%ebp),%edx
8579 400079fa:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
8580 40007a00:       01 d0                   add    %edx,%eax
8581 40007a02:       89 85 58 ff ff ff       mov    %eax,-0xa8(%ebp)
8582 40007a08:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
8583 40007a0e:       8b 40 04                mov    0x4(%eax),%eax
8584 40007a11:       83 e0 01                and    $0x1,%eax
8585 40007a14:       85 c0                   test   %eax,%eax
8586 40007a16:       0f 85 cc 04 00 00       jne    40007ee8 <free+0x55d>
8587 40007a1c:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
8588 40007a22:       8b 00                   mov    (%eax),%eax
8589 40007a24:       89 85 5c ff ff ff       mov    %eax,-0xa4(%ebp)
8590 40007a2a:       8b 85 5c ff ff ff       mov    -0xa4(%ebp),%eax
8591 40007a30:       f7 d8                   neg    %eax
8592 40007a32:       03 85 50 ff ff ff       add    -0xb0(%ebp),%eax
8593 40007a38:       89 85 60 ff ff ff       mov    %eax,-0xa0(%ebp)
8594 40007a3e:       8b 85 5c ff ff ff       mov    -0xa4(%ebp),%eax
8595 40007a44:       01 85 54 ff ff ff       add    %eax,-0xac(%ebp)
8596 40007a4a:       8b 85 60 ff ff ff       mov    -0xa0(%ebp),%eax
8597 40007a50:       89 85 50 ff ff ff       mov    %eax,-0xb0(%ebp)
8598 40007a56:       8b 15 70 05 01 40       mov    0x40010570,%edx
8599 40007a5c:       8b 85 60 ff ff ff       mov    -0xa0(%ebp),%eax
8600 40007a62:       39 c2                   cmp    %eax,%edx
8601 40007a64:       0f 96 c0                setbe  %al
8602 40007a67:       0f b6 c0                movzbl %al,%eax
8603 40007a6a:       85 c0                   test   %eax,%eax
8604 40007a6c:       0f 84 2d 0c 00 00       je     4000869f <free+0xd14>
8605 40007a72:       a1 74 05 01 40          mov    0x40010574,%eax
8606 40007a77:       3b 85 50 ff ff ff       cmp    -0xb0(%ebp),%eax
8607 40007a7d:       0f 84 02 04 00 00       je     40007e85 <free+0x4fa>
8608 40007a83:       8b 85 5c ff ff ff       mov    -0xa4(%ebp),%eax
8609 40007a89:       c1 e8 03                shr    $0x3,%eax
8610 40007a8c:       83 f8 1f                cmp    $0x1f,%eax
8611 40007a8f:       0f 87 39 01 00 00       ja     40007bce <free+0x243>
8612 40007a95:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
8613 40007a9b:       8b 40 08                mov    0x8(%eax),%eax
8614 40007a9e:       89 85 64 ff ff ff       mov    %eax,-0x9c(%ebp)
8615 40007aa4:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
8616 40007aaa:       8b 40 0c                mov    0xc(%eax),%eax
8617 40007aad:       89 85 68 ff ff ff       mov    %eax,-0x98(%ebp)
8618 40007ab3:       8b 85 5c ff ff ff       mov    -0xa4(%ebp),%eax
8619 40007ab9:       c1 e8 03                shr    $0x3,%eax
8620 40007abc:       89 85 6c ff ff ff       mov    %eax,-0x94(%ebp)
8621 40007ac2:       8b 85 64 ff ff ff       mov    -0x9c(%ebp),%eax
8622 40007ac8:       3b 85 68 ff ff ff       cmp    -0x98(%ebp),%eax
8623 40007ace:       75 21                   jne    40007af1 <free+0x166>
8624 40007ad0:       8b 15 60 05 01 40       mov    0x40010560,%edx
8625 40007ad6:       8b 8d 6c ff ff ff       mov    -0x94(%ebp),%ecx
8626 40007adc:       b8 01 00 00 00          mov    $0x1,%eax
8627 40007ae1:       d3 e0                   shl    %cl,%eax
8628 40007ae3:       f7 d0                   not    %eax
8629 40007ae5:       21 d0                   and    %edx,%eax
8630 40007ae7:       a3 60 05 01 40          mov    %eax,0x40010560
8631 40007aec:       e9 f7 03 00 00          jmp    40007ee8 <free+0x55d>
8632 40007af1:       ba 84 05 01 40          mov    $0x40010584,%edx
8633 40007af6:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
8634 40007afc:       c1 e0 03                shl    $0x3,%eax
8635 40007aff:       8d 04 02                lea    (%edx,%eax,1),%eax
8636 40007b02:       3b 85 64 ff ff ff       cmp    -0x9c(%ebp),%eax
8637 40007b08:       0f 94 c0                sete   %al
8638 40007b0b:       0f b6 c0                movzbl %al,%eax
8639 40007b0e:       85 c0                   test   %eax,%eax
8640 40007b10:       75 18                   jne    40007b2a <free+0x19f>
8641 40007b12:       8b 15 70 05 01 40       mov    0x40010570,%edx
8642 40007b18:       8b 85 64 ff ff ff       mov    -0x9c(%ebp),%eax
8643 40007b1e:       39 c2                   cmp    %eax,%edx
8644 40007b20:       0f 96 c0                setbe  %al
8645 40007b23:       0f b6 c0                movzbl %al,%eax
8646 40007b26:       85 c0                   test   %eax,%eax
8647 40007b28:       74 0c                   je     40007b36 <free+0x1ab>
8648 40007b2a:       c7 85 3c ff ff ff 01    movl   $0x1,-0xc4(%ebp)
8649 40007b31:       00 00 00 
8650 40007b34:       eb 0a                   jmp    40007b40 <free+0x1b5>
8651 40007b36:       c7 85 3c ff ff ff 00    movl   $0x0,-0xc4(%ebp)
8652 40007b3d:       00 00 00 
8653 40007b40:       83 bd 3c ff ff ff 00    cmpl   $0x0,-0xc4(%ebp)
8654 40007b47:       74 7b                   je     40007bc4 <free+0x239>
8655 40007b49:       ba 84 05 01 40          mov    $0x40010584,%edx
8656 40007b4e:       8b 85 6c ff ff ff       mov    -0x94(%ebp),%eax
8657 40007b54:       c1 e0 03                shl    $0x3,%eax
8658 40007b57:       8d 04 02                lea    (%edx,%eax,1),%eax
8659 40007b5a:       3b 85 68 ff ff ff       cmp    -0x98(%ebp),%eax
8660 40007b60:       0f 94 c0                sete   %al
8661 40007b63:       0f b6 c0                movzbl %al,%eax
8662 40007b66:       85 c0                   test   %eax,%eax
8663 40007b68:       75 18                   jne    40007b82 <free+0x1f7>
8664 40007b6a:       8b 15 70 05 01 40       mov    0x40010570,%edx
8665 40007b70:       8b 85 68 ff ff ff       mov    -0x98(%ebp),%eax
8666 40007b76:       39 c2                   cmp    %eax,%edx
8667 40007b78:       0f 96 c0                setbe  %al
8668 40007b7b:       0f b6 c0                movzbl %al,%eax
8669 40007b7e:       85 c0                   test   %eax,%eax
8670 40007b80:       74 0c                   je     40007b8e <free+0x203>
8671 40007b82:       c7 85 40 ff ff ff 01    movl   $0x1,-0xc0(%ebp)
8672 40007b89:       00 00 00 
8673 40007b8c:       eb 0a                   jmp    40007b98 <free+0x20d>
8674 40007b8e:       c7 85 40 ff ff ff 00    movl   $0x0,-0xc0(%ebp)
8675 40007b95:       00 00 00 
8676 40007b98:       83 bd 40 ff ff ff 00    cmpl   $0x0,-0xc0(%ebp)
8677 40007b9f:       74 23                   je     40007bc4 <free+0x239>
8678 40007ba1:       8b 95 64 ff ff ff       mov    -0x9c(%ebp),%edx
8679 40007ba7:       8b 85 68 ff ff ff       mov    -0x98(%ebp),%eax
8680 40007bad:       89 42 0c                mov    %eax,0xc(%edx)
8681 40007bb0:       8b 95 68 ff ff ff       mov    -0x98(%ebp),%edx
8682 40007bb6:       8b 85 64 ff ff ff       mov    -0x9c(%ebp),%eax
8683 40007bbc:       89 42 08                mov    %eax,0x8(%edx)
8684 40007bbf:       e9 24 03 00 00          jmp    40007ee8 <free+0x55d>
8685 40007bc4:       e8 07 4f 00 00          call   4000cad0 <abort>
8686 40007bc9:       e9 1a 03 00 00          jmp    40007ee8 <free+0x55d>
8687 40007bce:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
8688 40007bd4:       89 85 70 ff ff ff       mov    %eax,-0x90(%ebp)
8689 40007bda:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
8690 40007be0:       8b 40 18                mov    0x18(%eax),%eax
8691 40007be3:       89 85 74 ff ff ff       mov    %eax,-0x8c(%ebp)
8692 40007be9:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
8693 40007bef:       8b 40 0c                mov    0xc(%eax),%eax
8694 40007bf2:       3b 85 70 ff ff ff       cmp    -0x90(%ebp),%eax
8695 40007bf8:       74 63                   je     40007c5d <free+0x2d2>
8696 40007bfa:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
8697 40007c00:       8b 40 08                mov    0x8(%eax),%eax
8698 40007c03:       89 85 7c ff ff ff       mov    %eax,-0x84(%ebp)
8699 40007c09:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
8700 40007c0f:       8b 40 0c                mov    0xc(%eax),%eax
8701 40007c12:       89 85 78 ff ff ff       mov    %eax,-0x88(%ebp)
8702 40007c18:       8b 15 70 05 01 40       mov    0x40010570,%edx
8703 40007c1e:       8b 85 7c ff ff ff       mov    -0x84(%ebp),%eax
8704 40007c24:       39 c2                   cmp    %eax,%edx
8705 40007c26:       0f 96 c0                setbe  %al
8706 40007c29:       0f b6 c0                movzbl %al,%eax
8707 40007c2c:       85 c0                   test   %eax,%eax
8708 40007c2e:       74 23                   je     40007c53 <free+0x2c8>
8709 40007c30:       8b 95 7c ff ff ff       mov    -0x84(%ebp),%edx
8710 40007c36:       8b 85 78 ff ff ff       mov    -0x88(%ebp),%eax
8711 40007c3c:       89 42 0c                mov    %eax,0xc(%edx)
8712 40007c3f:       8b 95 78 ff ff ff       mov    -0x88(%ebp),%edx
8713 40007c45:       8b 85 7c ff ff ff       mov    -0x84(%ebp),%eax
8714 40007c4b:       89 42 08                mov    %eax,0x8(%edx)
8715 40007c4e:       e9 ac 00 00 00          jmp    40007cff <free+0x374>
8716 40007c53:       e8 78 4e 00 00          call   4000cad0 <abort>
8717 40007c58:       e9 a2 00 00 00          jmp    40007cff <free+0x374>
8718 40007c5d:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
8719 40007c63:       83 c0 14                add    $0x14,%eax
8720 40007c66:       89 45 80                mov    %eax,-0x80(%ebp)
8721 40007c69:       8b 45 80                mov    -0x80(%ebp),%eax
8722 40007c6c:       8b 00                   mov    (%eax),%eax
8723 40007c6e:       89 85 78 ff ff ff       mov    %eax,-0x88(%ebp)
8724 40007c74:       83 bd 78 ff ff ff 00    cmpl   $0x0,-0x88(%ebp)
8725 40007c7b:       75 33                   jne    40007cb0 <free+0x325>
8726 40007c7d:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
8727 40007c83:       83 c0 10                add    $0x10,%eax
8728 40007c86:       89 45 80                mov    %eax,-0x80(%ebp)
8729 40007c89:       8b 45 80                mov    -0x80(%ebp),%eax
8730 40007c8c:       8b 00                   mov    (%eax),%eax
8731 40007c8e:       89 85 78 ff ff ff       mov    %eax,-0x88(%ebp)
8732 40007c94:       83 bd 78 ff ff ff 00    cmpl   $0x0,-0x88(%ebp)
8733 40007c9b:       74 62                   je     40007cff <free+0x374>
8734 40007c9d:       eb 11                   jmp    40007cb0 <free+0x325>
8735 40007c9f:       8b 45 84                mov    -0x7c(%ebp),%eax
8736 40007ca2:       89 45 80                mov    %eax,-0x80(%ebp)
8737 40007ca5:       8b 45 80                mov    -0x80(%ebp),%eax
8738 40007ca8:       8b 00                   mov    (%eax),%eax
8739 40007caa:       89 85 78 ff ff ff       mov    %eax,-0x88(%ebp)
8740 40007cb0:       8b 85 78 ff ff ff       mov    -0x88(%ebp),%eax
8741 40007cb6:       83 c0 14                add    $0x14,%eax
8742 40007cb9:       89 45 84                mov    %eax,-0x7c(%ebp)
8743 40007cbc:       8b 45 84                mov    -0x7c(%ebp),%eax
8744 40007cbf:       8b 00                   mov    (%eax),%eax
8745 40007cc1:       85 c0                   test   %eax,%eax
8746 40007cc3:       75 da                   jne    40007c9f <free+0x314>
8747 40007cc5:       8b 85 78 ff ff ff       mov    -0x88(%ebp),%eax
8748 40007ccb:       83 c0 10                add    $0x10,%eax
8749 40007cce:       89 45 84                mov    %eax,-0x7c(%ebp)
8750 40007cd1:       8b 45 84                mov    -0x7c(%ebp),%eax
8751 40007cd4:       8b 00                   mov    (%eax),%eax
8752 40007cd6:       85 c0                   test   %eax,%eax
8753 40007cd8:       75 c5                   jne    40007c9f <free+0x314>
8754 40007cda:       8b 15 70 05 01 40       mov    0x40010570,%edx
8755 40007ce0:       8b 45 80                mov    -0x80(%ebp),%eax
8756 40007ce3:       39 c2                   cmp    %eax,%edx
8757 40007ce5:       0f 96 c0                setbe  %al
8758 40007ce8:       0f b6 c0                movzbl %al,%eax
8759 40007ceb:       85 c0                   test   %eax,%eax
8760 40007ced:       74 0b                   je     40007cfa <free+0x36f>
8761 40007cef:       8b 45 80                mov    -0x80(%ebp),%eax
8762 40007cf2:       c7 00 00 00 00 00       movl   $0x0,(%eax)
8763 40007cf8:       eb 05                   jmp    40007cff <free+0x374>
8764 40007cfa:       e8 d1 4d 00 00          call   4000cad0 <abort>
8765 40007cff:       83 bd 74 ff ff ff 00    cmpl   $0x0,-0x8c(%ebp)
8766 40007d06:       0f 84 dc 01 00 00       je     40007ee8 <free+0x55d>
8767 40007d0c:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
8768 40007d12:       8b 40 1c                mov    0x1c(%eax),%eax
8769 40007d15:       c1 e0 02                shl    $0x2,%eax
8770 40007d18:       05 8c 06 01 40          add    $0x4001068c,%eax
8771 40007d1d:       89 45 88                mov    %eax,-0x78(%ebp)
8772 40007d20:       8b 45 88                mov    -0x78(%ebp),%eax
8773 40007d23:       8b 00                   mov    (%eax),%eax
8774 40007d25:       3b 85 70 ff ff ff       cmp    -0x90(%ebp),%eax
8775 40007d2b:       75 37                   jne    40007d64 <free+0x3d9>
8776 40007d2d:       8b 55 88                mov    -0x78(%ebp),%edx
8777 40007d30:       8b 85 78 ff ff ff       mov    -0x88(%ebp),%eax
8778 40007d36:       89 02                   mov    %eax,(%edx)
8779 40007d38:       8b 45 88                mov    -0x78(%ebp),%eax
8780 40007d3b:       8b 00                   mov    (%eax),%eax
8781 40007d3d:       85 c0                   test   %eax,%eax
8782 40007d3f:       75 73                   jne    40007db4 <free+0x429>
8783 40007d41:       8b 15 64 05 01 40       mov    0x40010564,%edx
8784 40007d47:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
8785 40007d4d:       8b 40 1c                mov    0x1c(%eax),%eax
8786 40007d50:       89 c1                   mov    %eax,%ecx
8787 40007d52:       b8 01 00 00 00          mov    $0x1,%eax
8788 40007d57:       d3 e0                   shl    %cl,%eax
8789 40007d59:       f7 d0                   not    %eax
8790 40007d5b:       21 d0                   and    %edx,%eax
8791 40007d5d:       a3 64 05 01 40          mov    %eax,0x40010564
8792 40007d62:       eb 50                   jmp    40007db4 <free+0x429>
8793 40007d64:       8b 15 70 05 01 40       mov    0x40010570,%edx
8794 40007d6a:       8b 85 74 ff ff ff       mov    -0x8c(%ebp),%eax
8795 40007d70:       39 c2                   cmp    %eax,%edx
8796 40007d72:       0f 96 c0                setbe  %al
8797 40007d75:       0f b6 c0                movzbl %al,%eax
8798 40007d78:       85 c0                   test   %eax,%eax
8799 40007d7a:       74 33                   je     40007daf <free+0x424>
8800 40007d7c:       8b 85 74 ff ff ff       mov    -0x8c(%ebp),%eax
8801 40007d82:       8b 40 10                mov    0x10(%eax),%eax
8802 40007d85:       3b 85 70 ff ff ff       cmp    -0x90(%ebp),%eax
8803 40007d8b:       75 11                   jne    40007d9e <free+0x413>
8804 40007d8d:       8b 95 74 ff ff ff       mov    -0x8c(%ebp),%edx
8805 40007d93:       8b 85 78 ff ff ff       mov    -0x88(%ebp),%eax
8806 40007d99:       89 42 10                mov    %eax,0x10(%edx)
8807 40007d9c:       eb 16                   jmp    40007db4 <free+0x429>
8808 40007d9e:       8b 95 74 ff ff ff       mov    -0x8c(%ebp),%edx
8809 40007da4:       8b 85 78 ff ff ff       mov    -0x88(%ebp),%eax
8810 40007daa:       89 42 14                mov    %eax,0x14(%edx)
8811 40007dad:       eb 05                   jmp    40007db4 <free+0x429>
8812 40007daf:       e8 1c 4d 00 00          call   4000cad0 <abort>
8813 40007db4:       83 bd 78 ff ff ff 00    cmpl   $0x0,-0x88(%ebp)
8814 40007dbb:       0f 84 27 01 00 00       je     40007ee8 <free+0x55d>
8815 40007dc1:       8b 15 70 05 01 40       mov    0x40010570,%edx
8816 40007dc7:       8b 85 78 ff ff ff       mov    -0x88(%ebp),%eax
8817 40007dcd:       39 c2                   cmp    %eax,%edx
8818 40007dcf:       0f 96 c0                setbe  %al
8819 40007dd2:       0f b6 c0                movzbl %al,%eax
8820 40007dd5:       85 c0                   test   %eax,%eax
8821 40007dd7:       0f 84 a1 00 00 00       je     40007e7e <free+0x4f3>
8822 40007ddd:       8b 95 78 ff ff ff       mov    -0x88(%ebp),%edx
8823 40007de3:       8b 85 74 ff ff ff       mov    -0x8c(%ebp),%eax
8824 40007de9:       89 42 18                mov    %eax,0x18(%edx)
8825 40007dec:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
8826 40007df2:       8b 40 10                mov    0x10(%eax),%eax
8827 40007df5:       89 45 8c                mov    %eax,-0x74(%ebp)
8828 40007df8:       83 7d 8c 00             cmpl   $0x0,-0x74(%ebp)
8829 40007dfc:       74 34                   je     40007e32 <free+0x4a7>
8830 40007dfe:       8b 15 70 05 01 40       mov    0x40010570,%edx
8831 40007e04:       8b 45 8c                mov    -0x74(%ebp),%eax
8832 40007e07:       39 c2                   cmp    %eax,%edx
8833 40007e09:       0f 96 c0                setbe  %al
8834 40007e0c:       0f b6 c0                movzbl %al,%eax
8835 40007e0f:       85 c0                   test   %eax,%eax
8836 40007e11:       74 1a                   je     40007e2d <free+0x4a2>
8837 40007e13:       8b 95 78 ff ff ff       mov    -0x88(%ebp),%edx
8838 40007e19:       8b 45 8c                mov    -0x74(%ebp),%eax
8839 40007e1c:       89 42 10                mov    %eax,0x10(%edx)
8840 40007e1f:       8b 55 8c                mov    -0x74(%ebp),%edx
8841 40007e22:       8b 85 78 ff ff ff       mov    -0x88(%ebp),%eax
8842 40007e28:       89 42 18                mov    %eax,0x18(%edx)
8843 40007e2b:       eb 05                   jmp    40007e32 <free+0x4a7>
8844 40007e2d:       e8 9e 4c 00 00          call   4000cad0 <abort>
8845 40007e32:       8b 85 70 ff ff ff       mov    -0x90(%ebp),%eax
8846 40007e38:       8b 40 14                mov    0x14(%eax),%eax
8847 40007e3b:       89 45 90                mov    %eax,-0x70(%ebp)
8848 40007e3e:       83 7d 90 00             cmpl   $0x0,-0x70(%ebp)
8849 40007e42:       0f 84 a0 00 00 00       je     40007ee8 <free+0x55d>
8850 40007e48:       8b 15 70 05 01 40       mov    0x40010570,%edx
8851 40007e4e:       8b 45 90                mov    -0x70(%ebp),%eax
8852 40007e51:       39 c2                   cmp    %eax,%edx
8853 40007e53:       0f 96 c0                setbe  %al
8854 40007e56:       0f b6 c0                movzbl %al,%eax
8855 40007e59:       85 c0                   test   %eax,%eax
8856 40007e5b:       74 1a                   je     40007e77 <free+0x4ec>
8857 40007e5d:       8b 95 78 ff ff ff       mov    -0x88(%ebp),%edx
8858 40007e63:       8b 45 90                mov    -0x70(%ebp),%eax
8859 40007e66:       89 42 14                mov    %eax,0x14(%edx)
8860 40007e69:       8b 55 90                mov    -0x70(%ebp),%edx
8861 40007e6c:       8b 85 78 ff ff ff       mov    -0x88(%ebp),%eax
8862 40007e72:       89 42 18                mov    %eax,0x18(%edx)
8863 40007e75:       eb 71                   jmp    40007ee8 <free+0x55d>
8864 40007e77:       e8 54 4c 00 00          call   4000cad0 <abort>
8865 40007e7c:       eb 6a                   jmp    40007ee8 <free+0x55d>
8866 40007e7e:       e8 4d 4c 00 00          call   4000cad0 <abort>
8867 40007e83:       eb 63                   jmp    40007ee8 <free+0x55d>
8868 40007e85:       8b 85 58 ff ff ff       mov    -0xa8(%ebp),%eax
8869 40007e8b:       8b 40 04                mov    0x4(%eax),%eax
8870 40007e8e:       83 e0 03                and    $0x3,%eax
8871 40007e91:       83 f8 03                cmp    $0x3,%eax
8872 40007e94:       75 52                   jne    40007ee8 <free+0x55d>
8873 40007e96:       8b 85 54 ff ff ff       mov    -0xac(%ebp),%eax
8874 40007e9c:       a3 68 05 01 40          mov    %eax,0x40010568
8875 40007ea1:       8b 85 58 ff ff ff       mov    -0xa8(%ebp),%eax
8876 40007ea7:       8b 40 04                mov    0x4(%eax),%eax
8877 40007eaa:       89 c2                   mov    %eax,%edx
8878 40007eac:       83 e2 fe                and    $0xfffffffe,%edx
8879 40007eaf:       8b 85 58 ff ff ff       mov    -0xa8(%ebp),%eax
8880 40007eb5:       89 50 04                mov    %edx,0x4(%eax)
8881 40007eb8:       8b 85 54 ff ff ff       mov    -0xac(%ebp),%eax
8882 40007ebe:       89 c2                   mov    %eax,%edx
8883 40007ec0:       83 ca 01                or     $0x1,%edx
8884 40007ec3:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
8885 40007ec9:       89 50 04                mov    %edx,0x4(%eax)
8886 40007ecc:       8b 95 54 ff ff ff       mov    -0xac(%ebp),%edx
8887 40007ed2:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
8888 40007ed8:       8d 14 10                lea    (%eax,%edx,1),%edx
8889 40007edb:       8b 85 54 ff ff ff       mov    -0xac(%ebp),%eax
8890 40007ee1:       89 02                   mov    %eax,(%edx)
8891 40007ee3:       e9 bc 07 00 00          jmp    400086a4 <free+0xd19>
8892 40007ee8:       8b 95 50 ff ff ff       mov    -0xb0(%ebp),%edx
8893 40007eee:       8b 85 58 ff ff ff       mov    -0xa8(%ebp),%eax
8894 40007ef4:       39 c2                   cmp    %eax,%edx
8895 40007ef6:       0f 92 c0                setb   %al
8896 40007ef9:       0f b6 c0                movzbl %al,%eax
8897 40007efc:       85 c0                   test   %eax,%eax
8898 40007efe:       0f 84 9b 07 00 00       je     4000869f <free+0xd14>
8899 40007f04:       8b 85 58 ff ff ff       mov    -0xa8(%ebp),%eax
8900 40007f0a:       8b 40 04                mov    0x4(%eax),%eax
8901 40007f0d:       83 e0 01                and    $0x1,%eax
8902 40007f10:       85 c0                   test   %eax,%eax
8903 40007f12:       0f 84 87 07 00 00       je     4000869f <free+0xd14>
8904 40007f18:       8b 85 58 ff ff ff       mov    -0xa8(%ebp),%eax
8905 40007f1e:       8b 40 04                mov    0x4(%eax),%eax
8906 40007f21:       83 e0 02                and    $0x2,%eax
8907 40007f24:       85 c0                   test   %eax,%eax
8908 40007f26:       0f 85 61 04 00 00       jne    4000838d <free+0xa02>
8909 40007f2c:       a1 78 05 01 40          mov    0x40010578,%eax
8910 40007f31:       3b 85 58 ff ff ff       cmp    -0xa8(%ebp),%eax
8911 40007f37:       75 5e                   jne    40007f97 <free+0x60c>
8912 40007f39:       a1 6c 05 01 40          mov    0x4001056c,%eax
8913 40007f3e:       03 85 54 ff ff ff       add    -0xac(%ebp),%eax
8914 40007f44:       a3 6c 05 01 40          mov    %eax,0x4001056c
8915 40007f49:       a1 6c 05 01 40          mov    0x4001056c,%eax
8916 40007f4e:       89 45 94                mov    %eax,-0x6c(%ebp)
8917 40007f51:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
8918 40007f57:       a3 78 05 01 40          mov    %eax,0x40010578
8919 40007f5c:       8b 45 94                mov    -0x6c(%ebp),%eax
8920 40007f5f:       89 c2                   mov    %eax,%edx
8921 40007f61:       83 ca 01                or     $0x1,%edx
8922 40007f64:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
8923 40007f6a:       89 50 04                mov    %edx,0x4(%eax)
8924 40007f6d:       a1 74 05 01 40          mov    0x40010574,%eax
8925 40007f72:       3b 85 50 ff ff ff       cmp    -0xb0(%ebp),%eax
8926 40007f78:       0f 85 26 07 00 00       jne    400086a4 <free+0xd19>
8927 40007f7e:       c7 05 74 05 01 40 00    movl   $0x0,0x40010574
8928 40007f85:       00 00 00 
8929 40007f88:       c7 05 68 05 01 40 00    movl   $0x0,0x40010568
8930 40007f8f:       00 00 00 
8931 40007f92:       e9 0d 07 00 00          jmp    400086a4 <free+0xd19>
8932 40007f97:       a1 74 05 01 40          mov    0x40010574,%eax
8933 40007f9c:       3b 85 58 ff ff ff       cmp    -0xa8(%ebp),%eax
8934 40007fa2:       75 4a                   jne    40007fee <free+0x663>
8935 40007fa4:       a1 68 05 01 40          mov    0x40010568,%eax
8936 40007fa9:       03 85 54 ff ff ff       add    -0xac(%ebp),%eax
8937 40007faf:       a3 68 05 01 40          mov    %eax,0x40010568
8938 40007fb4:       a1 68 05 01 40          mov    0x40010568,%eax
8939 40007fb9:       89 45 98                mov    %eax,-0x68(%ebp)
8940 40007fbc:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
8941 40007fc2:       a3 74 05 01 40          mov    %eax,0x40010574
8942 40007fc7:       8b 45 98                mov    -0x68(%ebp),%eax
8943 40007fca:       89 c2                   mov    %eax,%edx
8944 40007fcc:       83 ca 01                or     $0x1,%edx
8945 40007fcf:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
8946 40007fd5:       89 50 04                mov    %edx,0x4(%eax)
8947 40007fd8:       8b 55 98                mov    -0x68(%ebp),%edx
8948 40007fdb:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
8949 40007fe1:       8d 14 10                lea    (%eax,%edx,1),%edx
8950 40007fe4:       8b 45 98                mov    -0x68(%ebp),%eax
8951 40007fe7:       89 02                   mov    %eax,(%edx)
8952 40007fe9:       e9 b6 06 00 00          jmp    400086a4 <free+0xd19>
8953 40007fee:       8b 85 58 ff ff ff       mov    -0xa8(%ebp),%eax
8954 40007ff4:       8b 40 04                mov    0x4(%eax),%eax
8955 40007ff7:       83 e0 fc                and    $0xfffffffc,%eax
8956 40007ffa:       89 45 9c                mov    %eax,-0x64(%ebp)
8957 40007ffd:       8b 45 9c                mov    -0x64(%ebp),%eax
8958 40008000:       01 85 54 ff ff ff       add    %eax,-0xac(%ebp)
8959 40008006:       8b 45 9c                mov    -0x64(%ebp),%eax
8960 40008009:       c1 e8 03                shr    $0x3,%eax
8961 4000800c:       83 f8 1f                cmp    $0x1f,%eax
8962 4000800f:       0f 87 06 01 00 00       ja     4000811b <free+0x790>
8963 40008015:       8b 85 58 ff ff ff       mov    -0xa8(%ebp),%eax
8964 4000801b:       8b 40 08                mov    0x8(%eax),%eax
8965 4000801e:       89 45 a0                mov    %eax,-0x60(%ebp)
8966 40008021:       8b 85 58 ff ff ff       mov    -0xa8(%ebp),%eax
8967 40008027:       8b 40 0c                mov    0xc(%eax),%eax
8968 4000802a:       89 45 a4                mov    %eax,-0x5c(%ebp)
8969 4000802d:       8b 45 9c                mov    -0x64(%ebp),%eax
8970 40008030:       c1 e8 03                shr    $0x3,%eax
8971 40008033:       89 45 a8                mov    %eax,-0x58(%ebp)
8972 40008036:       8b 45 a0                mov    -0x60(%ebp),%eax
8973 40008039:       3b 45 a4                cmp    -0x5c(%ebp),%eax
8974 4000803c:       75 1e                   jne    4000805c <free+0x6d1>
8975 4000803e:       8b 15 60 05 01 40       mov    0x40010560,%edx
8976 40008044:       8b 4d a8                mov    -0x58(%ebp),%ecx
8977 40008047:       b8 01 00 00 00          mov    $0x1,%eax
8978 4000804c:       d3 e0                   shl    %cl,%eax
8979 4000804e:       f7 d0                   not    %eax
8980 40008050:       21 d0                   and    %edx,%eax
8981 40008052:       a3 60 05 01 40          mov    %eax,0x40010560
8982 40008057:       e9 e9 02 00 00          jmp    40008345 <free+0x9ba>
8983 4000805c:       ba 84 05 01 40          mov    $0x40010584,%edx
8984 40008061:       8b 45 a8                mov    -0x58(%ebp),%eax
8985 40008064:       c1 e0 03                shl    $0x3,%eax
8986 40008067:       8d 04 02                lea    (%edx,%eax,1),%eax
8987 4000806a:       3b 45 a0                cmp    -0x60(%ebp),%eax
8988 4000806d:       0f 94 c0                sete   %al
8989 40008070:       0f b6 c0                movzbl %al,%eax
8990 40008073:       85 c0                   test   %eax,%eax
8991 40008075:       75 15                   jne    4000808c <free+0x701>
8992 40008077:       8b 15 70 05 01 40       mov    0x40010570,%edx
8993 4000807d:       8b 45 a0                mov    -0x60(%ebp),%eax
8994 40008080:       39 c2                   cmp    %eax,%edx
8995 40008082:       0f 96 c0                setbe  %al
8996 40008085:       0f b6 c0                movzbl %al,%eax
8997 40008088:       85 c0                   test   %eax,%eax
8998 4000808a:       74 0c                   je     40008098 <free+0x70d>
8999 4000808c:       c7 85 44 ff ff ff 01    movl   $0x1,-0xbc(%ebp)
9000 40008093:       00 00 00 
9001 40008096:       eb 0a                   jmp    400080a2 <free+0x717>
9002 40008098:       c7 85 44 ff ff ff 00    movl   $0x0,-0xbc(%ebp)
9003 4000809f:       00 00 00 
9004 400080a2:       83 bd 44 ff ff ff 00    cmpl   $0x0,-0xbc(%ebp)
9005 400080a9:       74 66                   je     40008111 <free+0x786>
9006 400080ab:       ba 84 05 01 40          mov    $0x40010584,%edx
9007 400080b0:       8b 45 a8                mov    -0x58(%ebp),%eax
9008 400080b3:       c1 e0 03                shl    $0x3,%eax
9009 400080b6:       8d 04 02                lea    (%edx,%eax,1),%eax
9010 400080b9:       3b 45 a4                cmp    -0x5c(%ebp),%eax
9011 400080bc:       0f 94 c0                sete   %al
9012 400080bf:       0f b6 c0                movzbl %al,%eax
9013 400080c2:       85 c0                   test   %eax,%eax
9014 400080c4:       75 15                   jne    400080db <free+0x750>
9015 400080c6:       8b 15 70 05 01 40       mov    0x40010570,%edx
9016 400080cc:       8b 45 a4                mov    -0x5c(%ebp),%eax
9017 400080cf:       39 c2                   cmp    %eax,%edx
9018 400080d1:       0f 96 c0                setbe  %al
9019 400080d4:       0f b6 c0                movzbl %al,%eax
9020 400080d7:       85 c0                   test   %eax,%eax
9021 400080d9:       74 0c                   je     400080e7 <free+0x75c>
9022 400080db:       c7 85 48 ff ff ff 01    movl   $0x1,-0xb8(%ebp)
9023 400080e2:       00 00 00 
9024 400080e5:       eb 0a                   jmp    400080f1 <free+0x766>
9025 400080e7:       c7 85 48 ff ff ff 00    movl   $0x0,-0xb8(%ebp)
9026 400080ee:       00 00 00 
9027 400080f1:       83 bd 48 ff ff ff 00    cmpl   $0x0,-0xb8(%ebp)
9028 400080f8:       74 17                   je     40008111 <free+0x786>
9029 400080fa:       8b 55 a0                mov    -0x60(%ebp),%edx
9030 400080fd:       8b 45 a4                mov    -0x5c(%ebp),%eax
9031 40008100:       89 42 0c                mov    %eax,0xc(%edx)
9032 40008103:       8b 55 a4                mov    -0x5c(%ebp),%edx
9033 40008106:       8b 45 a0                mov    -0x60(%ebp),%eax
9034 40008109:       89 42 08                mov    %eax,0x8(%edx)
9035 4000810c:       e9 34 02 00 00          jmp    40008345 <free+0x9ba>
9036 40008111:       e8 ba 49 00 00          call   4000cad0 <abort>
9037 40008116:       e9 2a 02 00 00          jmp    40008345 <free+0x9ba>
9038 4000811b:       8b 85 58 ff ff ff       mov    -0xa8(%ebp),%eax
9039 40008121:       89 45 ac                mov    %eax,-0x54(%ebp)
9040 40008124:       8b 45 ac                mov    -0x54(%ebp),%eax
9041 40008127:       8b 40 18                mov    0x18(%eax),%eax
9042 4000812a:       89 45 b0                mov    %eax,-0x50(%ebp)
9043 4000812d:       8b 45 ac                mov    -0x54(%ebp),%eax
9044 40008130:       8b 40 0c                mov    0xc(%eax),%eax
9045 40008133:       3b 45 ac                cmp    -0x54(%ebp),%eax
9046 40008136:       74 48                   je     40008180 <free+0x7f5>
9047 40008138:       8b 45 ac                mov    -0x54(%ebp),%eax
9048 4000813b:       8b 40 08                mov    0x8(%eax),%eax
9049 4000813e:       89 45 b8                mov    %eax,-0x48(%ebp)
9050 40008141:       8b 45 ac                mov    -0x54(%ebp),%eax
9051 40008144:       8b 40 0c                mov    0xc(%eax),%eax
9052 40008147:       89 45 b4                mov    %eax,-0x4c(%ebp)
9053 4000814a:       8b 15 70 05 01 40       mov    0x40010570,%edx
9054 40008150:       8b 45 b8                mov    -0x48(%ebp),%eax
9055 40008153:       39 c2                   cmp    %eax,%edx
9056 40008155:       0f 96 c0                setbe  %al
9057 40008158:       0f b6 c0                movzbl %al,%eax
9058 4000815b:       85 c0                   test   %eax,%eax
9059 4000815d:       74 17                   je     40008176 <free+0x7eb>
9060 4000815f:       8b 55 b8                mov    -0x48(%ebp),%edx
9061 40008162:       8b 45 b4                mov    -0x4c(%ebp),%eax
9062 40008165:       89 42 0c                mov    %eax,0xc(%edx)
9063 40008168:       8b 55 b4                mov    -0x4c(%ebp),%edx
9064 4000816b:       8b 45 b8                mov    -0x48(%ebp),%eax
9065 4000816e:       89 42 08                mov    %eax,0x8(%edx)
9066 40008171:       e9 91 00 00 00          jmp    40008207 <free+0x87c>
9067 40008176:       e8 55 49 00 00          call   4000cad0 <abort>
9068 4000817b:       e9 87 00 00 00          jmp    40008207 <free+0x87c>
9069 40008180:       8b 45 ac                mov    -0x54(%ebp),%eax
9070 40008183:       83 c0 14                add    $0x14,%eax
9071 40008186:       89 45 bc                mov    %eax,-0x44(%ebp)
9072 40008189:       8b 45 bc                mov    -0x44(%ebp),%eax
9073 4000818c:       8b 00                   mov    (%eax),%eax
9074 4000818e:       89 45 b4                mov    %eax,-0x4c(%ebp)
9075 40008191:       83 7d b4 00             cmpl   $0x0,-0x4c(%ebp)
9076 40008195:       75 27                   jne    400081be <free+0x833>
9077 40008197:       8b 45 ac                mov    -0x54(%ebp),%eax
9078 4000819a:       83 c0 10                add    $0x10,%eax
9079 4000819d:       89 45 bc                mov    %eax,-0x44(%ebp)
9080 400081a0:       8b 45 bc                mov    -0x44(%ebp),%eax
9081 400081a3:       8b 00                   mov    (%eax),%eax
9082 400081a5:       89 45 b4                mov    %eax,-0x4c(%ebp)
9083 400081a8:       83 7d b4 00             cmpl   $0x0,-0x4c(%ebp)
9084 400081ac:       74 59                   je     40008207 <free+0x87c>
9085 400081ae:       eb 0e                   jmp    400081be <free+0x833>
9086 400081b0:       8b 45 c0                mov    -0x40(%ebp),%eax
9087 400081b3:       89 45 bc                mov    %eax,-0x44(%ebp)
9088 400081b6:       8b 45 bc                mov    -0x44(%ebp),%eax
9089 400081b9:       8b 00                   mov    (%eax),%eax
9090 400081bb:       89 45 b4                mov    %eax,-0x4c(%ebp)
9091 400081be:       8b 45 b4                mov    -0x4c(%ebp),%eax
9092 400081c1:       83 c0 14                add    $0x14,%eax
9093 400081c4:       89 45 c0                mov    %eax,-0x40(%ebp)
9094 400081c7:       8b 45 c0                mov    -0x40(%ebp),%eax
9095 400081ca:       8b 00                   mov    (%eax),%eax
9096 400081cc:       85 c0                   test   %eax,%eax
9097 400081ce:       75 e0                   jne    400081b0 <free+0x825>
9098 400081d0:       8b 45 b4                mov    -0x4c(%ebp),%eax
9099 400081d3:       83 c0 10                add    $0x10,%eax
9100 400081d6:       89 45 c0                mov    %eax,-0x40(%ebp)
9101 400081d9:       8b 45 c0                mov    -0x40(%ebp),%eax
9102 400081dc:       8b 00                   mov    (%eax),%eax
9103 400081de:       85 c0                   test   %eax,%eax
9104 400081e0:       75 ce                   jne    400081b0 <free+0x825>
9105 400081e2:       8b 15 70 05 01 40       mov    0x40010570,%edx
9106 400081e8:       8b 45 bc                mov    -0x44(%ebp),%eax
9107 400081eb:       39 c2                   cmp    %eax,%edx
9108 400081ed:       0f 96 c0                setbe  %al
9109 400081f0:       0f b6 c0                movzbl %al,%eax
9110 400081f3:       85 c0                   test   %eax,%eax
9111 400081f5:       74 0b                   je     40008202 <free+0x877>
9112 400081f7:       8b 45 bc                mov    -0x44(%ebp),%eax
9113 400081fa:       c7 00 00 00 00 00       movl   $0x0,(%eax)
9114 40008200:       eb 05                   jmp    40008207 <free+0x87c>
9115 40008202:       e8 c9 48 00 00          call   4000cad0 <abort>
9116 40008207:       83 7d b0 00             cmpl   $0x0,-0x50(%ebp)
9117 4000820b:       0f 84 34 01 00 00       je     40008345 <free+0x9ba>
9118 40008211:       8b 45 ac                mov    -0x54(%ebp),%eax
9119 40008214:       8b 40 1c                mov    0x1c(%eax),%eax
9120 40008217:       c1 e0 02                shl    $0x2,%eax
9121 4000821a:       05 8c 06 01 40          add    $0x4001068c,%eax
9122 4000821f:       89 45 c4                mov    %eax,-0x3c(%ebp)
9123 40008222:       8b 45 c4                mov    -0x3c(%ebp),%eax
9124 40008225:       8b 00                   mov    (%eax),%eax
9125 40008227:       3b 45 ac                cmp    -0x54(%ebp),%eax
9126 4000822a:       75 31                   jne    4000825d <free+0x8d2>
9127 4000822c:       8b 55 c4                mov    -0x3c(%ebp),%edx
9128 4000822f:       8b 45 b4                mov    -0x4c(%ebp),%eax
9129 40008232:       89 02                   mov    %eax,(%edx)
9130 40008234:       8b 45 c4                mov    -0x3c(%ebp),%eax
9131 40008237:       8b 00                   mov    (%eax),%eax
9132 40008239:       85 c0                   test   %eax,%eax
9133 4000823b:       75 5b                   jne    40008298 <free+0x90d>
9134 4000823d:       8b 15 64 05 01 40       mov    0x40010564,%edx
9135 40008243:       8b 45 ac                mov    -0x54(%ebp),%eax
9136 40008246:       8b 40 1c                mov    0x1c(%eax),%eax
9137 40008249:       89 c1                   mov    %eax,%ecx
9138 4000824b:       b8 01 00 00 00          mov    $0x1,%eax
9139 40008250:       d3 e0                   shl    %cl,%eax
9140 40008252:       f7 d0                   not    %eax
9141 40008254:       21 d0                   and    %edx,%eax
9142 40008256:       a3 64 05 01 40          mov    %eax,0x40010564
9143 4000825b:       eb 3b                   jmp    40008298 <free+0x90d>
9144 4000825d:       8b 15 70 05 01 40       mov    0x40010570,%edx
9145 40008263:       8b 45 b0                mov    -0x50(%ebp),%eax
9146 40008266:       39 c2                   cmp    %eax,%edx
9147 40008268:       0f 96 c0                setbe  %al
9148 4000826b:       0f b6 c0                movzbl %al,%eax
9149 4000826e:       85 c0                   test   %eax,%eax
9150 40008270:       74 21                   je     40008293 <free+0x908>
9151 40008272:       8b 45 b0                mov    -0x50(%ebp),%eax
9152 40008275:       8b 40 10                mov    0x10(%eax),%eax
9153 40008278:       3b 45 ac                cmp    -0x54(%ebp),%eax
9154 4000827b:       75 0b                   jne    40008288 <free+0x8fd>
9155 4000827d:       8b 55 b0                mov    -0x50(%ebp),%edx
9156 40008280:       8b 45 b4                mov    -0x4c(%ebp),%eax
9157 40008283:       89 42 10                mov    %eax,0x10(%edx)
9158 40008286:       eb 10                   jmp    40008298 <free+0x90d>
9159 40008288:       8b 55 b0                mov    -0x50(%ebp),%edx
9160 4000828b:       8b 45 b4                mov    -0x4c(%ebp),%eax
9161 4000828e:       89 42 14                mov    %eax,0x14(%edx)
9162 40008291:       eb 05                   jmp    40008298 <free+0x90d>
9163 40008293:       e8 38 48 00 00          call   4000cad0 <abort>
9164 40008298:       83 7d b4 00             cmpl   $0x0,-0x4c(%ebp)
9165 4000829c:       0f 84 a3 00 00 00       je     40008345 <free+0x9ba>
9166 400082a2:       8b 15 70 05 01 40       mov    0x40010570,%edx
9167 400082a8:       8b 45 b4                mov    -0x4c(%ebp),%eax
9168 400082ab:       39 c2                   cmp    %eax,%edx
9169 400082ad:       0f 96 c0                setbe  %al
9170 400082b0:       0f b6 c0                movzbl %al,%eax
9171 400082b3:       85 c0                   test   %eax,%eax
9172 400082b5:       0f 84 85 00 00 00       je     40008340 <free+0x9b5>
9173 400082bb:       8b 55 b4                mov    -0x4c(%ebp),%edx
9174 400082be:       8b 45 b0                mov    -0x50(%ebp),%eax
9175 400082c1:       89 42 18                mov    %eax,0x18(%edx)
9176 400082c4:       8b 45 ac                mov    -0x54(%ebp),%eax
9177 400082c7:       8b 40 10                mov    0x10(%eax),%eax
9178 400082ca:       89 45 c8                mov    %eax,-0x38(%ebp)
9179 400082cd:       83 7d c8 00             cmpl   $0x0,-0x38(%ebp)
9180 400082d1:       74 2e                   je     40008301 <free+0x976>
9181 400082d3:       8b 15 70 05 01 40       mov    0x40010570,%edx
9182 400082d9:       8b 45 c8                mov    -0x38(%ebp),%eax
9183 400082dc:       39 c2                   cmp    %eax,%edx
9184 400082de:       0f 96 c0                setbe  %al
9185 400082e1:       0f b6 c0                movzbl %al,%eax
9186 400082e4:       85 c0                   test   %eax,%eax
9187 400082e6:       74 14                   je     400082fc <free+0x971>
9188 400082e8:       8b 55 b4                mov    -0x4c(%ebp),%edx
9189 400082eb:       8b 45 c8                mov    -0x38(%ebp),%eax
9190 400082ee:       89 42 10                mov    %eax,0x10(%edx)
9191 400082f1:       8b 55 c8                mov    -0x38(%ebp),%edx
9192 400082f4:       8b 45 b4                mov    -0x4c(%ebp),%eax
9193 400082f7:       89 42 18                mov    %eax,0x18(%edx)
9194 400082fa:       eb 05                   jmp    40008301 <free+0x976>
9195 400082fc:       e8 cf 47 00 00          call   4000cad0 <abort>
9196 40008301:       8b 45 ac                mov    -0x54(%ebp),%eax
9197 40008304:       8b 40 14                mov    0x14(%eax),%eax
9198 40008307:       89 45 cc                mov    %eax,-0x34(%ebp)
9199 4000830a:       83 7d cc 00             cmpl   $0x0,-0x34(%ebp)
9200 4000830e:       74 35                   je     40008345 <free+0x9ba>
9201 40008310:       8b 15 70 05 01 40       mov    0x40010570,%edx
9202 40008316:       8b 45 cc                mov    -0x34(%ebp),%eax
9203 40008319:       39 c2                   cmp    %eax,%edx
9204 4000831b:       0f 96 c0                setbe  %al
9205 4000831e:       0f b6 c0                movzbl %al,%eax
9206 40008321:       85 c0                   test   %eax,%eax
9207 40008323:       74 14                   je     40008339 <free+0x9ae>
9208 40008325:       8b 55 b4                mov    -0x4c(%ebp),%edx
9209 40008328:       8b 45 cc                mov    -0x34(%ebp),%eax
9210 4000832b:       89 42 14                mov    %eax,0x14(%edx)
9211 4000832e:       8b 55 cc                mov    -0x34(%ebp),%edx
9212 40008331:       8b 45 b4                mov    -0x4c(%ebp),%eax
9213 40008334:       89 42 18                mov    %eax,0x18(%edx)
9214 40008337:       eb 0c                   jmp    40008345 <free+0x9ba>
9215 40008339:       e8 92 47 00 00          call   4000cad0 <abort>
9216 4000833e:       eb 05                   jmp    40008345 <free+0x9ba>
9217 40008340:       e8 8b 47 00 00          call   4000cad0 <abort>
9218 40008345:       8b 85 54 ff ff ff       mov    -0xac(%ebp),%eax
9219 4000834b:       89 c2                   mov    %eax,%edx
9220 4000834d:       83 ca 01                or     $0x1,%edx
9221 40008350:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
9222 40008356:       89 50 04                mov    %edx,0x4(%eax)
9223 40008359:       8b 95 54 ff ff ff       mov    -0xac(%ebp),%edx
9224 4000835f:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
9225 40008365:       8d 14 10                lea    (%eax,%edx,1),%edx
9226 40008368:       8b 85 54 ff ff ff       mov    -0xac(%ebp),%eax
9227 4000836e:       89 02                   mov    %eax,(%edx)
9228 40008370:       a1 74 05 01 40          mov    0x40010574,%eax
9229 40008375:       3b 85 50 ff ff ff       cmp    -0xb0(%ebp),%eax
9230 4000837b:       75 52                   jne    400083cf <free+0xa44>
9231 4000837d:       8b 85 54 ff ff ff       mov    -0xac(%ebp),%eax
9232 40008383:       a3 68 05 01 40          mov    %eax,0x40010568
9233 40008388:       e9 17 03 00 00          jmp    400086a4 <free+0xd19>
9234 4000838d:       8b 85 58 ff ff ff       mov    -0xa8(%ebp),%eax
9235 40008393:       8b 40 04                mov    0x4(%eax),%eax
9236 40008396:       89 c2                   mov    %eax,%edx
9237 40008398:       83 e2 fe                and    $0xfffffffe,%edx
9238 4000839b:       8b 85 58 ff ff ff       mov    -0xa8(%ebp),%eax
9239 400083a1:       89 50 04                mov    %edx,0x4(%eax)
9240 400083a4:       8b 85 54 ff ff ff       mov    -0xac(%ebp),%eax
9241 400083aa:       89 c2                   mov    %eax,%edx
9242 400083ac:       83 ca 01                or     $0x1,%edx
9243 400083af:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
9244 400083b5:       89 50 04                mov    %edx,0x4(%eax)
9245 400083b8:       8b 95 54 ff ff ff       mov    -0xac(%ebp),%edx
9246 400083be:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
9247 400083c4:       8d 14 10                lea    (%eax,%edx,1),%edx
9248 400083c7:       8b 85 54 ff ff ff       mov    -0xac(%ebp),%eax
9249 400083cd:       89 02                   mov    %eax,(%edx)
9250 400083cf:       8b 85 54 ff ff ff       mov    -0xac(%ebp),%eax
9251 400083d5:       c1 e8 03                shr    $0x3,%eax
9252 400083d8:       83 f8 1f                cmp    $0x1f,%eax
9253 400083db:       0f 87 b0 00 00 00       ja     40008491 <free+0xb06>
9254 400083e1:       8b 85 54 ff ff ff       mov    -0xac(%ebp),%eax
9255 400083e7:       c1 e8 03                shr    $0x3,%eax
9256 400083ea:       89 45 d0                mov    %eax,-0x30(%ebp)
9257 400083ed:       ba 84 05 01 40          mov    $0x40010584,%edx
9258 400083f2:       8b 45 d0                mov    -0x30(%ebp),%eax
9259 400083f5:       c1 e0 03                shl    $0x3,%eax
9260 400083f8:       8d 04 02                lea    (%edx,%eax,1),%eax
9261 400083fb:       89 45 d4                mov    %eax,-0x2c(%ebp)
9262 400083fe:       8b 45 d4                mov    -0x2c(%ebp),%eax
9263 40008401:       89 45 d8                mov    %eax,-0x28(%ebp)
9264 40008404:       8b 15 60 05 01 40       mov    0x40010560,%edx
9265 4000840a:       8b 4d d0                mov    -0x30(%ebp),%ecx
9266 4000840d:       b8 01 00 00 00          mov    $0x1,%eax
9267 40008412:       d3 e0                   shl    %cl,%eax
9268 40008414:       21 d0                   and    %edx,%eax
9269 40008416:       85 c0                   test   %eax,%eax
9270 40008418:       75 19                   jne    40008433 <free+0xaa8>
9271 4000841a:       8b 15 60 05 01 40       mov    0x40010560,%edx
9272 40008420:       8b 4d d0                mov    -0x30(%ebp),%ecx
9273 40008423:       b8 01 00 00 00          mov    $0x1,%eax
9274 40008428:       d3 e0                   shl    %cl,%eax
9275 4000842a:       09 d0                   or     %edx,%eax
9276 4000842c:       a3 60 05 01 40          mov    %eax,0x40010560
9277 40008431:       eb 29                   jmp    4000845c <free+0xad1>
9278 40008433:       8b 45 d4                mov    -0x2c(%ebp),%eax
9279 40008436:       8b 40 08                mov    0x8(%eax),%eax
9280 40008439:       89 c2                   mov    %eax,%edx
9281 4000843b:       a1 70 05 01 40          mov    0x40010570,%eax
9282 40008440:       39 c2                   cmp    %eax,%edx
9283 40008442:       0f 93 c0                setae  %al
9284 40008445:       0f b6 c0                movzbl %al,%eax
9285 40008448:       85 c0                   test   %eax,%eax
9286 4000844a:       74 0b                   je     40008457 <free+0xacc>
9287 4000844c:       8b 45 d4                mov    -0x2c(%ebp),%eax
9288 4000844f:       8b 40 08                mov    0x8(%eax),%eax
9289 40008452:       89 45 d8                mov    %eax,-0x28(%ebp)
9290 40008455:       eb 05                   jmp    4000845c <free+0xad1>
9291 40008457:       e8 74 46 00 00          call   4000cad0 <abort>
9292 4000845c:       8b 55 d4                mov    -0x2c(%ebp),%edx
9293 4000845f:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
9294 40008465:       89 42 08                mov    %eax,0x8(%edx)
9295 40008468:       8b 55 d8                mov    -0x28(%ebp),%edx
9296 4000846b:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
9297 40008471:       89 42 0c                mov    %eax,0xc(%edx)
9298 40008474:       8b 95 50 ff ff ff       mov    -0xb0(%ebp),%edx
9299 4000847a:       8b 45 d8                mov    -0x28(%ebp),%eax
9300 4000847d:       89 42 08                mov    %eax,0x8(%edx)
9301 40008480:       8b 95 50 ff ff ff       mov    -0xb0(%ebp),%edx
9302 40008486:       8b 45 d4                mov    -0x2c(%ebp),%eax
9303 40008489:       89 42 0c                mov    %eax,0xc(%edx)
9304 4000848c:       e9 13 02 00 00          jmp    400086a4 <free+0xd19>
9305 40008491:       8b 85 50 ff ff ff       mov    -0xb0(%ebp),%eax
9306 40008497:       89 45 dc                mov    %eax,-0x24(%ebp)
9307 4000849a:       8b 85 54 ff ff ff       mov    -0xac(%ebp),%eax
9308 400084a0:       c1 e8 08                shr    $0x8,%eax
9309 400084a3:       89 45 e8                mov    %eax,-0x18(%ebp)
9310 400084a6:       83 7d e8 00             cmpl   $0x0,-0x18(%ebp)
9311 400084aa:       75 09                   jne    400084b5 <free+0xb2a>
9312 400084ac:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
9313 400084b3:       eb 38                   jmp    400084ed <free+0xb62>
9314 400084b5:       81 7d e8 ff ff 00 00    cmpl   $0xffff,-0x18(%ebp)
9315 400084bc:       76 09                   jbe    400084c7 <free+0xb3c>
9316 400084be:       c7 45 e4 1f 00 00 00    movl   $0x1f,-0x1c(%ebp)
9317 400084c5:       eb 26                   jmp    400084ed <free+0xb62>
9318 400084c7:       0f bd 45 e8             bsr    -0x18(%ebp),%eax
9319 400084cb:       89 45 ec                mov    %eax,-0x14(%ebp)
9320 400084ce:       8b 45 ec                mov    -0x14(%ebp),%eax
9321 400084d1:       8d 14 00                lea    (%eax,%eax,1),%edx
9322 400084d4:       8b 45 ec                mov    -0x14(%ebp),%eax
9323 400084d7:       83 c0 07                add    $0x7,%eax
9324 400084da:       89 c1                   mov    %eax,%ecx
9325 400084dc:       8b 85 54 ff ff ff       mov    -0xac(%ebp),%eax
9326 400084e2:       d3 e8                   shr    %cl,%eax
9327 400084e4:       83 e0 01                and    $0x1,%eax
9328 400084e7:       8d 04 02                lea    (%edx,%eax,1),%eax
9329 400084ea:       89 45 e4                mov    %eax,-0x1c(%ebp)
9330 400084ed:       8b 45 e4                mov    -0x1c(%ebp),%eax
9331 400084f0:       c1 e0 02                shl    $0x2,%eax
9332 400084f3:       05 8c 06 01 40          add    $0x4001068c,%eax
9333 400084f8:       89 45 e0                mov    %eax,-0x20(%ebp)
9334 400084fb:       8b 55 dc                mov    -0x24(%ebp),%edx
9335 400084fe:       8b 45 e4                mov    -0x1c(%ebp),%eax
9336 40008501:       89 42 1c                mov    %eax,0x1c(%edx)
9337 40008504:       8b 45 dc                mov    -0x24(%ebp),%eax
9338 40008507:       c7 40 14 00 00 00 00    movl   $0x0,0x14(%eax)
9339 4000850e:       8b 45 dc                mov    -0x24(%ebp),%eax
9340 40008511:       8b 50 14                mov    0x14(%eax),%edx
9341 40008514:       8b 45 dc                mov    -0x24(%ebp),%eax
9342 40008517:       89 50 10                mov    %edx,0x10(%eax)
9343 4000851a:       8b 15 64 05 01 40       mov    0x40010564,%edx
9344 40008520:       8b 4d e4                mov    -0x1c(%ebp),%ecx
9345 40008523:       b8 01 00 00 00          mov    $0x1,%eax
9346 40008528:       d3 e0                   shl    %cl,%eax
9347 4000852a:       21 d0                   and    %edx,%eax
9348 4000852c:       85 c0                   test   %eax,%eax
9349 4000852e:       75 42                   jne    40008572 <free+0xbe7>
9350 40008530:       8b 15 64 05 01 40       mov    0x40010564,%edx
9351 40008536:       8b 4d e4                mov    -0x1c(%ebp),%ecx
9352 40008539:       b8 01 00 00 00          mov    $0x1,%eax
9353 4000853e:       d3 e0                   shl    %cl,%eax
9354 40008540:       09 d0                   or     %edx,%eax
9355 40008542:       a3 64 05 01 40          mov    %eax,0x40010564
9356 40008547:       8b 55 e0                mov    -0x20(%ebp),%edx
9357 4000854a:       8b 45 dc                mov    -0x24(%ebp),%eax
9358 4000854d:       89 02                   mov    %eax,(%edx)
9359 4000854f:       8b 55 e0                mov    -0x20(%ebp),%edx
9360 40008552:       8b 45 dc                mov    -0x24(%ebp),%eax
9361 40008555:       89 50 18                mov    %edx,0x18(%eax)
9362 40008558:       8b 55 dc                mov    -0x24(%ebp),%edx
9363 4000855b:       8b 45 dc                mov    -0x24(%ebp),%eax
9364 4000855e:       89 42 0c                mov    %eax,0xc(%edx)
9365 40008561:       8b 45 dc                mov    -0x24(%ebp),%eax
9366 40008564:       8b 50 0c                mov    0xc(%eax),%edx
9367 40008567:       8b 45 dc                mov    -0x24(%ebp),%eax
9368 4000856a:       89 50 08                mov    %edx,0x8(%eax)
9369 4000856d:       e9 32 01 00 00          jmp    400086a4 <free+0xd19>
9370 40008572:       8b 45 e0                mov    -0x20(%ebp),%eax
9371 40008575:       8b 00                   mov    (%eax),%eax
9372 40008577:       89 45 f0                mov    %eax,-0x10(%ebp)
9373 4000857a:       83 7d e4 1f             cmpl   $0x1f,-0x1c(%ebp)
9374 4000857e:       74 16                   je     40008596 <free+0xc0b>
9375 40008580:       8b 45 e4                mov    -0x1c(%ebp),%eax
9376 40008583:       89 c2                   mov    %eax,%edx
9377 40008585:       d1 ea                   shr    %edx
9378 40008587:       b8 19 00 00 00          mov    $0x19,%eax
9379 4000858c:       29 d0                   sub    %edx,%eax
9380 4000858e:       89 85 4c ff ff ff       mov    %eax,-0xb4(%ebp)
9381 40008594:       eb 0a                   jmp    400085a0 <free+0xc15>
9382 40008596:       c7 85 4c ff ff ff 00    movl   $0x0,-0xb4(%ebp)
9383 4000859d:       00 00 00 
9384 400085a0:       8b 85 54 ff ff ff       mov    -0xac(%ebp),%eax
9385 400085a6:       0f b6 8d 4c ff ff ff    movzbl -0xb4(%ebp),%ecx
9386 400085ad:       d3 e0                   shl    %cl,%eax
9387 400085af:       89 45 f4                mov    %eax,-0xc(%ebp)
9388 400085b2:       8b 45 f0                mov    -0x10(%ebp),%eax
9389 400085b5:       8b 40 04                mov    0x4(%eax),%eax
9390 400085b8:       83 e0 fc                and    $0xfffffffc,%eax
9391 400085bb:       3b 85 54 ff ff ff       cmp    -0xac(%ebp),%eax
9392 400085c1:       74 6f                   je     40008632 <free+0xca7>
9393 400085c3:       8b 45 f0                mov    -0x10(%ebp),%eax
9394 400085c6:       8d 50 10                lea    0x10(%eax),%edx
9395 400085c9:       8b 45 f4                mov    -0xc(%ebp),%eax
9396 400085cc:       c1 e8 1f                shr    $0x1f,%eax
9397 400085cf:       c1 e0 02                shl    $0x2,%eax
9398 400085d2:       8d 04 02                lea    (%edx,%eax,1),%eax
9399 400085d5:       89 45 f8                mov    %eax,-0x8(%ebp)
9400 400085d8:       d1 65 f4                shll   -0xc(%ebp)
9401 400085db:       8b 45 f8                mov    -0x8(%ebp),%eax
9402 400085de:       8b 00                   mov    (%eax),%eax
9403 400085e0:       85 c0                   test   %eax,%eax
9404 400085e2:       74 0a                   je     400085ee <free+0xc63>
9405 400085e4:       8b 45 f8                mov    -0x8(%ebp),%eax
9406 400085e7:       8b 00                   mov    (%eax),%eax
9407 400085e9:       89 45 f0                mov    %eax,-0x10(%ebp)
9408 400085ec:       eb c4                   jmp    400085b2 <free+0xc27>
9409 400085ee:       8b 15 70 05 01 40       mov    0x40010570,%edx
9410 400085f4:       8b 45 f8                mov    -0x8(%ebp),%eax
9411 400085f7:       39 c2                   cmp    %eax,%edx
9412 400085f9:       0f 96 c0                setbe  %al
9413 400085fc:       0f b6 c0                movzbl %al,%eax
9414 400085ff:       85 c0                   test   %eax,%eax
9415 40008601:       74 28                   je     4000862b <free+0xca0>
9416 40008603:       8b 55 f8                mov    -0x8(%ebp),%edx
9417 40008606:       8b 45 dc                mov    -0x24(%ebp),%eax
9418 40008609:       89 02                   mov    %eax,(%edx)
9419 4000860b:       8b 55 dc                mov    -0x24(%ebp),%edx
9420 4000860e:       8b 45 f0                mov    -0x10(%ebp),%eax
9421 40008611:       89 42 18                mov    %eax,0x18(%edx)
9422 40008614:       8b 55 dc                mov    -0x24(%ebp),%edx
9423 40008617:       8b 45 dc                mov    -0x24(%ebp),%eax
9424 4000861a:       89 42 0c                mov    %eax,0xc(%edx)
9425 4000861d:       8b 45 dc                mov    -0x24(%ebp),%eax
9426 40008620:       8b 50 0c                mov    0xc(%eax),%edx
9427 40008623:       8b 45 dc                mov    -0x24(%ebp),%eax
9428 40008626:       89 50 08                mov    %edx,0x8(%eax)
9429 40008629:       eb 79                   jmp    400086a4 <free+0xd19>
9430 4000862b:       e8 a0 44 00 00          call   4000cad0 <abort>
9431 40008630:       eb 72                   jmp    400086a4 <free+0xd19>
9432 40008632:       8b 45 f0                mov    -0x10(%ebp),%eax
9433 40008635:       8b 40 08                mov    0x8(%eax),%eax
9434 40008638:       89 45 fc                mov    %eax,-0x4(%ebp)
9435 4000863b:       8b 15 70 05 01 40       mov    0x40010570,%edx
9436 40008641:       8b 45 f0                mov    -0x10(%ebp),%eax
9437 40008644:       39 c2                   cmp    %eax,%edx
9438 40008646:       0f 96 c0                setbe  %al
9439 40008649:       0f b6 c0                movzbl %al,%eax
9440 4000864c:       85 c0                   test   %eax,%eax
9441 4000864e:       74 48                   je     40008698 <free+0xd0d>
9442 40008650:       8b 15 70 05 01 40       mov    0x40010570,%edx
9443 40008656:       8b 45 fc                mov    -0x4(%ebp),%eax
9444 40008659:       39 c2                   cmp    %eax,%edx
9445 4000865b:       0f 96 c0                setbe  %al
9446 4000865e:       0f b6 c0                movzbl %al,%eax
9447 40008661:       85 c0                   test   %eax,%eax
9448 40008663:       74 33                   je     40008698 <free+0xd0d>
9449 40008665:       8b 55 fc                mov    -0x4(%ebp),%edx
9450 40008668:       8b 45 dc                mov    -0x24(%ebp),%eax
9451 4000866b:       89 42 0c                mov    %eax,0xc(%edx)
9452 4000866e:       8b 45 fc                mov    -0x4(%ebp),%eax
9453 40008671:       8b 50 0c                mov    0xc(%eax),%edx
9454 40008674:       8b 45 f0                mov    -0x10(%ebp),%eax
9455 40008677:       89 50 08                mov    %edx,0x8(%eax)
9456 4000867a:       8b 55 dc                mov    -0x24(%ebp),%edx
9457 4000867d:       8b 45 fc                mov    -0x4(%ebp),%eax
9458 40008680:       89 42 08                mov    %eax,0x8(%edx)
9459 40008683:       8b 55 dc                mov    -0x24(%ebp),%edx
9460 40008686:       8b 45 f0                mov    -0x10(%ebp),%eax
9461 40008689:       89 42 0c                mov    %eax,0xc(%edx)
9462 4000868c:       8b 45 dc                mov    -0x24(%ebp),%eax
9463 4000868f:       c7 40 18 00 00 00 00    movl   $0x0,0x18(%eax)
9464 40008696:       eb 0c                   jmp    400086a4 <free+0xd19>
9465 40008698:       e8 33 44 00 00          call   4000cad0 <abort>
9466 4000869d:       eb 05                   jmp    400086a4 <free+0xd19>
9467 4000869f:       e8 2c 44 00 00          call   4000cad0 <abort>
9468 400086a4:       c9                      leave  
9469 400086a5:       c3                      ret    
9471 400086a6 <calloc>:
9472 400086a6:       55                      push   %ebp
9473 400086a7:       89 e5                   mov    %esp,%ebp
9474 400086a9:       83 ec 28                sub    $0x28,%esp
9475 400086ac:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
9476 400086b3:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
9477 400086b7:       74 31                   je     400086ea <calloc+0x44>
9478 400086b9:       8b 45 08                mov    0x8(%ebp),%eax
9479 400086bc:       0f af 45 0c             imul   0xc(%ebp),%eax
9480 400086c0:       89 45 fc                mov    %eax,-0x4(%ebp)
9481 400086c3:       8b 55 0c                mov    0xc(%ebp),%edx
9482 400086c6:       8b 45 08                mov    0x8(%ebp),%eax
9483 400086c9:       09 d0                   or     %edx,%eax
9484 400086cb:       66 b8 00 00             mov    $0x0,%ax
9485 400086cf:       85 c0                   test   %eax,%eax
9486 400086d1:       74 17                   je     400086ea <calloc+0x44>
9487 400086d3:       8b 45 fc                mov    -0x4(%ebp),%eax
9488 400086d6:       ba 00 00 00 00          mov    $0x0,%edx
9489 400086db:       f7 75 08                divl   0x8(%ebp)
9490 400086de:       3b 45 0c                cmp    0xc(%ebp),%eax
9491 400086e1:       74 07                   je     400086ea <calloc+0x44>
9492 400086e3:       c7 45 fc ff ff ff ff    movl   $0xffffffff,-0x4(%ebp)
9493 400086ea:       8b 45 fc                mov    -0x4(%ebp),%eax
9494 400086ed:       89 04 24                mov    %eax,(%esp)
9495 400086f0:       e8 df ed ff ff          call   400074d4 <malloc>
9496 400086f5:       89 45 f8                mov    %eax,-0x8(%ebp)
9497 400086f8:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
9498 400086fc:       74 1a                   je     40008718 <calloc+0x72>
9499 400086fe:       8b 45 fc                mov    -0x4(%ebp),%eax
9500 40008701:       89 44 24 08             mov    %eax,0x8(%esp)
9501 40008705:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
9502 4000870c:       00 
9503 4000870d:       8b 45 f8                mov    -0x8(%ebp),%eax
9504 40008710:       89 04 24                mov    %eax,(%esp)
9505 40008713:       e8 31 21 00 00          call   4000a849 <memset>
9506 40008718:       8b 45 f8                mov    -0x8(%ebp),%eax
9507 4000871b:       c9                      leave  
9508 4000871c:       c3                      ret    
9510 4000871d <realloc>:
9511 4000871d:       55                      push   %ebp
9512 4000871e:       89 e5                   mov    %esp,%ebp
9513 40008720:       83 ec 28                sub    $0x28,%esp
9514 40008723:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
9515 40008727:       75 10                   jne    40008739 <realloc+0x1c>
9516 40008729:       8b 45 0c                mov    0xc(%ebp),%eax
9517 4000872c:       89 04 24                mov    %eax,(%esp)
9518 4000872f:       e8 a0 ed ff ff          call   400074d4 <malloc>
9519 40008734:       89 45 ec                mov    %eax,-0x14(%ebp)
9520 40008737:       eb 23                   jmp    4000875c <realloc+0x3f>
9521 40008739:       c7 45 fc 60 05 01 40    movl   $0x40010560,-0x4(%ebp)
9522 40008740:       8b 45 0c                mov    0xc(%ebp),%eax
9523 40008743:       89 44 24 08             mov    %eax,0x8(%esp)
9524 40008747:       8b 45 08                mov    0x8(%ebp),%eax
9525 4000874a:       89 44 24 04             mov    %eax,0x4(%esp)
9526 4000874e:       8b 45 fc                mov    -0x4(%ebp),%eax
9527 40008751:       89 04 24                mov    %eax,(%esp)
9528 40008754:       e8 8c e5 ff ff          call   40006ce5 <internal_realloc>
9529 40008759:       89 45 ec                mov    %eax,-0x14(%ebp)
9530 4000875c:       8b 45 ec                mov    -0x14(%ebp),%eax
9531 4000875f:       c9                      leave  
9532 40008760:       c3                      ret    
9534 40008761 <memalign>:
9535 40008761:       55                      push   %ebp
9536 40008762:       89 e5                   mov    %esp,%ebp
9537 40008764:       83 ec 18                sub    $0x18,%esp
9538 40008767:       8b 45 0c                mov    0xc(%ebp),%eax
9539 4000876a:       89 44 24 08             mov    %eax,0x8(%esp)
9540 4000876e:       8b 45 08                mov    0x8(%ebp),%eax
9541 40008771:       89 44 24 04             mov    %eax,0x4(%esp)
9542 40008775:       c7 04 24 60 05 01 40    movl   $0x40010560,(%esp)
9543 4000877c:       e8 24 e8 ff ff          call   40006fa5 <internal_memalign>
9544 40008781:       c9                      leave  
9545 40008782:       c3                      ret    
9547 40008783 <independent_calloc>:
9548 40008783:       55                      push   %ebp
9549 40008784:       89 e5                   mov    %esp,%ebp
9550 40008786:       83 ec 28                sub    $0x28,%esp
9551 40008789:       8b 45 0c                mov    0xc(%ebp),%eax
9552 4000878c:       89 45 fc                mov    %eax,-0x4(%ebp)
9553 4000878f:       8b 45 10                mov    0x10(%ebp),%eax
9554 40008792:       89 44 24 10             mov    %eax,0x10(%esp)
9555 40008796:       c7 44 24 0c 03 00 00    movl   $0x3,0xc(%esp)
9556 4000879d:       00 
9557 4000879e:       8d 45 fc                lea    -0x4(%ebp),%eax
9558 400087a1:       89 44 24 08             mov    %eax,0x8(%esp)
9559 400087a5:       8b 45 08                mov    0x8(%ebp),%eax
9560 400087a8:       89 44 24 04             mov    %eax,0x4(%esp)
9561 400087ac:       c7 04 24 60 05 01 40    movl   $0x40010560,(%esp)
9562 400087b3:       e8 8d ea ff ff          call   40007245 <ialloc>
9563 400087b8:       c9                      leave  
9564 400087b9:       c3                      ret    
9566 400087ba <independent_comalloc>:
9567 400087ba:       55                      push   %ebp
9568 400087bb:       89 e5                   mov    %esp,%ebp
9569 400087bd:       83 ec 18                sub    $0x18,%esp
9570 400087c0:       8b 45 10                mov    0x10(%ebp),%eax
9571 400087c3:       89 44 24 10             mov    %eax,0x10(%esp)
9572 400087c7:       c7 44 24 0c 00 00 00    movl   $0x0,0xc(%esp)
9573 400087ce:       00 
9574 400087cf:       8b 45 0c                mov    0xc(%ebp),%eax
9575 400087d2:       89 44 24 08             mov    %eax,0x8(%esp)
9576 400087d6:       8b 45 08                mov    0x8(%ebp),%eax
9577 400087d9:       89 44 24 04             mov    %eax,0x4(%esp)
9578 400087dd:       c7 04 24 60 05 01 40    movl   $0x40010560,(%esp)
9579 400087e4:       e8 5c ea ff ff          call   40007245 <ialloc>
9580 400087e9:       c9                      leave  
9581 400087ea:       c3                      ret    
9583 400087eb <valloc>:
9584 400087eb:       55                      push   %ebp
9585 400087ec:       89 e5                   mov    %esp,%ebp
9586 400087ee:       83 ec 18                sub    $0x18,%esp
9587 400087f1:       e8 98 bc ff ff          call   4000448e <init_mparams>
9588 400087f6:       a1 44 05 01 40          mov    0x40010544,%eax
9589 400087fb:       89 45 fc                mov    %eax,-0x4(%ebp)
9590 400087fe:       8b 45 08                mov    0x8(%ebp),%eax
9591 40008801:       89 44 24 04             mov    %eax,0x4(%esp)
9592 40008805:       8b 45 fc                mov    -0x4(%ebp),%eax
9593 40008808:       89 04 24                mov    %eax,(%esp)
9594 4000880b:       e8 51 ff ff ff          call   40008761 <memalign>
9595 40008810:       c9                      leave  
9596 40008811:       c3                      ret    
9598 40008812 <pvalloc>:
9599 40008812:       55                      push   %ebp
9600 40008813:       89 e5                   mov    %esp,%ebp
9601 40008815:       83 ec 18                sub    $0x18,%esp
9602 40008818:       e8 71 bc ff ff          call   4000448e <init_mparams>
9603 4000881d:       a1 44 05 01 40          mov    0x40010544,%eax
9604 40008822:       89 45 fc                mov    %eax,-0x4(%ebp)
9605 40008825:       8b 55 fc                mov    -0x4(%ebp),%edx
9606 40008828:       8b 45 08                mov    0x8(%ebp),%eax
9607 4000882b:       01 d0                   add    %edx,%eax
9608 4000882d:       8d 50 ff                lea    -0x1(%eax),%edx
9609 40008830:       8b 45 fc                mov    -0x4(%ebp),%eax
9610 40008833:       f7 d8                   neg    %eax
9611 40008835:       21 d0                   and    %edx,%eax
9612 40008837:       89 44 24 04             mov    %eax,0x4(%esp)
9613 4000883b:       8b 45 fc                mov    -0x4(%ebp),%eax
9614 4000883e:       89 04 24                mov    %eax,(%esp)
9615 40008841:       e8 1b ff ff ff          call   40008761 <memalign>
9616 40008846:       c9                      leave  
9617 40008847:       c3                      ret    
9619 40008848 <malloc_trim>:
9620 40008848:       55                      push   %ebp
9621 40008849:       89 e5                   mov    %esp,%ebp
9622 4000884b:       83 ec 18                sub    $0x18,%esp
9623 4000884e:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
9624 40008855:       8b 45 08                mov    0x8(%ebp),%eax
9625 40008858:       89 44 24 04             mov    %eax,0x4(%esp)
9626 4000885c:       c7 04 24 60 05 01 40    movl   $0x40010560,(%esp)
9627 40008863:       e8 0d d6 ff ff          call   40005e75 <sys_trim>
9628 40008868:       89 45 fc                mov    %eax,-0x4(%ebp)
9629 4000886b:       8b 45 fc                mov    -0x4(%ebp),%eax
9630 4000886e:       c9                      leave  
9631 4000886f:       c3                      ret    
9633 40008870 <malloc_footprint>:
9634 40008870:       55                      push   %ebp
9635 40008871:       89 e5                   mov    %esp,%ebp
9636 40008873:       a1 0c 07 01 40          mov    0x4001070c,%eax
9637 40008878:       5d                      pop    %ebp
9638 40008879:       c3                      ret    
9640 4000887a <malloc_max_footprint>:
9641 4000887a:       55                      push   %ebp
9642 4000887b:       89 e5                   mov    %esp,%ebp
9643 4000887d:       a1 10 07 01 40          mov    0x40010710,%eax
9644 40008882:       5d                      pop    %ebp
9645 40008883:       c3                      ret    
9647 40008884 <mallinfo>:
9648 40008884:       55                      push   %ebp
9649 40008885:       89 e5                   mov    %esp,%ebp
9650 40008887:       53                      push   %ebx
9651 40008888:       83 ec 08                sub    $0x8,%esp
9652 4000888b:       8b 5d 08                mov    0x8(%ebp),%ebx
9653 4000888e:       c7 44 24 04 60 05 01    movl   $0x40010560,0x4(%esp)
9654 40008895:       40 
9655 40008896:       89 1c 24                mov    %ebx,(%esp)
9656 40008899:       e8 15 bd ff ff          call   400045b3 <internal_mallinfo>
9657 4000889e:       83 ec 04                sub    $0x4,%esp
9658 400088a1:       89 d8                   mov    %ebx,%eax
9659 400088a3:       8b 5d fc                mov    -0x4(%ebp),%ebx
9660 400088a6:       c9                      leave  
9661 400088a7:       c2 04 00                ret    $0x4
9663 400088aa <malloc_stats>:
9664 400088aa:       55                      push   %ebp
9665 400088ab:       89 e5                   mov    %esp,%ebp
9666 400088ad:       83 ec 08                sub    $0x8,%esp
9667 400088b0:       c7 04 24 60 05 01 40    movl   $0x40010560,(%esp)
9668 400088b7:       e8 cc be ff ff          call   40004788 <internal_malloc_stats>
9669 400088bc:       c9                      leave  
9670 400088bd:       c3                      ret    
9672 400088be <malloc_usable_size>:
9673 400088be:       55                      push   %ebp
9674 400088bf:       89 e5                   mov    %esp,%ebp
9675 400088c1:       83 ec 14                sub    $0x14,%esp
9676 400088c4:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
9677 400088c8:       74 27                   je     400088f1 <malloc_usable_size+0x33>
9678 400088ca:       8b 45 08                mov    0x8(%ebp),%eax
9679 400088cd:       83 e8 08                sub    $0x8,%eax
9680 400088d0:       89 45 fc                mov    %eax,-0x4(%ebp)
9681 400088d3:       8b 45 fc                mov    -0x4(%ebp),%eax
9682 400088d6:       8b 40 04                mov    0x4(%eax),%eax
9683 400088d9:       83 e0 02                and    $0x2,%eax
9684 400088dc:       85 c0                   test   %eax,%eax
9685 400088de:       74 11                   je     400088f1 <malloc_usable_size+0x33>
9686 400088e0:       8b 45 fc                mov    -0x4(%ebp),%eax
9687 400088e3:       8b 40 04                mov    0x4(%eax),%eax
9688 400088e6:       83 e0 fc                and    $0xfffffffc,%eax
9689 400088e9:       83 e8 04                sub    $0x4,%eax
9690 400088ec:       89 45 ec                mov    %eax,-0x14(%ebp)
9691 400088ef:       eb 07                   jmp    400088f8 <malloc_usable_size+0x3a>
9692 400088f1:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
9693 400088f8:       8b 45 ec                mov    -0x14(%ebp),%eax
9694 400088fb:       c9                      leave  
9695 400088fc:       c3                      ret    
9697 400088fd <mallopt>:
9698 400088fd:       55                      push   %ebp
9699 400088fe:       89 e5                   mov    %esp,%ebp
9700 40008900:       83 ec 08                sub    $0x8,%esp
9701 40008903:       8b 45 0c                mov    0xc(%ebp),%eax
9702 40008906:       89 44 24 04             mov    %eax,0x4(%esp)
9703 4000890a:       8b 45 08                mov    0x8(%ebp),%eax
9704 4000890d:       89 04 24                mov    %eax,(%esp)
9705 40008910:       e8 14 bc ff ff          call   40004529 <change_mparam>
9706 40008915:       c9                      leave  
9707 40008916:       c3                      ret    
9708 40008917:       90                      nop    
9710 40008918 <basename>:
9711 40008918:       55                      push   %ebp
9712 40008919:       89 e5                   mov    %esp,%ebp
9713 4000891b:       83 ec 28                sub    $0x28,%esp
9714 4000891e:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
9715 40008922:       75 0c                   jne    40008930 <basename+0x18>
9716 40008924:       c7 45 ec 28 e8 00 40    movl   $0x4000e828,-0x14(%ebp)
9717 4000892b:       e9 cf 00 00 00          jmp    400089ff <basename+0xe7>
9718 40008930:       8b 45 08                mov    0x8(%ebp),%eax
9719 40008933:       0f b6 00                movzbl (%eax),%eax
9720 40008936:       84 c0                   test   %al,%al
9721 40008938:       75 0c                   jne    40008946 <basename+0x2e>
9722 4000893a:       c7 45 ec 28 e8 00 40    movl   $0x4000e828,-0x14(%ebp)
9723 40008941:       e9 b9 00 00 00          jmp    400089ff <basename+0xe7>
9724 40008946:       c7 44 24 04 2a e8 00    movl   $0x4000e82a,0x4(%esp)
9725 4000894d:       40 
9726 4000894e:       8b 45 08                mov    0x8(%ebp),%eax
9727 40008951:       89 04 24                mov    %eax,(%esp)
9728 40008954:       e8 ab 1f 00 00          call   4000a904 <strcmp>
9729 40008959:       85 c0                   test   %eax,%eax
9730 4000895b:       75 0b                   jne    40008968 <basename+0x50>
9731 4000895d:       8b 45 08                mov    0x8(%ebp),%eax
9732 40008960:       89 45 ec                mov    %eax,-0x14(%ebp)
9733 40008963:       e9 97 00 00 00          jmp    400089ff <basename+0xe7>
9734 40008968:       8b 45 08                mov    0x8(%ebp),%eax
9735 4000896b:       89 04 24                mov    %eax,(%esp)
9736 4000896e:       e8 a5 2b 00 00          call   4000b518 <path_parse>
9737 40008973:       89 45 f4                mov    %eax,-0xc(%ebp)
9738 40008976:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
9739 4000897d:       8b 45 f4                mov    -0xc(%ebp),%eax
9740 40008980:       8b 00                   mov    (%eax),%eax
9741 40008982:       83 e8 01                sub    $0x1,%eax
9742 40008985:       89 45 f8                mov    %eax,-0x8(%ebp)
9743 40008988:       eb 45                   jmp    400089cf <basename+0xb7>
9744 4000898a:       8b 45 f4                mov    -0xc(%ebp),%eax
9745 4000898d:       8b 50 04                mov    0x4(%eax),%edx
9746 40008990:       8b 45 f8                mov    -0x8(%ebp),%eax
9747 40008993:       c1 e0 02                shl    $0x2,%eax
9748 40008996:       8d 04 02                lea    (%edx,%eax,1),%eax
9749 40008999:       8b 00                   mov    (%eax),%eax
9750 4000899b:       0f b6 00                movzbl (%eax),%eax
9751 4000899e:       84 c0                   test   %al,%al
9752 400089a0:       74 29                   je     400089cb <basename+0xb3>
9753 400089a2:       8b 45 f4                mov    -0xc(%ebp),%eax
9754 400089a5:       8b 50 04                mov    0x4(%eax),%edx
9755 400089a8:       8b 45 f8                mov    -0x8(%ebp),%eax
9756 400089ab:       c1 e0 02                shl    $0x2,%eax
9757 400089ae:       8d 04 02                lea    (%edx,%eax,1),%eax
9758 400089b1:       8b 00                   mov    (%eax),%eax
9759 400089b3:       89 44 24 04             mov    %eax,0x4(%esp)
9760 400089b7:       8b 45 08                mov    0x8(%ebp),%eax
9761 400089ba:       89 04 24                mov    %eax,(%esp)
9762 400089bd:       e8 cf 1f 00 00          call   4000a991 <strcpy>
9763 400089c2:       c7 45 fc 01 00 00 00    movl   $0x1,-0x4(%ebp)
9764 400089c9:       eb 0a                   jmp    400089d5 <basename+0xbd>
9765 400089cb:       83 6d f8 01             subl   $0x1,-0x8(%ebp)
9766 400089cf:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
9767 400089d3:       79 b5                   jns    4000898a <basename+0x72>
9768 400089d5:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
9769 400089d9:       75 13                   jne    400089ee <basename+0xd6>
9770 400089db:       c7 44 24 04 2a e8 00    movl   $0x4000e82a,0x4(%esp)
9771 400089e2:       40 
9772 400089e3:       8b 45 08                mov    0x8(%ebp),%eax
9773 400089e6:       89 04 24                mov    %eax,(%esp)
9774 400089e9:       e8 a3 1f 00 00          call   4000a991 <strcpy>
9775 400089ee:       8b 45 f4                mov    -0xc(%ebp),%eax
9776 400089f1:       89 04 24                mov    %eax,(%esp)
9777 400089f4:       e8 44 2c 00 00          call   4000b63d <path_destroy>
9778 400089f9:       8b 45 08                mov    0x8(%ebp),%eax
9779 400089fc:       89 45 ec                mov    %eax,-0x14(%ebp)
9780 400089ff:       8b 45 ec                mov    -0x14(%ebp),%eax
9781 40008a02:       c9                      leave  
9782 40008a03:       c3                      ret    
9784 40008a04 <dirname>:
9785 40008a04:       55                      push   %ebp
9786 40008a05:       89 e5                   mov    %esp,%ebp
9787 40008a07:       83 ec 28                sub    $0x28,%esp
9788 40008a0a:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
9789 40008a0e:       75 0c                   jne    40008a1c <dirname+0x18>
9790 40008a10:       c7 45 ec 28 e8 00 40    movl   $0x4000e828,-0x14(%ebp)
9791 40008a17:       e9 42 01 00 00          jmp    40008b5e <dirname+0x15a>
9792 40008a1c:       c7 44 24 04 2a e8 00    movl   $0x4000e82a,0x4(%esp)
9793 40008a23:       40 
9794 40008a24:       8b 45 08                mov    0x8(%ebp),%eax
9795 40008a27:       89 04 24                mov    %eax,(%esp)
9796 40008a2a:       e8 d5 1e 00 00          call   4000a904 <strcmp>
9797 40008a2f:       85 c0                   test   %eax,%eax
9798 40008a31:       75 0c                   jne    40008a3f <dirname+0x3b>
9799 40008a33:       c7 45 ec 2a e8 00 40    movl   $0x4000e82a,-0x14(%ebp)
9800 40008a3a:       e9 1f 01 00 00          jmp    40008b5e <dirname+0x15a>
9801 40008a3f:       c7 44 24 04 2f 00 00    movl   $0x2f,0x4(%esp)
9802 40008a46:       00 
9803 40008a47:       8b 45 08                mov    0x8(%ebp),%eax
9804 40008a4a:       89 04 24                mov    %eax,(%esp)
9805 40008a4d:       e8 52 1e 00 00          call   4000a8a4 <strchr>
9806 40008a52:       85 c0                   test   %eax,%eax
9807 40008a54:       74 38                   je     40008a8e <dirname+0x8a>
9808 40008a56:       8b 45 08                mov    0x8(%ebp),%eax
9809 40008a59:       0f b6 00                movzbl (%eax),%eax
9810 40008a5c:       84 c0                   test   %al,%al
9811 40008a5e:       74 2e                   je     40008a8e <dirname+0x8a>
9812 40008a60:       c7 44 24 04 28 e8 00    movl   $0x4000e828,0x4(%esp)
9813 40008a67:       40 
9814 40008a68:       8b 45 08                mov    0x8(%ebp),%eax
9815 40008a6b:       89 04 24                mov    %eax,(%esp)
9816 40008a6e:       e8 91 1e 00 00          call   4000a904 <strcmp>
9817 40008a73:       85 c0                   test   %eax,%eax
9818 40008a75:       74 17                   je     40008a8e <dirname+0x8a>
9819 40008a77:       c7 44 24 04 2c e8 00    movl   $0x4000e82c,0x4(%esp)
9820 40008a7e:       40 
9821 40008a7f:       8b 45 08                mov    0x8(%ebp),%eax
9822 40008a82:       89 04 24                mov    %eax,(%esp)
9823 40008a85:       e8 7a 1e 00 00          call   4000a904 <strcmp>
9824 40008a8a:       85 c0                   test   %eax,%eax
9825 40008a8c:       75 0c                   jne    40008a9a <dirname+0x96>
9826 40008a8e:       c7 45 ec 28 e8 00 40    movl   $0x4000e828,-0x14(%ebp)
9827 40008a95:       e9 c4 00 00 00          jmp    40008b5e <dirname+0x15a>
9828 40008a9a:       8b 45 08                mov    0x8(%ebp),%eax
9829 40008a9d:       89 04 24                mov    %eax,(%esp)
9830 40008aa0:       e8 73 2a 00 00          call   4000b518 <path_parse>
9831 40008aa5:       89 45 f8                mov    %eax,-0x8(%ebp)
9832 40008aa8:       8b 45 f8                mov    -0x8(%ebp),%eax
9833 40008aab:       8b 00                   mov    (%eax),%eax
9834 40008aad:       83 f8 01                cmp    $0x1,%eax
9835 40008ab0:       77 15                   ja     40008ac7 <dirname+0xc3>
9836 40008ab2:       c7 44 24 04 28 e8 00    movl   $0x4000e828,0x4(%esp)
9837 40008ab9:       40 
9838 40008aba:       8b 45 08                mov    0x8(%ebp),%eax
9839 40008abd:       89 04 24                mov    %eax,(%esp)
9840 40008ac0:       e8 cc 1e 00 00          call   4000a991 <strcpy>
9841 40008ac5:       eb 71                   jmp    40008b38 <dirname+0x134>
9842 40008ac7:       8b 45 f8                mov    -0x8(%ebp),%eax
9843 40008aca:       8b 00                   mov    (%eax),%eax
9844 40008acc:       83 e8 01                sub    $0x1,%eax
9845 40008acf:       89 45 fc                mov    %eax,-0x4(%ebp)
9846 40008ad2:       eb 5e                   jmp    40008b32 <dirname+0x12e>
9847 40008ad4:       8b 45 f8                mov    -0x8(%ebp),%eax
9848 40008ad7:       8b 50 04                mov    0x4(%eax),%edx
9849 40008ada:       8b 45 fc                mov    -0x4(%ebp),%eax
9850 40008add:       c1 e0 02                shl    $0x2,%eax
9851 40008ae0:       8d 04 02                lea    (%edx,%eax,1),%eax
9852 40008ae3:       8b 00                   mov    (%eax),%eax
9853 40008ae5:       0f b6 00                movzbl (%eax),%eax
9854 40008ae8:       84 c0                   test   %al,%al
9855 40008aea:       74 42                   je     40008b2e <dirname+0x12a>
9856 40008aec:       8b 45 f8                mov    -0x8(%ebp),%eax
9857 40008aef:       8b 50 04                mov    0x4(%eax),%edx
9858 40008af2:       8b 45 fc                mov    -0x4(%ebp),%eax
9859 40008af5:       c1 e0 02                shl    $0x2,%eax
9860 40008af8:       8d 04 02                lea    (%edx,%eax,1),%eax
9861 40008afb:       8b 00                   mov    (%eax),%eax
9862 40008afd:       89 04 24                mov    %eax,(%esp)
9863 40008b00:       e8 1f 1f 00 00          call   4000aa24 <strlen>
9864 40008b05:       89 c1                   mov    %eax,%ecx
9865 40008b07:       8b 45 f8                mov    -0x8(%ebp),%eax
9866 40008b0a:       8b 50 04                mov    0x4(%eax),%edx
9867 40008b0d:       8b 45 fc                mov    -0x4(%ebp),%eax
9868 40008b10:       c1 e0 02                shl    $0x2,%eax
9869 40008b13:       8d 04 02                lea    (%edx,%eax,1),%eax
9870 40008b16:       8b 00                   mov    (%eax),%eax
9871 40008b18:       89 4c 24 08             mov    %ecx,0x8(%esp)
9872 40008b1c:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
9873 40008b23:       00 
9874 40008b24:       89 04 24                mov    %eax,(%esp)
9875 40008b27:       e8 1d 1d 00 00          call   4000a849 <memset>
9876 40008b2c:       eb 0a                   jmp    40008b38 <dirname+0x134>
9877 40008b2e:       83 6d fc 01             subl   $0x1,-0x4(%ebp)
9878 40008b32:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
9879 40008b36:       79 9c                   jns    40008ad4 <dirname+0xd0>
9880 40008b38:       8b 45 08                mov    0x8(%ebp),%eax
9881 40008b3b:       89 44 24 04             mov    %eax,0x4(%esp)
9882 40008b3f:       8b 45 f8                mov    -0x8(%ebp),%eax
9883 40008b42:       89 04 24                mov    %eax,(%esp)
9884 40008b45:       e8 9a 2c 00 00          call   4000b7e4 <path_output>
9885 40008b4a:       89 45 08                mov    %eax,0x8(%ebp)
9886 40008b4d:       8b 45 f8                mov    -0x8(%ebp),%eax
9887 40008b50:       89 04 24                mov    %eax,(%esp)
9888 40008b53:       e8 e5 2a 00 00          call   4000b63d <path_destroy>
9889 40008b58:       8b 45 08                mov    0x8(%ebp),%eax
9890 40008b5b:       89 45 ec                mov    %eax,-0x14(%ebp)
9891 40008b5e:       8b 45 ec                mov    -0x14(%ebp),%eax
9892 40008b61:       c9                      leave  
9893 40008b62:       c3                      ret    
9895 40008b63 <realpath>:
9896 40008b63:       55                      push   %ebp
9897 40008b64:       89 e5                   mov    %esp,%ebp
9898 40008b66:       83 ec 18                sub    $0x18,%esp
9899 40008b69:       8b 45 0c                mov    0xc(%ebp),%eax
9900 40008b6c:       89 45 f8                mov    %eax,-0x8(%ebp)
9901 40008b6f:       8b 45 08                mov    0x8(%ebp),%eax
9902 40008b72:       89 04 24                mov    %eax,(%esp)
9903 40008b75:       e8 9e 29 00 00          call   4000b518 <path_parse>
9904 40008b7a:       89 45 fc                mov    %eax,-0x4(%ebp)
9905 40008b7d:       8b 45 fc                mov    -0x4(%ebp),%eax
9906 40008b80:       89 04 24                mov    %eax,(%esp)
9907 40008b83:       e8 ea 2a 00 00          call   4000b672 <path_reject_dots>
9908 40008b88:       8b 45 fc                mov    -0x4(%ebp),%eax
9909 40008b8b:       8b 40 0c                mov    0xc(%eax),%eax
9910 40008b8e:       85 c0                   test   %eax,%eax
9911 40008b90:       75 21                   jne    40008bb3 <realpath+0x50>
9912 40008b92:       c7 44 24 04 00 04 00    movl   $0x400,0x4(%esp)
9913 40008b99:       00 
9914 40008b9a:       8b 45 f8                mov    -0x8(%ebp),%eax
9915 40008b9d:       89 04 24                mov    %eax,(%esp)
9916 40008ba0:       e8 00 9a ff ff          call   400025a5 <getcwd>
9917 40008ba5:       8b 45 f8                mov    -0x8(%ebp),%eax
9918 40008ba8:       89 04 24                mov    %eax,(%esp)
9919 40008bab:       e8 74 1e 00 00          call   4000aa24 <strlen>
9920 40008bb0:       01 45 f8                add    %eax,-0x8(%ebp)
9921 40008bb3:       8b 45 f8                mov    -0x8(%ebp),%eax
9922 40008bb6:       89 44 24 04             mov    %eax,0x4(%esp)
9923 40008bba:       8b 45 fc                mov    -0x4(%ebp),%eax
9924 40008bbd:       89 04 24                mov    %eax,(%esp)
9925 40008bc0:       e8 1f 2c 00 00          call   4000b7e4 <path_output>
9926 40008bc5:       8b 45 0c                mov    0xc(%ebp),%eax
9927 40008bc8:       c9                      leave  
9928 40008bc9:       c3                      ret    
9929 40008bca:       90                      nop    
9930 40008bcb:       90                      nop    
9932 40008bcc <shmget>:
9933 40008bcc:       55                      push   %ebp
9934 40008bcd:       89 e5                   mov    %esp,%ebp
9935 40008bcf:       83 ec 38                sub    $0x38,%esp
9936 40008bd2:       8b 45 10                mov    0x10(%ebp),%eax
9937 40008bd5:       25 00 02 00 00          and    $0x200,%eax
9938 40008bda:       85 c0                   test   %eax,%eax
9939 40008bdc:       75 06                   jne    40008be4 <shmget+0x18>
9940 40008bde:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
9941 40008be2:       75 3c                   jne    40008c20 <shmget+0x54>
9942 40008be4:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
9943 40008beb:       e8 52 0c 00 00          call   40009842 <time>
9944 40008bf0:       89 44 24 14             mov    %eax,0x14(%esp)
9945 40008bf4:       8b 45 10                mov    0x10(%ebp),%eax
9946 40008bf7:       89 44 24 10             mov    %eax,0x10(%esp)
9947 40008bfb:       8b 45 0c                mov    0xc(%ebp),%eax
9948 40008bfe:       89 44 24 0c             mov    %eax,0xc(%esp)
9949 40008c02:       8b 45 08                mov    0x8(%ebp),%eax
9950 40008c05:       89 44 24 08             mov    %eax,0x8(%esp)
9951 40008c09:       c7 44 24 04 04 00 00    movl   $0x4,0x4(%esp)
9952 40008c10:       00 
9953 40008c11:       c7 04 24 1b 00 00 00    movl   $0x1b,(%esp)
9954 40008c18:       e8 b3 3d 00 00          call   4000c9d0 <syscall_call>
9955 40008c1d:       89 45 fc                mov    %eax,-0x4(%ebp)
9956 40008c20:       8b 45 10                mov    0x10(%ebp),%eax
9957 40008c23:       25 00 02 00 00          and    $0x200,%eax
9958 40008c28:       85 c0                   test   %eax,%eax
9959 40008c2a:       74 06                   je     40008c32 <shmget+0x66>
9960 40008c2c:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
9961 40008c30:       79 2a                   jns    40008c5c <shmget+0x90>
9962 40008c32:       8b 45 10                mov    0x10(%ebp),%eax
9963 40008c35:       25 00 04 00 00          and    $0x400,%eax
9964 40008c3a:       85 c0                   test   %eax,%eax
9965 40008c3c:       75 1e                   jne    40008c5c <shmget+0x90>
9966 40008c3e:       8b 45 08                mov    0x8(%ebp),%eax
9967 40008c41:       89 44 24 08             mov    %eax,0x8(%esp)
9968 40008c45:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
9969 40008c4c:       00 
9970 40008c4d:       c7 04 24 1a 00 00 00    movl   $0x1a,(%esp)
9971 40008c54:       e8 77 3d 00 00          call   4000c9d0 <syscall_call>
9972 40008c59:       89 45 fc                mov    %eax,-0x4(%ebp)
9973 40008c5c:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
9974 40008c60:       79 0c                   jns    40008c6e <shmget+0xa2>
9975 40008c62:       8b 45 fc                mov    -0x4(%ebp),%eax
9976 40008c65:       89 c2                   mov    %eax,%edx
9977 40008c67:       f7 da                   neg    %edx
9978 40008c69:       89 55 ec                mov    %edx,-0x14(%ebp)
9979 40008c6c:       eb 07                   jmp    40008c75 <shmget+0xa9>
9980 40008c6e:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
9981 40008c75:       8b 45 ec                mov    -0x14(%ebp),%eax
9982 40008c78:       a3 10 1c 01 40          mov    %eax,0x40011c10
9983 40008c7d:       8b 45 fc                mov    -0x4(%ebp),%eax
9984 40008c80:       c1 f8 1f                sar    $0x1f,%eax
9985 40008c83:       0b 45 fc                or     -0x4(%ebp),%eax
9986 40008c86:       c9                      leave  
9987 40008c87:       c3                      ret    
9989 40008c88 <shmat>:
9990 40008c88:       55                      push   %ebp
9991 40008c89:       89 e5                   mov    %esp,%ebp
9992 40008c8b:       83 ec 38                sub    $0x38,%esp
9993 40008c8e:       8b 45 0c                mov    0xc(%ebp),%eax
9994 40008c91:       89 45 f8                mov    %eax,-0x8(%ebp)
9995 40008c94:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
9996 40008c9b:       e8 a2 0b 00 00          call   40009842 <time>
9997 40008ca0:       89 44 24 14             mov    %eax,0x14(%esp)
9998 40008ca4:       8b 45 10                mov    0x10(%ebp),%eax
9999 40008ca7:       89 44 24 10             mov    %eax,0x10(%esp)
10000 40008cab:       8d 45 f8                lea    -0x8(%ebp),%eax
10001 40008cae:       89 44 24 0c             mov    %eax,0xc(%esp)
10002 40008cb2:       8b 45 08                mov    0x8(%ebp),%eax
10003 40008cb5:       89 44 24 08             mov    %eax,0x8(%esp)
10004 40008cb9:       c7 44 24 04 04 00 00    movl   $0x4,0x4(%esp)
10005 40008cc0:       00 
10006 40008cc1:       c7 04 24 1c 00 00 00    movl   $0x1c,(%esp)
10007 40008cc8:       e8 03 3d 00 00          call   4000c9d0 <syscall_call>
10008 40008ccd:       89 45 fc                mov    %eax,-0x4(%ebp)
10009 40008cd0:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
10010 40008cd4:       79 0c                   jns    40008ce2 <shmat+0x5a>
10011 40008cd6:       8b 45 fc                mov    -0x4(%ebp),%eax
10012 40008cd9:       89 c2                   mov    %eax,%edx
10013 40008cdb:       f7 da                   neg    %edx
10014 40008cdd:       89 55 e8                mov    %edx,-0x18(%ebp)
10015 40008ce0:       eb 07                   jmp    40008ce9 <shmat+0x61>
10016 40008ce2:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
10017 40008ce9:       8b 45 e8                mov    -0x18(%ebp),%eax
10018 40008cec:       a3 10 1c 01 40          mov    %eax,0x40011c10
10019 40008cf1:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
10020 40008cf5:       78 08                   js     40008cff <shmat+0x77>
10021 40008cf7:       8b 55 f8                mov    -0x8(%ebp),%edx
10022 40008cfa:       89 55 ec                mov    %edx,-0x14(%ebp)
10023 40008cfd:       eb 07                   jmp    40008d06 <shmat+0x7e>
10024 40008cff:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
10025 40008d06:       8b 45 ec                mov    -0x14(%ebp),%eax
10026 40008d09:       c9                      leave  
10027 40008d0a:       c3                      ret    
10029 40008d0b <shmdt>:
10030 40008d0b:       55                      push   %ebp
10031 40008d0c:       89 e5                   mov    %esp,%ebp
10032 40008d0e:       83 ec 28                sub    $0x28,%esp
10033 40008d11:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
10034 40008d18:       e8 25 0b 00 00          call   40009842 <time>
10035 40008d1d:       89 44 24 0c             mov    %eax,0xc(%esp)
10036 40008d21:       8b 45 08                mov    0x8(%ebp),%eax
10037 40008d24:       89 44 24 08             mov    %eax,0x8(%esp)
10038 40008d28:       c7 44 24 04 02 00 00    movl   $0x2,0x4(%esp)
10039 40008d2f:       00 
10040 40008d30:       c7 04 24 1d 00 00 00    movl   $0x1d,(%esp)
10041 40008d37:       e8 94 3c 00 00          call   4000c9d0 <syscall_call>
10042 40008d3c:       89 45 fc                mov    %eax,-0x4(%ebp)
10043 40008d3f:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
10044 40008d43:       79 0c                   jns    40008d51 <shmdt+0x46>
10045 40008d45:       8b 45 fc                mov    -0x4(%ebp),%eax
10046 40008d48:       89 c2                   mov    %eax,%edx
10047 40008d4a:       f7 da                   neg    %edx
10048 40008d4c:       89 55 e8                mov    %edx,-0x18(%ebp)
10049 40008d4f:       eb 07                   jmp    40008d58 <shmdt+0x4d>
10050 40008d51:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
10051 40008d58:       8b 45 e8                mov    -0x18(%ebp),%eax
10052 40008d5b:       a3 10 1c 01 40          mov    %eax,0x40011c10
10053 40008d60:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
10054 40008d64:       79 09                   jns    40008d6f <shmdt+0x64>
10055 40008d66:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
10056 40008d6d:       eb 07                   jmp    40008d76 <shmdt+0x6b>
10057 40008d6f:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
10058 40008d76:       8b 45 ec                mov    -0x14(%ebp),%eax
10059 40008d79:       c9                      leave  
10060 40008d7a:       c3                      ret    
10062 40008d7b <shmctl>:
10063 40008d7b:       55                      push   %ebp
10064 40008d7c:       89 e5                   mov    %esp,%ebp
10065 40008d7e:       57                      push   %edi
10066 40008d7f:       56                      push   %esi
10067 40008d80:       53                      push   %ebx
10068 40008d81:       83 ec 7c                sub    $0x7c,%esp
10069 40008d84:       83 7d 0c 03             cmpl   $0x3,0xc(%ebp)
10070 40008d88:       0f 85 c2 00 00 00       jne    40008e50 <shmctl+0xd5>
10071 40008d8e:       8b 45 10                mov    0x10(%ebp),%eax
10072 40008d91:       8d 50 2c                lea    0x2c(%eax),%edx
10073 40008d94:       8b 45 10                mov    0x10(%ebp),%eax
10074 40008d97:       8d 48 28                lea    0x28(%eax),%ecx
10075 40008d9a:       8b 45 10                mov    0x10(%ebp),%eax
10076 40008d9d:       8d 58 24                lea    0x24(%eax),%ebx
10077 40008da0:       8b 45 10                mov    0x10(%ebp),%eax
10078 40008da3:       8d 70 20                lea    0x20(%eax),%esi
10079 40008da6:       8b 45 10                mov    0x10(%ebp),%eax
10080 40008da9:       8d 78 1c                lea    0x1c(%eax),%edi
10081 40008dac:       8b 45 10                mov    0x10(%ebp),%eax
10082 40008daf:       83 c0 18                add    $0x18,%eax
10083 40008db2:       89 45 c4                mov    %eax,-0x3c(%ebp)
10084 40008db5:       8b 45 10                mov    0x10(%ebp),%eax
10085 40008db8:       83 c0 14                add    $0x14,%eax
10086 40008dbb:       89 45 c8                mov    %eax,-0x38(%ebp)
10087 40008dbe:       8b 45 10                mov    0x10(%ebp),%eax
10088 40008dc1:       83 c0 10                add    $0x10,%eax
10089 40008dc4:       89 45 cc                mov    %eax,-0x34(%ebp)
10090 40008dc7:       8b 45 10                mov    0x10(%ebp),%eax
10091 40008dca:       83 c0 0c                add    $0xc,%eax
10092 40008dcd:       89 45 d0                mov    %eax,-0x30(%ebp)
10093 40008dd0:       8b 45 10                mov    0x10(%ebp),%eax
10094 40008dd3:       83 c0 08                add    $0x8,%eax
10095 40008dd6:       89 45 d4                mov    %eax,-0x2c(%ebp)
10096 40008dd9:       8b 45 10                mov    0x10(%ebp),%eax
10097 40008ddc:       83 c0 04                add    $0x4,%eax
10098 40008ddf:       89 45 c0                mov    %eax,-0x40(%ebp)
10099 40008de2:       8b 45 10                mov    0x10(%ebp),%eax
10100 40008de5:       89 45 d8                mov    %eax,-0x28(%ebp)
10101 40008de8:       89 54 24 38             mov    %edx,0x38(%esp)
10102 40008dec:       89 4c 24 34             mov    %ecx,0x34(%esp)
10103 40008df0:       89 5c 24 30             mov    %ebx,0x30(%esp)
10104 40008df4:       89 74 24 2c             mov    %esi,0x2c(%esp)
10105 40008df8:       89 7c 24 28             mov    %edi,0x28(%esp)
10106 40008dfc:       8b 55 c4                mov    -0x3c(%ebp),%edx
10107 40008dff:       89 54 24 24             mov    %edx,0x24(%esp)
10108 40008e03:       8b 45 c8                mov    -0x38(%ebp),%eax
10109 40008e06:       89 44 24 20             mov    %eax,0x20(%esp)
10110 40008e0a:       8b 55 cc                mov    -0x34(%ebp),%edx
10111 40008e0d:       89 54 24 1c             mov    %edx,0x1c(%esp)
10112 40008e11:       8b 45 d0                mov    -0x30(%ebp),%eax
10113 40008e14:       89 44 24 18             mov    %eax,0x18(%esp)
10114 40008e18:       8b 55 d4                mov    -0x2c(%ebp),%edx
10115 40008e1b:       89 54 24 14             mov    %edx,0x14(%esp)
10116 40008e1f:       8b 45 c0                mov    -0x40(%ebp),%eax
10117 40008e22:       89 44 24 10             mov    %eax,0x10(%esp)
10118 40008e26:       8b 55 d8                mov    -0x28(%ebp),%edx
10119 40008e29:       89 54 24 0c             mov    %edx,0xc(%esp)
10120 40008e2d:       8b 45 08                mov    0x8(%ebp),%eax
10121 40008e30:       89 44 24 08             mov    %eax,0x8(%esp)
10122 40008e34:       c7 44 24 04 0d 00 00    movl   $0xd,0x4(%esp)
10123 40008e3b:       00 
10124 40008e3c:       c7 04 24 1e 00 00 00    movl   $0x1e,(%esp)
10125 40008e43:       e8 88 3b 00 00          call   4000c9d0 <syscall_call>
10126 40008e48:       89 45 f0                mov    %eax,-0x10(%ebp)
10127 40008e4b:       e9 87 00 00 00          jmp    40008ed7 <shmctl+0x15c>
10128 40008e50:       83 7d 0c 02             cmpl   $0x2,0xc(%ebp)
10129 40008e54:       75 57                   jne    40008ead <shmctl+0x132>
10130 40008e56:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
10131 40008e5d:       e8 e0 09 00 00          call   40009842 <time>
10132 40008e62:       89 c2                   mov    %eax,%edx
10133 40008e64:       8b 45 10                mov    0x10(%ebp),%eax
10134 40008e67:       8b 48 10                mov    0x10(%eax),%ecx
10135 40008e6a:       8b 45 10                mov    0x10(%ebp),%eax
10136 40008e6d:       8b 58 04                mov    0x4(%eax),%ebx
10137 40008e70:       8b 45 10                mov    0x10(%ebp),%eax
10138 40008e73:       8b 00                   mov    (%eax),%eax
10139 40008e75:       c7 44 24 1c 05 00 00    movl   $0x5,0x1c(%esp)
10140 40008e7c:       00 
10141 40008e7d:       89 54 24 18             mov    %edx,0x18(%esp)
10142 40008e81:       89 4c 24 14             mov    %ecx,0x14(%esp)
10143 40008e85:       89 5c 24 10             mov    %ebx,0x10(%esp)
10144 40008e89:       89 44 24 0c             mov    %eax,0xc(%esp)
10145 40008e8d:       8b 45 08                mov    0x8(%ebp),%eax
10146 40008e90:       89 44 24 08             mov    %eax,0x8(%esp)
10147 40008e94:       c7 44 24 04 07 00 00    movl   $0x7,0x4(%esp)
10148 40008e9b:       00 
10149 40008e9c:       c7 04 24 1f 00 00 00    movl   $0x1f,(%esp)
10150 40008ea3:       e8 28 3b 00 00          call   4000c9d0 <syscall_call>
10151 40008ea8:       89 45 f0                mov    %eax,-0x10(%ebp)
10152 40008eab:       eb 2a                   jmp    40008ed7 <shmctl+0x15c>
10153 40008ead:       83 7d 0c 01             cmpl   $0x1,0xc(%ebp)
10154 40008eb1:       75 1d                   jne    40008ed0 <shmctl+0x155>
10155 40008eb3:       8b 45 08                mov    0x8(%ebp),%eax
10156 40008eb6:       89 44 24 08             mov    %eax,0x8(%esp)
10157 40008eba:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
10158 40008ec1:       00 
10159 40008ec2:       c7 04 24 20 00 00 00    movl   $0x20,(%esp)
10160 40008ec9:       e8 02 3b 00 00          call   4000c9d0 <syscall_call>
10161 40008ece:       eb 07                   jmp    40008ed7 <shmctl+0x15c>
10162 40008ed0:       c7 45 f0 e4 ff ff ff    movl   $0xffffffe4,-0x10(%ebp)
10163 40008ed7:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
10164 40008edb:       79 0c                   jns    40008ee9 <shmctl+0x16e>
10165 40008edd:       8b 45 f0                mov    -0x10(%ebp),%eax
10166 40008ee0:       89 c2                   mov    %eax,%edx
10167 40008ee2:       f7 da                   neg    %edx
10168 40008ee4:       89 55 dc                mov    %edx,-0x24(%ebp)
10169 40008ee7:       eb 07                   jmp    40008ef0 <shmctl+0x175>
10170 40008ee9:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
10171 40008ef0:       8b 45 dc                mov    -0x24(%ebp),%eax
10172 40008ef3:       a3 10 1c 01 40          mov    %eax,0x40011c10
10173 40008ef8:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
10174 40008efc:       79 09                   jns    40008f07 <shmctl+0x18c>
10175 40008efe:       c7 45 e0 ff ff ff ff    movl   $0xffffffff,-0x20(%ebp)
10176 40008f05:       eb 07                   jmp    40008f0e <shmctl+0x193>
10177 40008f07:       c7 45 e0 00 00 00 00    movl   $0x0,-0x20(%ebp)
10178 40008f0e:       8b 45 e0                mov    -0x20(%ebp),%eax
10179 40008f11:       83 c4 7c                add    $0x7c,%esp
10180 40008f14:       5b                      pop    %ebx
10181 40008f15:       5e                      pop    %esi
10182 40008f16:       5f                      pop    %edi
10183 40008f17:       5d                      pop    %ebp
10184 40008f18:       c3                      ret    
10185 40008f19:       90                      nop    
10186 40008f1a:       90                      nop    
10187 40008f1b:       90                      nop    
10189 40008f1c <signal_create>:
10190 40008f1c:       55                      push   %ebp
10191 40008f1d:       89 e5                   mov    %esp,%ebp
10192 40008f1f:       8b 45 08                mov    0x8(%ebp),%eax
10193 40008f22:       89 c2                   mov    %eax,%edx
10194 40008f24:       c1 e2 04                shl    $0x4,%edx
10195 40008f27:       8b 45 0c                mov    0xc(%ebp),%eax
10196 40008f2a:       89 82 40 07 01 40       mov    %eax,0x40010740(%edx)
10197 40008f30:       8b 45 08                mov    0x8(%ebp),%eax
10198 40008f33:       89 c2                   mov    %eax,%edx
10199 40008f35:       c1 e2 04                shl    $0x4,%edx
10200 40008f38:       8b 45 0c                mov    0xc(%ebp),%eax
10201 40008f3b:       89 82 44 07 01 40       mov    %eax,0x40010744(%edx)
10202 40008f41:       5d                      pop    %ebp
10203 40008f42:       c3                      ret    
10205 40008f43 <_signal_handler>:
10206 40008f43:       55                      push   %ebp
10207 40008f44:       89 e5                   mov    %esp,%ebp
10208 40008f46:       83 ec 08                sub    $0x8,%esp
10209 40008f49:       83 7d 08 3f             cmpl   $0x3f,0x8(%ebp)
10210 40008f4d:       7f 4e                   jg     40008f9d <_signal_handler+0x5a>
10211 40008f4f:       8b 45 08                mov    0x8(%ebp),%eax
10212 40008f52:       c1 e0 04                shl    $0x4,%eax
10213 40008f55:       8b 80 44 07 01 40       mov    0x40010744(%eax),%eax
10214 40008f5b:       85 c0                   test   %eax,%eax
10215 40008f5d:       74 3e                   je     40008f9d <_signal_handler+0x5a>
10216 40008f5f:       8b 45 08                mov    0x8(%ebp),%eax
10217 40008f62:       c1 e0 04                shl    $0x4,%eax
10218 40008f65:       8b 90 44 07 01 40       mov    0x40010744(%eax),%edx
10219 40008f6b:       8b 45 08                mov    0x8(%ebp),%eax
10220 40008f6e:       89 04 24                mov    %eax,(%esp)
10221 40008f71:       ff d2                   call   *%edx
10222 40008f73:       8b 45 08                mov    0x8(%ebp),%eax
10223 40008f76:       c1 e0 04                shl    $0x4,%eax
10224 40008f79:       8b 80 4c 07 01 40       mov    0x4001074c(%eax),%eax
10225 40008f7f:       85 c0                   test   %eax,%eax
10226 40008f81:       74 1a                   je     40008f9d <_signal_handler+0x5a>
10227 40008f83:       8b 4d 08                mov    0x8(%ebp),%ecx
10228 40008f86:       8b 45 08                mov    0x8(%ebp),%eax
10229 40008f89:       c1 e0 04                shl    $0x4,%eax
10230 40008f8c:       8b 90 40 07 01 40       mov    0x40010740(%eax),%edx
10231 40008f92:       89 c8                   mov    %ecx,%eax
10232 40008f94:       c1 e0 04                shl    $0x4,%eax
10233 40008f97:       89 90 44 07 01 40       mov    %edx,0x40010744(%eax)
10234 40008f9d:       c9                      leave  
10235 40008f9e:       c3                      ret    
10237 40008f9f <_signal_dfl_ignore>:
10238 40008f9f:       55                      push   %ebp
10239 40008fa0:       89 e5                   mov    %esp,%ebp
10240 40008fa2:       5d                      pop    %ebp
10241 40008fa3:       c3                      ret    
10243 40008fa4 <signal_dfl_term>:
10244 40008fa4:       55                      push   %ebp
10245 40008fa5:       89 e5                   mov    %esp,%ebp
10246 40008fa7:       83 ec 08                sub    $0x8,%esp
10247 40008faa:       c7 04 24 01 00 00 00    movl   $0x1,(%esp)
10248 40008fb1:       e8 36 04 00 00          call   400093ec <_Exit>
10249 40008fb6:       c9                      leave  
10250 40008fb7:       c3                      ret    
10252 40008fb8 <signal_dfl_abort>:
10253 40008fb8:       55                      push   %ebp
10254 40008fb9:       89 e5                   mov    %esp,%ebp
10255 40008fbb:       83 ec 08                sub    $0x8,%esp
10256 40008fbe:       e8 0d 3b 00 00          call   4000cad0 <abort>
10257 40008fc3:       c9                      leave  
10258 40008fc4:       c3                      ret    
10260 40008fc5 <signal_dfl_cont>:
10261 40008fc5:       55                      push   %ebp
10262 40008fc6:       89 e5                   mov    %esp,%ebp
10263 40008fc8:       5d                      pop    %ebp
10264 40008fc9:       c3                      ret    
10266 40008fca <signal_dfl_stop>:
10267 40008fca:       55                      push   %ebp
10268 40008fcb:       89 e5                   mov    %esp,%ebp
10269 40008fcd:       83 ec 08                sub    $0x8,%esp
10270 40008fd0:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
10271 40008fd7:       00 
10272 40008fd8:       c7 04 24 36 00 00 00    movl   $0x36,(%esp)
10273 40008fdf:       e8 ec 39 00 00          call   4000c9d0 <syscall_call>
10274 40008fe4:       c9                      leave  
10275 40008fe5:       c3                      ret    
10277 40008fe6 <_signal_init>:
10278 40008fe6:       55                      push   %ebp
10279 40008fe7:       89 e5                   mov    %esp,%ebp
10280 40008fe9:       83 ec 18                sub    $0x18,%esp
10281 40008fec:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
10282 40008ff3:       00 
10283 40008ff4:       c7 04 24 28 00 00 00    movl   $0x28,(%esp)
10284 40008ffb:       e8 d0 39 00 00          call   4000c9d0 <syscall_call>
10285 40009000:       83 f8 05                cmp    $0x5,%eax
10286 40009003:       75 16                   jne    4000901b <_signal_init+0x35>
10287 40009005:       c7 44 24 04 40 07 01    movl   $0x40010740,0x4(%esp)
10288 4000900c:       40 
10289 4000900d:       c7 04 24 2f e8 00 40    movl   $0x4000e82f,(%esp)
10290 40009014:       e8 6f 3d 00 00          call   4000cd88 <printf>
10291 40009019:       eb fe                   jmp    40009019 <_signal_init+0x33>
10292 4000901b:       c7 44 24 08 00 04 00    movl   $0x400,0x8(%esp)
10293 40009022:       00 
10294 40009023:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
10295 4000902a:       00 
10296 4000902b:       c7 04 24 40 07 01 40    movl   $0x40010740,(%esp)
10297 40009032:       e8 12 18 00 00          call   4000a849 <memset>
10298 40009037:       c7 44 24 08 1a f2 00    movl   $0x4000f21a,0x8(%esp)
10299 4000903e:       40 
10300 4000903f:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
10301 40009046:       00 
10302 40009047:       c7 04 24 4c 00 00 00    movl   $0x4c,(%esp)
10303 4000904e:       e8 7d 39 00 00          call   4000c9d0 <syscall_call>
10304 40009053:       c7 44 24 04 b8 8f 00    movl   $0x40008fb8,0x4(%esp)
10305 4000905a:       40 
10306 4000905b:       c7 04 24 06 00 00 00    movl   $0x6,(%esp)
10307 40009062:       e8 b5 fe ff ff          call   40008f1c <signal_create>
10308 40009067:       c7 44 24 04 a4 8f 00    movl   $0x40008fa4,0x4(%esp)
10309 4000906e:       40 
10310 4000906f:       c7 04 24 0e 00 00 00    movl   $0xe,(%esp)
10311 40009076:       e8 a1 fe ff ff          call   40008f1c <signal_create>
10312 4000907b:       c7 44 24 04 b8 8f 00    movl   $0x40008fb8,0x4(%esp)
10313 40009082:       40 
10314 40009083:       c7 04 24 07 00 00 00    movl   $0x7,(%esp)
10315 4000908a:       e8 8d fe ff ff          call   40008f1c <signal_create>
10316 4000908f:       c7 44 24 04 9f 8f 00    movl   $0x40008f9f,0x4(%esp)
10317 40009096:       40 
10318 40009097:       c7 04 24 11 00 00 00    movl   $0x11,(%esp)
10319 4000909e:       e8 79 fe ff ff          call   40008f1c <signal_create>
10320 400090a3:       c7 44 24 04 c5 8f 00    movl   $0x40008fc5,0x4(%esp)
10321 400090aa:       40 
10322 400090ab:       c7 04 24 12 00 00 00    movl   $0x12,(%esp)
10323 400090b2:       e8 65 fe ff ff          call   40008f1c <signal_create>
10324 400090b7:       c7 44 24 04 b8 8f 00    movl   $0x40008fb8,0x4(%esp)
10325 400090be:       40 
10326 400090bf:       c7 04 24 08 00 00 00    movl   $0x8,(%esp)
10327 400090c6:       e8 51 fe ff ff          call   40008f1c <signal_create>
10328 400090cb:       c7 44 24 04 a4 8f 00    movl   $0x40008fa4,0x4(%esp)
10329 400090d2:       40 
10330 400090d3:       c7 04 24 01 00 00 00    movl   $0x1,(%esp)
10331 400090da:       e8 3d fe ff ff          call   40008f1c <signal_create>
10332 400090df:       c7 44 24 04 b8 8f 00    movl   $0x40008fb8,0x4(%esp)
10333 400090e6:       40 
10334 400090e7:       c7 04 24 04 00 00 00    movl   $0x4,(%esp)
10335 400090ee:       e8 29 fe ff ff          call   40008f1c <signal_create>
10336 400090f3:       c7 44 24 04 a4 8f 00    movl   $0x40008fa4,0x4(%esp)
10337 400090fa:       40 
10338 400090fb:       c7 04 24 02 00 00 00    movl   $0x2,(%esp)
10339 40009102:       e8 15 fe ff ff          call   40008f1c <signal_create>
10340 40009107:       c7 44 24 04 a4 8f 00    movl   $0x40008fa4,0x4(%esp)
10341 4000910e:       40 
10342 4000910f:       c7 04 24 09 00 00 00    movl   $0x9,(%esp)
10343 40009116:       e8 01 fe ff ff          call   40008f1c <signal_create>
10344 4000911b:       c7 44 24 04 a4 8f 00    movl   $0x40008fa4,0x4(%esp)
10345 40009122:       40 
10346 40009123:       c7 04 24 0d 00 00 00    movl   $0xd,(%esp)
10347 4000912a:       e8 ed fd ff ff          call   40008f1c <signal_create>
10348 4000912f:       c7 44 24 04 b8 8f 00    movl   $0x40008fb8,0x4(%esp)
10349 40009136:       40 
10350 40009137:       c7 04 24 03 00 00 00    movl   $0x3,(%esp)
10351 4000913e:       e8 d9 fd ff ff          call   40008f1c <signal_create>
10352 40009143:       c7 44 24 04 b8 8f 00    movl   $0x40008fb8,0x4(%esp)
10353 4000914a:       40 
10354 4000914b:       c7 04 24 0b 00 00 00    movl   $0xb,(%esp)
10355 40009152:       e8 c5 fd ff ff          call   40008f1c <signal_create>
10356 40009157:       c7 44 24 04 ca 8f 00    movl   $0x40008fca,0x4(%esp)
10357 4000915e:       40 
10358 4000915f:       c7 04 24 13 00 00 00    movl   $0x13,(%esp)
10359 40009166:       e8 b1 fd ff ff          call   40008f1c <signal_create>
10360 4000916b:       c7 44 24 04 a4 8f 00    movl   $0x40008fa4,0x4(%esp)
10361 40009172:       40 
10362 40009173:       c7 04 24 0f 00 00 00    movl   $0xf,(%esp)
10363 4000917a:       e8 9d fd ff ff          call   40008f1c <signal_create>
10364 4000917f:       c7 44 24 04 ca 8f 00    movl   $0x40008fca,0x4(%esp)
10365 40009186:       40 
10366 40009187:       c7 04 24 14 00 00 00    movl   $0x14,(%esp)
10367 4000918e:       e8 89 fd ff ff          call   40008f1c <signal_create>
10368 40009193:       c7 44 24 04 ca 8f 00    movl   $0x40008fca,0x4(%esp)
10369 4000919a:       40 
10370 4000919b:       c7 04 24 15 00 00 00    movl   $0x15,(%esp)
10371 400091a2:       e8 75 fd ff ff          call   40008f1c <signal_create>
10372 400091a7:       c7 44 24 04 ca 8f 00    movl   $0x40008fca,0x4(%esp)
10373 400091ae:       40 
10374 400091af:       c7 04 24 16 00 00 00    movl   $0x16,(%esp)
10375 400091b6:       e8 61 fd ff ff          call   40008f1c <signal_create>
10376 400091bb:       c7 44 24 04 a4 8f 00    movl   $0x40008fa4,0x4(%esp)
10377 400091c2:       40 
10378 400091c3:       c7 04 24 0a 00 00 00    movl   $0xa,(%esp)
10379 400091ca:       e8 4d fd ff ff          call   40008f1c <signal_create>
10380 400091cf:       c7 44 24 04 a4 8f 00    movl   $0x40008fa4,0x4(%esp)
10381 400091d6:       40 
10382 400091d7:       c7 04 24 0c 00 00 00    movl   $0xc,(%esp)
10383 400091de:       e8 39 fd ff ff          call   40008f1c <signal_create>
10384 400091e3:       c7 44 24 04 a4 8f 00    movl   $0x40008fa4,0x4(%esp)
10385 400091ea:       40 
10386 400091eb:       c7 04 24 1b 00 00 00    movl   $0x1b,(%esp)
10387 400091f2:       e8 25 fd ff ff          call   40008f1c <signal_create>
10388 400091f7:       c7 44 24 04 b8 8f 00    movl   $0x40008fb8,0x4(%esp)
10389 400091fe:       40 
10390 400091ff:       c7 04 24 1f 00 00 00    movl   $0x1f,(%esp)
10391 40009206:       e8 11 fd ff ff          call   40008f1c <signal_create>
10392 4000920b:       c7 44 24 04 b8 8f 00    movl   $0x40008fb8,0x4(%esp)
10393 40009212:       40 
10394 40009213:       c7 04 24 05 00 00 00    movl   $0x5,(%esp)
10395 4000921a:       e8 fd fc ff ff          call   40008f1c <signal_create>
10396 4000921f:       c7 44 24 04 9f 8f 00    movl   $0x40008f9f,0x4(%esp)
10397 40009226:       40 
10398 40009227:       c7 04 24 17 00 00 00    movl   $0x17,(%esp)
10399 4000922e:       e8 e9 fc ff ff          call   40008f1c <signal_create>
10400 40009233:       c7 44 24 04 b8 8f 00    movl   $0x40008fb8,0x4(%esp)
10401 4000923a:       40 
10402 4000923b:       c7 04 24 18 00 00 00    movl   $0x18,(%esp)
10403 40009242:       e8 d5 fc ff ff          call   40008f1c <signal_create>
10404 40009247:       c7 44 24 04 b8 8f 00    movl   $0x40008fb8,0x4(%esp)
10405 4000924e:       40 
10406 4000924f:       c7 04 24 19 00 00 00    movl   $0x19,(%esp)
10407 40009256:       e8 c1 fc ff ff          call   40008f1c <signal_create>
10408 4000925b:       c9                      leave  
10409 4000925c:       c3                      ret    
10411 4000925d <signal>:
10412 4000925d:       55                      push   %ebp
10413 4000925e:       89 e5                   mov    %esp,%ebp
10414 40009260:       83 7d 08 3f             cmpl   $0x3f,0x8(%ebp)
10415 40009264:       7f 4f                   jg     400092b5 <signal+0x58>
10416 40009266:       83 7d 08 09             cmpl   $0x9,0x8(%ebp)
10417 4000926a:       74 49                   je     400092b5 <signal+0x58>
10418 4000926c:       83 7d 08 13             cmpl   $0x13,0x8(%ebp)
10419 40009270:       74 43                   je     400092b5 <signal+0x58>
10420 40009272:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
10421 40009276:       75 1c                   jne    40009294 <signal+0x37>
10422 40009278:       8b 4d 08                mov    0x8(%ebp),%ecx
10423 4000927b:       8b 45 08                mov    0x8(%ebp),%eax
10424 4000927e:       c1 e0 04                shl    $0x4,%eax
10425 40009281:       8b 90 40 07 01 40       mov    0x40010740(%eax),%edx
10426 40009287:       89 c8                   mov    %ecx,%eax
10427 40009289:       c1 e0 04                shl    $0x4,%eax
10428 4000928c:       89 90 44 07 01 40       mov    %edx,0x40010744(%eax)
10429 40009292:       eb 11                   jmp    400092a5 <signal+0x48>
10430 40009294:       8b 45 08                mov    0x8(%ebp),%eax
10431 40009297:       89 c2                   mov    %eax,%edx
10432 40009299:       c1 e2 04                shl    $0x4,%edx
10433 4000929c:       8b 45 0c                mov    0xc(%ebp),%eax
10434 4000929f:       89 82 44 07 01 40       mov    %eax,0x40010744(%edx)
10435 400092a5:       8b 45 08                mov    0x8(%ebp),%eax
10436 400092a8:       c1 e0 04                shl    $0x4,%eax
10437 400092ab:       c7 80 4c 07 01 40 00    movl   $0x0,0x4001074c(%eax)
10438 400092b2:       00 00 00 
10439 400092b5:       8b 45 08                mov    0x8(%ebp),%eax
10440 400092b8:       c1 e0 04                shl    $0x4,%eax
10441 400092bb:       8b 80 44 07 01 40       mov    0x40010744(%eax),%eax
10442 400092c1:       5d                      pop    %ebp
10443 400092c2:       c3                      ret    
10445 400092c3 <sysv_signal>:
10446 400092c3:       55                      push   %ebp
10447 400092c4:       89 e5                   mov    %esp,%ebp
10448 400092c6:       83 7d 08 3f             cmpl   $0x3f,0x8(%ebp)
10449 400092ca:       7f 4f                   jg     4000931b <sysv_signal+0x58>
10450 400092cc:       83 7d 08 09             cmpl   $0x9,0x8(%ebp)
10451 400092d0:       74 49                   je     4000931b <sysv_signal+0x58>
10452 400092d2:       83 7d 08 13             cmpl   $0x13,0x8(%ebp)
10453 400092d6:       74 43                   je     4000931b <sysv_signal+0x58>
10454 400092d8:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
10455 400092dc:       75 1c                   jne    400092fa <sysv_signal+0x37>
10456 400092de:       8b 4d 08                mov    0x8(%ebp),%ecx
10457 400092e1:       8b 45 08                mov    0x8(%ebp),%eax
10458 400092e4:       c1 e0 04                shl    $0x4,%eax
10459 400092e7:       8b 90 40 07 01 40       mov    0x40010740(%eax),%edx
10460 400092ed:       89 c8                   mov    %ecx,%eax
10461 400092ef:       c1 e0 04                shl    $0x4,%eax
10462 400092f2:       89 90 44 07 01 40       mov    %edx,0x40010744(%eax)
10463 400092f8:       eb 11                   jmp    4000930b <sysv_signal+0x48>
10464 400092fa:       8b 45 08                mov    0x8(%ebp),%eax
10465 400092fd:       89 c2                   mov    %eax,%edx
10466 400092ff:       c1 e2 04                shl    $0x4,%edx
10467 40009302:       8b 45 0c                mov    0xc(%ebp),%eax
10468 40009305:       89 82 44 07 01 40       mov    %eax,0x40010744(%edx)
10469 4000930b:       8b 45 08                mov    0x8(%ebp),%eax
10470 4000930e:       c1 e0 04                shl    $0x4,%eax
10471 40009311:       c7 80 4c 07 01 40 01    movl   $0x1,0x4001074c(%eax)
10472 40009318:       00 00 00 
10473 4000931b:       8b 45 08                mov    0x8(%ebp),%eax
10474 4000931e:       c1 e0 04                shl    $0x4,%eax
10475 40009321:       8b 80 44 07 01 40       mov    0x40010744(%eax),%eax
10476 40009327:       5d                      pop    %ebp
10477 40009328:       c3                      ret    
10478 40009329:       90                      nop    
10479 4000932a:       90                      nop    
10480 4000932b:       90                      nop    
10482 4000932c <_stdlib_init_pre>:
10483 4000932c:       55                      push   %ebp
10484 4000932d:       89 e5                   mov    %esp,%ebp
10485 4000932f:       53                      push   %ebx
10486 40009330:       83 ec 14                sub    $0x14,%esp
10487 40009333:       8b 0d 00 1c 01 40       mov    0x40011c00,%ecx
10488 40009339:       c7 45 f4 03 00 01 80    movl   $0x80010003,-0xc(%ebp)
10489 40009340:       8b 45 f4                mov    -0xc(%ebp),%eax
10490 40009343:       f7 e9                   imul   %ecx
10491 40009345:       8d 04 0a                lea    (%edx,%ecx,1),%eax
10492 40009348:       89 c2                   mov    %eax,%edx
10493 4000934a:       c1 fa 0e                sar    $0xe,%edx
10494 4000934d:       89 c8                   mov    %ecx,%eax
10495 4000934f:       c1 f8 1f                sar    $0x1f,%eax
10496 40009352:       89 d3                   mov    %edx,%ebx
10497 40009354:       29 c3                   sub    %eax,%ebx
10498 40009356:       89 5d f8                mov    %ebx,-0x8(%ebp)
10499 40009359:       8b 45 f8                mov    -0x8(%ebp),%eax
10500 4000935c:       c1 e0 0f                shl    $0xf,%eax
10501 4000935f:       2b 45 f8                sub    -0x8(%ebp),%eax
10502 40009362:       89 ca                   mov    %ecx,%edx
10503 40009364:       29 c2                   sub    %eax,%edx
10504 40009366:       89 55 f8                mov    %edx,-0x8(%ebp)
10505 40009369:       8b 5d f8                mov    -0x8(%ebp),%ebx
10506 4000936c:       89 1d 00 1c 01 40       mov    %ebx,0x40011c00
10507 40009372:       c7 05 10 1c 01 40 00    movl   $0x0,0x40011c10
10508 40009379:       00 00 00 
10509 4000937c:       e8 e3 1c 00 00          call   4000b064 <llist_create>
10510 40009381:       a3 1c 1c 01 40          mov    %eax,0x40011c1c
10511 40009386:       e8 5b fc ff ff          call   40008fe6 <_signal_init>
10512 4000938b:       83 c4 14                add    $0x14,%esp
10513 4000938e:       5b                      pop    %ebx
10514 4000938f:       5d                      pop    %ebp
10515 40009390:       c3                      ret    
10517 40009391 <_stdlib_init_post>:
10518 40009391:       55                      push   %ebp
10519 40009392:       89 e5                   mov    %esp,%ebp
10520 40009394:       83 ec 18                sub    $0x18,%esp
10521 40009397:       e8 d8 37 00 00          call   4000cb74 <env_init>
10522 4000939c:       8b 45 10                mov    0x10(%ebp),%eax
10523 4000939f:       89 44 24 08             mov    %eax,0x8(%esp)
10524 400093a3:       8b 45 0c                mov    0xc(%ebp),%eax
10525 400093a6:       89 44 24 04             mov    %eax,0x4(%esp)
10526 400093aa:       8b 45 08                mov    0x8(%ebp),%eax
10527 400093ad:       89 04 24                mov    %eax,(%esp)
10528 400093b0:       e8 9b 8d ff ff          call   40002150 <_fs_init>
10529 400093b5:       e8 ec 3b 00 00          call   4000cfa6 <stdio_init>
10530 400093ba:       c9                      leave  
10531 400093bb:       c3                      ret    
10533 400093bc <exit>:
10534 400093bc:       55                      push   %ebp
10535 400093bd:       89 e5                   mov    %esp,%ebp
10536 400093bf:       83 ec 18                sub    $0x18,%esp
10537 400093c2:       eb 05                   jmp    400093c9 <exit+0xd>
10538 400093c4:       8b 45 fc                mov    -0x4(%ebp),%eax
10539 400093c7:       ff d0                   call   *%eax
10540 400093c9:       a1 1c 1c 01 40          mov    0x40011c1c,%eax
10541 400093ce:       89 04 24                mov    %eax,(%esp)
10542 400093d1:       e8 62 1d 00 00          call   4000b138 <llist_pop>
10543 400093d6:       89 45 fc                mov    %eax,-0x4(%ebp)
10544 400093d9:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
10545 400093dd:       75 e5                   jne    400093c4 <exit+0x8>
10546 400093df:       8b 45 08                mov    0x8(%ebp),%eax
10547 400093e2:       89 04 24                mov    %eax,(%esp)
10548 400093e5:       e8 02 00 00 00          call   400093ec <_Exit>
10549 400093ea:       c9                      leave  
10550 400093eb:       c3                      ret    
10552 400093ec <_Exit>:
10553 400093ec:       55                      push   %ebp
10554 400093ed:       89 e5                   mov    %esp,%ebp
10555 400093ef:       83 ec 18                sub    $0x18,%esp
10556 400093f2:       e8 2e 97 ff ff          call   40002b25 <_close_all_filehandles>
10557 400093f7:       8b 45 08                mov    0x8(%ebp),%eax
10558 400093fa:       89 44 24 08             mov    %eax,0x8(%esp)
10559 400093fe:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
10560 40009405:       00 
10561 40009406:       c7 04 24 34 00 00 00    movl   $0x34,(%esp)
10562 4000940d:       e8 be 35 00 00          call   4000c9d0 <syscall_call>
10563 40009412:       c9                      leave  
10564 40009413:       c3                      ret    
10566 40009414 <atexit>:
10567 40009414:       55                      push   %ebp
10568 40009415:       89 e5                   mov    %esp,%ebp
10569 40009417:       83 ec 18                sub    $0x18,%esp
10570 4000941a:       a1 1c 1c 01 40          mov    0x40011c1c,%eax
10571 4000941f:       8b 55 08                mov    0x8(%ebp),%edx
10572 40009422:       89 54 24 04             mov    %edx,0x4(%esp)
10573 40009426:       89 04 24                mov    %eax,(%esp)
10574 40009429:       e8 b1 1c 00 00          call   4000b0df <llist_push>
10575 4000942e:       85 c0                   test   %eax,%eax
10576 40009430:       74 09                   je     4000943b <atexit+0x27>
10577 40009432:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
10578 40009439:       eb 07                   jmp    40009442 <atexit+0x2e>
10579 4000943b:       c7 45 fc ff ff ff ff    movl   $0xffffffff,-0x4(%ebp)
10580 40009442:       8b 45 fc                mov    -0x4(%ebp),%eax
10581 40009445:       c9                      leave  
10582 40009446:       c3                      ret    
10584 40009447 <atoi>:
10585 40009447:       55                      push   %ebp
10586 40009448:       89 e5                   mov    %esp,%ebp
10587 4000944a:       83 ec 18                sub    $0x18,%esp
10588 4000944d:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
10589 40009454:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
10590 4000945b:       8b 45 08                mov    0x8(%ebp),%eax
10591 4000945e:       89 04 24                mov    %eax,(%esp)
10592 40009461:       e8 be 15 00 00          call   4000aa24 <strlen>
10593 40009466:       89 45 f0                mov    %eax,-0x10(%ebp)
10594 40009469:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
10595 40009470:       eb 59                   jmp    400094cb <atoi+0x84>
10596 40009472:       8b 55 f4                mov    -0xc(%ebp),%edx
10597 40009475:       8b 45 08                mov    0x8(%ebp),%eax
10598 40009478:       01 d0                   add    %edx,%eax
10599 4000947a:       0f b6 00                movzbl (%eax),%eax
10600 4000947d:       3c 2b                   cmp    $0x2b,%al
10601 4000947f:       75 09                   jne    4000948a <atoi+0x43>
10602 40009481:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
10603 40009488:       eb 3d                   jmp    400094c7 <atoi+0x80>
10604 4000948a:       8b 55 f4                mov    -0xc(%ebp),%edx
10605 4000948d:       8b 45 08                mov    0x8(%ebp),%eax
10606 40009490:       01 d0                   add    %edx,%eax
10607 40009492:       0f b6 00                movzbl (%eax),%eax
10608 40009495:       3c 2d                   cmp    $0x2d,%al
10609 40009497:       75 09                   jne    400094a2 <atoi+0x5b>
10610 40009499:       c7 45 fc 01 00 00 00    movl   $0x1,-0x4(%ebp)
10611 400094a0:       eb 25                   jmp    400094c7 <atoi+0x80>
10612 400094a2:       8b 55 f8                mov    -0x8(%ebp),%edx
10613 400094a5:       89 d0                   mov    %edx,%eax
10614 400094a7:       c1 e0 02                shl    $0x2,%eax
10615 400094aa:       01 d0                   add    %edx,%eax
10616 400094ac:       01 c0                   add    %eax,%eax
10617 400094ae:       89 c1                   mov    %eax,%ecx
10618 400094b0:       8b 55 f4                mov    -0xc(%ebp),%edx
10619 400094b3:       8b 45 08                mov    0x8(%ebp),%eax
10620 400094b6:       01 d0                   add    %edx,%eax
10621 400094b8:       0f b6 00                movzbl (%eax),%eax
10622 400094bb:       0f be c0                movsbl %al,%eax
10623 400094be:       8d 04 01                lea    (%ecx,%eax,1),%eax
10624 400094c1:       83 e8 30                sub    $0x30,%eax
10625 400094c4:       89 45 f8                mov    %eax,-0x8(%ebp)
10626 400094c7:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
10627 400094cb:       8b 45 f4                mov    -0xc(%ebp),%eax
10628 400094ce:       3b 45 f0                cmp    -0x10(%ebp),%eax
10629 400094d1:       72 9f                   jb     40009472 <atoi+0x2b>
10630 400094d3:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
10631 400094d7:       74 03                   je     400094dc <atoi+0x95>
10632 400094d9:       f7 5d f8                negl   -0x8(%ebp)
10633 400094dc:       8b 45 f8                mov    -0x8(%ebp),%eax
10634 400094df:       c9                      leave  
10635 400094e0:       c3                      ret    
10637 400094e1 <abs>:
10638 400094e1:       55                      push   %ebp
10639 400094e2:       89 e5                   mov    %esp,%ebp
10640 400094e4:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
10641 400094e8:       79 03                   jns    400094ed <abs+0xc>
10642 400094ea:       f7 5d 08                negl   0x8(%ebp)
10643 400094ed:       8b 45 08                mov    0x8(%ebp),%eax
10644 400094f0:       5d                      pop    %ebp
10645 400094f1:       c3                      ret    
10647 400094f2 <div>:
10648 400094f2:       55                      push   %ebp
10649 400094f3:       89 e5                   mov    %esp,%ebp
10650 400094f5:       83 ec 1c                sub    $0x1c,%esp
10651 400094f8:       8b 4d 08                mov    0x8(%ebp),%ecx
10652 400094fb:       8b 45 0c                mov    0xc(%ebp),%eax
10653 400094fe:       89 45 e4                mov    %eax,-0x1c(%ebp)
10654 40009501:       8b 55 e4                mov    -0x1c(%ebp),%edx
10655 40009504:       89 d0                   mov    %edx,%eax
10656 40009506:       c1 fa 1f                sar    $0x1f,%edx
10657 40009509:       f7 7d 10                idivl  0x10(%ebp)
10658 4000950c:       89 45 f8                mov    %eax,-0x8(%ebp)
10659 4000950f:       8b 55 0c                mov    0xc(%ebp),%edx
10660 40009512:       89 d0                   mov    %edx,%eax
10661 40009514:       c1 fa 1f                sar    $0x1f,%edx
10662 40009517:       f7 7d 10                idivl  0x10(%ebp)
10663 4000951a:       89 d0                   mov    %edx,%eax
10664 4000951c:       89 45 fc                mov    %eax,-0x4(%ebp)
10665 4000951f:       8b 45 f8                mov    -0x8(%ebp),%eax
10666 40009522:       8b 55 fc                mov    -0x4(%ebp),%edx
10667 40009525:       89 01                   mov    %eax,(%ecx)
10668 40009527:       89 51 04                mov    %edx,0x4(%ecx)
10669 4000952a:       89 c8                   mov    %ecx,%eax
10670 4000952c:       c9                      leave  
10671 4000952d:       c2 04 00                ret    $0x4
10673 40009530 <bsearch>:
10674 40009530:       55                      push   %ebp
10675 40009531:       89 e5                   mov    %esp,%ebp
10676 40009533:       83 ec 38                sub    $0x38,%esp
10677 40009536:       8b 45 08                mov    0x8(%ebp),%eax
10678 40009539:       89 45 e4                mov    %eax,-0x1c(%ebp)
10679 4000953c:       8b 45 14                mov    0x14(%ebp),%eax
10680 4000953f:       89 04 24                mov    %eax,(%esp)
10681 40009542:       e8 8d df ff ff          call   400074d4 <malloc>
10682 40009547:       89 c2                   mov    %eax,%edx
10683 40009549:       8b 45 14                mov    0x14(%ebp),%eax
10684 4000954c:       89 44 24 08             mov    %eax,0x8(%esp)
10685 40009550:       8b 45 e4                mov    -0x1c(%ebp),%eax
10686 40009553:       89 44 24 04             mov    %eax,0x4(%esp)
10687 40009557:       89 14 24                mov    %edx,(%esp)
10688 4000955a:       e8 0d 11 00 00          call   4000a66c <memcpy>
10689 4000955f:       89 45 e8                mov    %eax,-0x18(%ebp)
10690 40009562:       8b 45 0c                mov    0xc(%ebp),%eax
10691 40009565:       89 45 ec                mov    %eax,-0x14(%ebp)
10692 40009568:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
10693 4000956f:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
10694 40009576:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
10695 4000957d:       e9 9a 00 00 00          jmp    4000961c <bsearch+0xec>
10696 40009582:       8b 45 10                mov    0x10(%ebp),%eax
10697 40009585:       0f af 45 14             imul   0x14(%ebp),%eax
10698 40009589:       03 45 ec                add    -0x14(%ebp),%eax
10699 4000958c:       0f b6 10                movzbl (%eax),%edx
10700 4000958f:       8b 45 e4                mov    -0x1c(%ebp),%eax
10701 40009592:       0f b6 00                movzbl (%eax),%eax
10702 40009595:       38 c2                   cmp    %al,%dl
10703 40009597:       75 04                   jne    4000959d <bsearch+0x6d>
10704 40009599:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
10705 4000959d:       8b 45 f4                mov    -0xc(%ebp),%eax
10706 400095a0:       3b 45 14                cmp    0x14(%ebp),%eax
10707 400095a3:       75 73                   jne    40009618 <bsearch+0xe8>
10708 400095a5:       8b 45 14                mov    0x14(%ebp),%eax
10709 400095a8:       89 04 24                mov    %eax,(%esp)
10710 400095ab:       e8 24 df ff ff          call   400074d4 <malloc>
10711 400095b0:       89 c2                   mov    %eax,%edx
10712 400095b2:       8b 45 14                mov    0x14(%ebp),%eax
10713 400095b5:       89 44 24 08             mov    %eax,0x8(%esp)
10714 400095b9:       8b 45 ec                mov    -0x14(%ebp),%eax
10715 400095bc:       89 44 24 04             mov    %eax,0x4(%esp)
10716 400095c0:       89 14 24                mov    %edx,(%esp)
10717 400095c3:       e8 a4 10 00 00          call   4000a66c <memcpy>
10718 400095c8:       89 45 fc                mov    %eax,-0x4(%ebp)
10719 400095cb:       83 7d 18 00             cmpl   $0x0,0x18(%ebp)
10720 400095cf:       74 12                   je     400095e3 <bsearch+0xb3>
10721 400095d1:       8b 45 ec                mov    -0x14(%ebp),%eax
10722 400095d4:       89 44 24 04             mov    %eax,0x4(%esp)
10723 400095d8:       8b 45 e4                mov    -0x1c(%ebp),%eax
10724 400095db:       89 04 24                mov    %eax,(%esp)
10725 400095de:       8b 45 18                mov    0x18(%ebp),%eax
10726 400095e1:       ff d0                   call   *%eax
10727 400095e3:       8b 45 e8                mov    -0x18(%ebp),%eax
10728 400095e6:       0f b6 10                movzbl (%eax),%edx
10729 400095e9:       8b 45 e4                mov    -0x1c(%ebp),%eax
10730 400095ec:       88 10                   mov    %dl,(%eax)
10731 400095ee:       8b 45 fc                mov    -0x4(%ebp),%eax
10732 400095f1:       0f b6 10                movzbl (%eax),%edx
10733 400095f4:       8b 45 ec                mov    -0x14(%ebp),%eax
10734 400095f7:       88 10                   mov    %dl,(%eax)
10735 400095f9:       8b 45 fc                mov    -0x4(%ebp),%eax
10736 400095fc:       89 04 24                mov    %eax,(%esp)
10737 400095ff:       e8 87 e3 ff ff          call   4000798b <free>
10738 40009604:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
10739 4000960b:       8b 45 10                mov    0x10(%ebp),%eax
10740 4000960e:       0f af 45 14             imul   0x14(%ebp),%eax
10741 40009612:       03 45 0c                add    0xc(%ebp),%eax
10742 40009615:       89 45 f0                mov    %eax,-0x10(%ebp)
10743 40009618:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
10744 4000961c:       8b 45 f8                mov    -0x8(%ebp),%eax
10745 4000961f:       3b 45 10                cmp    0x10(%ebp),%eax
10746 40009622:       0f 82 5a ff ff ff       jb     40009582 <bsearch+0x52>
10747 40009628:       8b 45 e8                mov    -0x18(%ebp),%eax
10748 4000962b:       89 04 24                mov    %eax,(%esp)
10749 4000962e:       e8 58 e3 ff ff          call   4000798b <free>
10750 40009633:       8b 45 f0                mov    -0x10(%ebp),%eax
10751 40009636:       c9                      leave  
10752 40009637:       c3                      ret    
10754 40009638 <sbrk>:
10755 40009638:       55                      push   %ebp
10756 40009639:       89 e5                   mov    %esp,%ebp
10757 4000963b:       83 ec 18                sub    $0x18,%esp
10758 4000963e:       8b 45 08                mov    0x8(%ebp),%eax
10759 40009641:       89 44 24 08             mov    %eax,0x8(%esp)
10760 40009645:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
10761 4000964c:       00 
10762 4000964d:       c7 04 24 01 00 00 00    movl   $0x1,(%esp)
10763 40009654:       e8 77 33 00 00          call   4000c9d0 <syscall_call>
10764 40009659:       c9                      leave  
10765 4000965a:       c3                      ret    
10767 4000965b <rand>:
10768 4000965b:       55                      push   %ebp
10769 4000965c:       89 e5                   mov    %esp,%ebp
10770 4000965e:       83 ec 30                sub    $0x30,%esp
10771 40009661:       b8 de c0 0f d0          mov    $0xd00fc0de,%eax
10772 40009666:       c9                      leave  
10773 40009667:       c3                      ret    
10775 40009668 <asctime>:
10776 40009668:       55                      push   %ebp
10777 40009669:       89 e5                   mov    %esp,%ebp
10778 4000966b:       57                      push   %edi
10779 4000966c:       56                      push   %esi
10780 4000966d:       53                      push   %ebx
10781 4000966e:       83 ec 7c                sub    $0x7c,%esp
10782 40009671:       c7 45 d8 37 e8 00 40    movl   $0x4000e837,-0x28(%ebp)
10783 40009678:       c7 45 dc 3b e8 00 40    movl   $0x4000e83b,-0x24(%ebp)
10784 4000967f:       c7 45 e0 3f e8 00 40    movl   $0x4000e83f,-0x20(%ebp)
10785 40009686:       c7 45 e4 43 e8 00 40    movl   $0x4000e843,-0x1c(%ebp)
10786 4000968d:       c7 45 e8 47 e8 00 40    movl   $0x4000e847,-0x18(%ebp)
10787 40009694:       c7 45 ec 4b e8 00 40    movl   $0x4000e84b,-0x14(%ebp)
10788 4000969b:       c7 45 f0 4f e8 00 40    movl   $0x4000e84f,-0x10(%ebp)
10789 400096a2:       c7 45 a8 53 e8 00 40    movl   $0x4000e853,-0x58(%ebp)
10790 400096a9:       c7 45 ac 57 e8 00 40    movl   $0x4000e857,-0x54(%ebp)
10791 400096b0:       c7 45 b0 5b e8 00 40    movl   $0x4000e85b,-0x50(%ebp)
10792 400096b7:       c7 45 b4 5f e8 00 40    movl   $0x4000e85f,-0x4c(%ebp)
10793 400096be:       c7 45 b8 63 e8 00 40    movl   $0x4000e863,-0x48(%ebp)
10794 400096c5:       c7 45 bc 67 e8 00 40    movl   $0x4000e867,-0x44(%ebp)
10795 400096cc:       c7 45 c0 6b e8 00 40    movl   $0x4000e86b,-0x40(%ebp)
10796 400096d3:       c7 45 c4 6f e8 00 40    movl   $0x4000e86f,-0x3c(%ebp)
10797 400096da:       c7 45 c8 73 e8 00 40    movl   $0x4000e873,-0x38(%ebp)
10798 400096e1:       c7 45 cc 77 e8 00 40    movl   $0x4000e877,-0x34(%ebp)
10799 400096e8:       c7 45 d0 7b e8 00 40    movl   $0x4000e87b,-0x30(%ebp)
10800 400096ef:       c7 45 d4 7f e8 00 40    movl   $0x4000e87f,-0x2c(%ebp)
10801 400096f6:       8b 45 08                mov    0x8(%ebp),%eax
10802 400096f9:       8b 40 14                mov    0x14(%eax),%eax
10803 400096fc:       8d 88 6c 07 00 00       lea    0x76c(%eax),%ecx
10804 40009702:       8b 45 08                mov    0x8(%ebp),%eax
10805 40009705:       8b 18                   mov    (%eax),%ebx
10806 40009707:       8b 45 08                mov    0x8(%ebp),%eax
10807 4000970a:       8b 70 04                mov    0x4(%eax),%esi
10808 4000970d:       8b 45 08                mov    0x8(%ebp),%eax
10809 40009710:       8b 78 08                mov    0x8(%eax),%edi
10810 40009713:       8b 45 08                mov    0x8(%ebp),%eax
10811 40009716:       8b 40 0c                mov    0xc(%eax),%eax
10812 40009719:       89 45 a0                mov    %eax,-0x60(%ebp)
10813 4000971c:       8b 45 08                mov    0x8(%ebp),%eax
10814 4000971f:       8b 40 10                mov    0x10(%eax),%eax
10815 40009722:       8b 54 85 a8             mov    -0x58(%ebp,%eax,4),%edx
10816 40009726:       8b 45 08                mov    0x8(%ebp),%eax
10817 40009729:       8b 40 18                mov    0x18(%eax),%eax
10818 4000972c:       8b 44 85 d8             mov    -0x28(%ebp,%eax,4),%eax
10819 40009730:       89 4c 24 20             mov    %ecx,0x20(%esp)
10820 40009734:       89 5c 24 1c             mov    %ebx,0x1c(%esp)
10821 40009738:       89 74 24 18             mov    %esi,0x18(%esp)
10822 4000973c:       89 7c 24 14             mov    %edi,0x14(%esp)
10823 40009740:       8b 4d a0                mov    -0x60(%ebp),%ecx
10824 40009743:       89 4c 24 10             mov    %ecx,0x10(%esp)
10825 40009747:       89 54 24 0c             mov    %edx,0xc(%esp)
10826 4000974b:       89 44 24 08             mov    %eax,0x8(%esp)
10827 4000974f:       c7 44 24 04 83 e8 00    movl   $0x4000e883,0x4(%esp)
10828 40009756:       40 
10829 40009757:       c7 04 24 4c 0b 01 40    movl   $0x40010b4c,(%esp)
10830 4000975e:       e8 59 37 00 00          call   4000cebc <sprintf>
10831 40009763:       b8 4c 0b 01 40          mov    $0x40010b4c,%eax
10832 40009768:       83 c4 7c                add    $0x7c,%esp
10833 4000976b:       5b                      pop    %ebx
10834 4000976c:       5e                      pop    %esi
10835 4000976d:       5f                      pop    %edi
10836 4000976e:       5d                      pop    %ebp
10837 4000976f:       c3                      ret    
10839 40009770 <mktime>:
10840 40009770:       55                      push   %ebp
10841 40009771:       89 e5                   mov    %esp,%ebp
10842 40009773:       53                      push   %ebx
10843 40009774:       83 ec 04                sub    $0x4,%esp
10844 40009777:       8b 45 08                mov    0x8(%ebp),%eax
10845 4000977a:       8b 18                   mov    (%eax),%ebx
10846 4000977c:       8b 45 08                mov    0x8(%ebp),%eax
10847 4000977f:       8b 40 08                mov    0x8(%eax),%eax
10848 40009782:       69 c8 10 0e 00 00       imul   $0xe10,%eax,%ecx
10849 40009788:       8b 45 08                mov    0x8(%ebp),%eax
10850 4000978b:       8b 40 04                mov    0x4(%eax),%eax
10851 4000978e:       8d 14 85 00 00 00 00    lea    0x0(,%eax,4),%edx
10852 40009795:       89 d0                   mov    %edx,%eax
10853 40009797:       c1 e0 04                shl    $0x4,%eax
10854 4000979a:       29 d0                   sub    %edx,%eax
10855 4000979c:       8d 04 01                lea    (%ecx,%eax,1),%eax
10856 4000979f:       8d 0c 03                lea    (%ebx,%eax,1),%ecx
10857 400097a2:       8b 45 08                mov    0x8(%ebp),%eax
10858 400097a5:       8b 40 14                mov    0x14(%eax),%eax
10859 400097a8:       83 e8 46                sub    $0x46,%eax
10860 400097ab:       69 d0 80 33 e1 01       imul   $0x1e13380,%eax,%edx
10861 400097b1:       8b 45 08                mov    0x8(%ebp),%eax
10862 400097b4:       8b 40 1c                mov    0x1c(%eax),%eax
10863 400097b7:       69 c0 80 51 01 00       imul   $0x15180,%eax,%eax
10864 400097bd:       8d 04 02                lea    (%edx,%eax,1),%eax
10865 400097c0:       8d 1c 01                lea    (%ecx,%eax,1),%ebx
10866 400097c3:       8b 45 08                mov    0x8(%ebp),%eax
10867 400097c6:       8b 40 14                mov    0x14(%eax),%eax
10868 400097c9:       8d 48 ff                lea    -0x1(%eax),%ecx
10869 400097cc:       c7 45 f8 1f 85 eb 51    movl   $0x51eb851f,-0x8(%ebp)
10870 400097d3:       8b 45 f8                mov    -0x8(%ebp),%eax
10871 400097d6:       f7 e9                   imul   %ecx
10872 400097d8:       c1 fa 05                sar    $0x5,%edx
10873 400097db:       89 c8                   mov    %ecx,%eax
10874 400097dd:       c1 f8 1f                sar    $0x1f,%eax
10875 400097e0:       89 d1                   mov    %edx,%ecx
10876 400097e2:       29 c1                   sub    %eax,%ecx
10877 400097e4:       89 c8                   mov    %ecx,%eax
10878 400097e6:       69 c8 80 ae fe ff       imul   $0xfffeae80,%eax,%ecx
10879 400097ec:       8b 45 08                mov    0x8(%ebp),%eax
10880 400097ef:       8b 40 14                mov    0x14(%eax),%eax
10881 400097f2:       8d 50 bb                lea    -0x45(%eax),%edx
10882 400097f5:       89 d0                   mov    %edx,%eax
10883 400097f7:       c1 f8 1f                sar    $0x1f,%eax
10884 400097fa:       c1 e8 1e                shr    $0x1e,%eax
10885 400097fd:       01 d0                   add    %edx,%eax
10886 400097ff:       c1 f8 02                sar    $0x2,%eax
10887 40009802:       69 c0 80 51 01 00       imul   $0x15180,%eax,%eax
10888 40009808:       8d 04 01                lea    (%ecx,%eax,1),%eax
10889 4000980b:       01 c3                   add    %eax,%ebx
10890 4000980d:       8b 45 08                mov    0x8(%ebp),%eax
10891 40009810:       8b 40 14                mov    0x14(%eax),%eax
10892 40009813:       8d 88 2b 01 00 00       lea    0x12b(%eax),%ecx
10893 40009819:       c7 45 f8 1f 85 eb 51    movl   $0x51eb851f,-0x8(%ebp)
10894 40009820:       8b 45 f8                mov    -0x8(%ebp),%eax
10895 40009823:       f7 e9                   imul   %ecx
10896 40009825:       c1 fa 07                sar    $0x7,%edx
10897 40009828:       89 c8                   mov    %ecx,%eax
10898 4000982a:       c1 f8 1f                sar    $0x1f,%eax
10899 4000982d:       89 d1                   mov    %edx,%ecx
10900 4000982f:       29 c1                   sub    %eax,%ecx
10901 40009831:       89 c8                   mov    %ecx,%eax
10902 40009833:       69 c0 80 51 01 00       imul   $0x15180,%eax,%eax
10903 40009839:       8d 04 03                lea    (%ebx,%eax,1),%eax
10904 4000983c:       83 c4 04                add    $0x4,%esp
10905 4000983f:       5b                      pop    %ebx
10906 40009840:       5d                      pop    %ebp
10907 40009841:       c3                      ret    
10909 40009842 <time>:
10910 40009842:       55                      push   %ebp
10911 40009843:       89 e5                   mov    %esp,%ebp
10912 40009845:       83 ec 18                sub    $0x18,%esp
10913 40009848:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
10914 4000984f:       00 
10915 40009850:       8d 45 f8                lea    -0x8(%ebp),%eax
10916 40009853:       89 04 24                mov    %eax,(%esp)
10917 40009856:       e8 1a 43 00 00          call   4000db75 <gettimeofday>
10918 4000985b:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
10919 4000985f:       74 08                   je     40009869 <time+0x27>
10920 40009861:       8b 55 f8                mov    -0x8(%ebp),%edx
10921 40009864:       8b 45 08                mov    0x8(%ebp),%eax
10922 40009867:       89 10                   mov    %edx,(%eax)
10923 40009869:       8b 45 f8                mov    -0x8(%ebp),%eax
10924 4000986c:       c9                      leave  
10925 4000986d:       c3                      ret    
10927 4000986e <clock>:
10928 4000986e:       55                      push   %ebp
10929 4000986f:       89 e5                   mov    %esp,%ebp
10930 40009871:       83 ec 08                sub    $0x8,%esp
10931 40009874:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
10932 4000987b:       00 
10933 4000987c:       c7 04 24 49 00 00 00    movl   $0x49,(%esp)
10934 40009883:       e8 48 31 00 00          call   4000c9d0 <syscall_call>
10935 40009888:       c9                      leave  
10936 40009889:       c3                      ret    
10937 4000988a:       90                      nop    
10938 4000988b:       90                      nop    
10940 4000988c <swab>:
10941 4000988c:       55                      push   %ebp
10942 4000988d:       89 e5                   mov    %esp,%ebp
10943 4000988f:       83 ec 10                sub    $0x10,%esp
10944 40009892:       8b 55 10                mov    0x10(%ebp),%edx
10945 40009895:       89 d0                   mov    %edx,%eax
10946 40009897:       c1 f8 1f                sar    $0x1f,%eax
10947 4000989a:       89 c1                   mov    %eax,%ecx
10948 4000989c:       c1 e9 1f                shr    $0x1f,%ecx
10949 4000989f:       8d 04 0a                lea    (%edx,%ecx,1),%eax
10950 400098a2:       83 e0 01                and    $0x1,%eax
10951 400098a5:       29 c8                   sub    %ecx,%eax
10952 400098a7:       29 45 10                sub    %eax,0x10(%ebp)
10953 400098aa:       83 7d 10 00             cmpl   $0x0,0x10(%ebp)
10954 400098ae:       7e 3c                   jle    400098ec <swab+0x60>
10955 400098b0:       8b 45 08                mov    0x8(%ebp),%eax
10956 400098b3:       89 45 f4                mov    %eax,-0xc(%ebp)
10957 400098b6:       8b 45 0c                mov    0xc(%ebp),%eax
10958 400098b9:       89 45 f8                mov    %eax,-0x8(%ebp)
10959 400098bc:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
10960 400098c3:       eb 1f                   jmp    400098e4 <swab+0x58>
10961 400098c5:       8b 45 10                mov    0x10(%ebp),%eax
10962 400098c8:       2b 45 fc                sub    -0x4(%ebp),%eax
10963 400098cb:       83 e8 01                sub    $0x1,%eax
10964 400098ce:       89 c1                   mov    %eax,%ecx
10965 400098d0:       03 4d f8                add    -0x8(%ebp),%ecx
10966 400098d3:       8b 55 fc                mov    -0x4(%ebp),%edx
10967 400098d6:       8b 45 f4                mov    -0xc(%ebp),%eax
10968 400098d9:       01 d0                   add    %edx,%eax
10969 400098db:       0f b6 00                movzbl (%eax),%eax
10970 400098de:       88 01                   mov    %al,(%ecx)
10971 400098e0:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
10972 400098e4:       8b 45 10                mov    0x10(%ebp),%eax
10973 400098e7:       3b 45 fc                cmp    -0x4(%ebp),%eax
10974 400098ea:       77 d9                   ja     400098c5 <swab+0x39>
10975 400098ec:       c9                      leave  
10976 400098ed:       c3                      ret    
10978 400098ee <sleep>:
10979 400098ee:       55                      push   %ebp
10980 400098ef:       89 e5                   mov    %esp,%ebp
10981 400098f1:       83 ec 18                sub    $0x18,%esp
10982 400098f4:       8b 45 08                mov    0x8(%ebp),%eax
10983 400098f7:       89 44 24 08             mov    %eax,0x8(%esp)
10984 400098fb:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
10985 40009902:       00 
10986 40009903:       c7 04 24 47 00 00 00    movl   $0x47,(%esp)
10987 4000990a:       e8 c1 30 00 00          call   4000c9d0 <syscall_call>
10988 4000990f:       8b 45 08                mov    0x8(%ebp),%eax
10989 40009912:       c9                      leave  
10990 40009913:       c3                      ret    
10992 40009914 <usleep>:
10993 40009914:       55                      push   %ebp
10994 40009915:       89 e5                   mov    %esp,%ebp
10995 40009917:       83 ec 18                sub    $0x18,%esp
10996 4000991a:       81 7d 08 3f 42 0f 00    cmpl   $0xf423f,0x8(%ebp)
10997 40009921:       77 24                   ja     40009947 <usleep+0x33>
10998 40009923:       8b 45 08                mov    0x8(%ebp),%eax
10999 40009926:       89 44 24 08             mov    %eax,0x8(%esp)
11000 4000992a:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
11001 40009931:       00 
11002 40009932:       c7 04 24 48 00 00 00    movl   $0x48,(%esp)
11003 40009939:       e8 92 30 00 00          call   4000c9d0 <syscall_call>
11004 4000993e:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
11005 40009945:       eb 11                   jmp    40009958 <usleep+0x44>
11006 40009947:       c7 05 10 1c 01 40 1c    movl   $0x1c,0x40011c10
11007 4000994e:       00 00 00 
11008 40009951:       c7 45 fc ff ff ff ff    movl   $0xffffffff,-0x4(%ebp)
11009 40009958:       8b 45 fc                mov    -0x4(%ebp),%eax
11010 4000995b:       c9                      leave  
11011 4000995c:       c3                      ret    
11013 4000995d <alarm>:
11014 4000995d:       55                      push   %ebp
11015 4000995e:       89 e5                   mov    %esp,%ebp
11016 40009960:       b8 00 00 00 00          mov    $0x0,%eax
11017 40009965:       5d                      pop    %ebp
11018 40009966:       c3                      ret    
11020 40009967 <ualarm>:
11021 40009967:       55                      push   %ebp
11022 40009968:       89 e5                   mov    %esp,%ebp
11023 4000996a:       b8 00 00 00 00          mov    $0x0,%eax
11024 4000996f:       5d                      pop    %ebp
11025 40009970:       c3                      ret    
11027 40009971 <getlogin>:
11028 40009971:       55                      push   %ebp
11029 40009972:       89 e5                   mov    %esp,%ebp
11030 40009974:       83 ec 28                sub    $0x28,%esp
11031 40009977:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
11032 4000997e:       00 
11033 4000997f:       c7 04 24 28 00 00 00    movl   $0x28,(%esp)
11034 40009986:       e8 45 30 00 00          call   4000c9d0 <syscall_call>
11035 4000998b:       89 04 24                mov    %eax,(%esp)
11036 4000998e:       e8 94 34 00 00          call   4000ce27 <getpwuid>
11037 40009993:       89 45 fc                mov    %eax,-0x4(%ebp)
11038 40009996:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
11039 4000999a:       75 09                   jne    400099a5 <getlogin+0x34>
11040 4000999c:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
11041 400099a3:       eb 08                   jmp    400099ad <getlogin+0x3c>
11042 400099a5:       8b 45 fc                mov    -0x4(%ebp),%eax
11043 400099a8:       8b 00                   mov    (%eax),%eax
11044 400099aa:       89 45 ec                mov    %eax,-0x14(%ebp)
11045 400099ad:       8b 45 ec                mov    -0x14(%ebp),%eax
11046 400099b0:       c9                      leave  
11047 400099b1:       c3                      ret    
11048 400099b2:       90                      nop    
11049 400099b3:       90                      nop    
11051 400099b4 <vfprintf>:
11052 400099b4:       55                      push   %ebp
11053 400099b5:       89 e5                   mov    %esp,%ebp
11054 400099b7:       81 ec 28 08 00 00       sub    $0x828,%esp
11055 400099bd:       8b 45 10                mov    0x10(%ebp),%eax
11056 400099c0:       89 44 24 0c             mov    %eax,0xc(%esp)
11057 400099c4:       8b 45 0c                mov    0xc(%ebp),%eax
11058 400099c7:       89 44 24 08             mov    %eax,0x8(%esp)
11059 400099cb:       c7 44 24 04 00 08 00    movl   $0x800,0x4(%esp)
11060 400099d2:       00 
11061 400099d3:       8d 85 fc f7 ff ff       lea    -0x804(%ebp),%eax
11062 400099d9:       89 04 24                mov    %eax,(%esp)
11063 400099dc:       e8 e8 03 00 00          call   40009dc9 <vsnprintf>
11064 400099e1:       89 45 fc                mov    %eax,-0x4(%ebp)
11065 400099e4:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
11066 400099e8:       79 0b                   jns    400099f5 <vfprintf+0x41>
11067 400099ea:       8b 45 fc                mov    -0x4(%ebp),%eax
11068 400099ed:       89 85 ec f7 ff ff       mov    %eax,-0x814(%ebp)
11069 400099f3:       eb 32                   jmp    40009a27 <vfprintf+0x73>
11070 400099f5:       81 7d fc ff 07 00 00    cmpl   $0x7ff,-0x4(%ebp)
11071 400099fc:       7e 07                   jle    40009a05 <vfprintf+0x51>
11072 400099fe:       c7 45 fc ff 07 00 00    movl   $0x7ff,-0x4(%ebp)
11073 40009a05:       8b 55 fc                mov    -0x4(%ebp),%edx
11074 40009a08:       8b 45 08                mov    0x8(%ebp),%eax
11075 40009a0b:       89 44 24 08             mov    %eax,0x8(%esp)
11076 40009a0f:       89 54 24 04             mov    %edx,0x4(%esp)
11077 40009a13:       8d 85 fc f7 ff ff       lea    -0x804(%ebp),%eax
11078 40009a19:       89 04 24                mov    %eax,(%esp)
11079 40009a1c:       e8 bd 39 00 00          call   4000d3de <_fwrite>
11080 40009a21:       89 85 ec f7 ff ff       mov    %eax,-0x814(%ebp)
11081 40009a27:       8b 85 ec f7 ff ff       mov    -0x814(%ebp),%eax
11082 40009a2d:       c9                      leave  
11083 40009a2e:       c3                      ret    
11084 40009a2f:       90                      nop    
11086 40009a30 <format_int>:
11087 40009a30:       55                      push   %ebp
11088 40009a31:       89 e5                   mov    %esp,%ebp
11089 40009a33:       53                      push   %ebx
11090 40009a34:       83 ec 64                sub    $0x64,%esp
11091 40009a37:       8b 45 10                mov    0x10(%ebp),%eax
11092 40009a3a:       89 45 c0                mov    %eax,-0x40(%ebp)
11093 40009a3d:       8b 45 14                mov    0x14(%ebp),%eax
11094 40009a40:       89 45 c4                mov    %eax,-0x3c(%ebp)
11095 40009a43:       c7 45 cc 00 00 00 00    movl   $0x0,-0x34(%ebp)
11096 40009a4a:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
11097 40009a51:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
11098 40009a58:       8b 45 18                mov    0x18(%ebp),%eax
11099 40009a5b:       25 80 00 00 00          and    $0x80,%eax
11100 40009a60:       85 c0                   test   %eax,%eax
11101 40009a62:       74 09                   je     40009a6d <format_int+0x3d>
11102 40009a64:       c7 45 b4 a0 e8 00 40    movl   $0x4000e8a0,-0x4c(%ebp)
11103 40009a6b:       eb 07                   jmp    40009a74 <format_int+0x44>
11104 40009a6d:       c7 45 b4 b1 e8 00 40    movl   $0x4000e8b1,-0x4c(%ebp)
11105 40009a74:       8b 45 b4                mov    -0x4c(%ebp),%eax
11106 40009a77:       89 45 d4                mov    %eax,-0x2c(%ebp)
11107 40009a7a:       8b 45 18                mov    0x18(%ebp),%eax
11108 40009a7d:       83 e0 40                and    $0x40,%eax
11109 40009a80:       85 c0                   test   %eax,%eax
11110 40009a82:       74 24                   je     40009aa8 <format_int+0x78>
11111 40009a84:       8b 45 c0                mov    -0x40(%ebp),%eax
11112 40009a87:       8b 55 c4                mov    -0x3c(%ebp),%edx
11113 40009a8a:       85 d2                   test   %edx,%edx
11114 40009a8c:       79 1a                   jns    40009aa8 <format_int+0x78>
11115 40009a8e:       c7 45 e4 01 00 00 00    movl   $0x1,-0x1c(%ebp)
11116 40009a95:       8b 45 c0                mov    -0x40(%ebp),%eax
11117 40009a98:       8b 55 c4                mov    -0x3c(%ebp),%edx
11118 40009a9b:       f7 d8                   neg    %eax
11119 40009a9d:       83 d2 00                adc    $0x0,%edx
11120 40009aa0:       f7 da                   neg    %edx
11121 40009aa2:       89 45 c0                mov    %eax,-0x40(%ebp)
11122 40009aa5:       89 55 c4                mov    %edx,-0x3c(%ebp)
11123 40009aa8:       8b 45 c0                mov    -0x40(%ebp),%eax
11124 40009aab:       8b 55 c4                mov    -0x3c(%ebp),%edx
11125 40009aae:       89 45 d8                mov    %eax,-0x28(%ebp)
11126 40009ab1:       89 55 dc                mov    %edx,-0x24(%ebp)
11127 40009ab4:       eb 2c                   jmp    40009ae2 <format_int+0xb2>
11128 40009ab6:       8b 45 1c                mov    0x1c(%ebp),%eax
11129 40009ab9:       89 c2                   mov    %eax,%edx
11130 40009abb:       c1 fa 1f                sar    $0x1f,%edx
11131 40009abe:       89 44 24 08             mov    %eax,0x8(%esp)
11132 40009ac2:       89 54 24 0c             mov    %edx,0xc(%esp)
11133 40009ac6:       8b 45 d8                mov    -0x28(%ebp),%eax
11134 40009ac9:       8b 55 dc                mov    -0x24(%ebp),%edx
11135 40009acc:       89 04 24                mov    %eax,(%esp)
11136 40009acf:       89 54 24 04             mov    %edx,0x4(%esp)
11137 40009ad3:       e8 a8 47 00 00          call   4000e280 <__udivdi3>
11138 40009ad8:       89 45 d8                mov    %eax,-0x28(%ebp)
11139 40009adb:       89 55 dc                mov    %edx,-0x24(%ebp)
11140 40009ade:       83 45 e8 01             addl   $0x1,-0x18(%ebp)
11141 40009ae2:       8b 45 d8                mov    -0x28(%ebp),%eax
11142 40009ae5:       8b 55 dc                mov    -0x24(%ebp),%edx
11143 40009ae8:       09 d0                   or     %edx,%eax
11144 40009aea:       85 c0                   test   %eax,%eax
11145 40009aec:       75 c8                   jne    40009ab6 <format_int+0x86>
11146 40009aee:       8b 45 18                mov    0x18(%ebp),%eax
11147 40009af1:       83 e0 20                and    $0x20,%eax
11148 40009af4:       85 c0                   test   %eax,%eax
11149 40009af6:       74 1a                   je     40009b12 <format_int+0xe2>
11150 40009af8:       83 7d 1c 08             cmpl   $0x8,0x1c(%ebp)
11151 40009afc:       75 14                   jne    40009b12 <format_int+0xe2>
11152 40009afe:       8b 45 e8                mov    -0x18(%ebp),%eax
11153 40009b01:       83 c0 01                add    $0x1,%eax
11154 40009b04:       3b 45 24                cmp    0x24(%ebp),%eax
11155 40009b07:       7e 09                   jle    40009b12 <format_int+0xe2>
11156 40009b09:       8b 45 e8                mov    -0x18(%ebp),%eax
11157 40009b0c:       83 c0 01                add    $0x1,%eax
11158 40009b0f:       89 45 24                mov    %eax,0x24(%ebp)
11159 40009b12:       8b 45 e8                mov    -0x18(%ebp),%eax
11160 40009b15:       3b 45 24                cmp    0x24(%ebp),%eax
11161 40009b18:       7d 08                   jge    40009b22 <format_int+0xf2>
11162 40009b1a:       8b 45 24                mov    0x24(%ebp),%eax
11163 40009b1d:       89 45 e8                mov    %eax,-0x18(%ebp)
11164 40009b20:       eb 13                   jmp    40009b35 <format_int+0x105>
11165 40009b22:       8b 45 c0                mov    -0x40(%ebp),%eax
11166 40009b25:       8b 55 c4                mov    -0x3c(%ebp),%edx
11167 40009b28:       09 d0                   or     %edx,%eax
11168 40009b2a:       85 c0                   test   %eax,%eax
11169 40009b2c:       75 07                   jne    40009b35 <format_int+0x105>
11170 40009b2e:       c7 45 e8 01 00 00 00    movl   $0x1,-0x18(%ebp)
11171 40009b35:       8b 45 18                mov    0x18(%ebp),%eax
11172 40009b38:       83 e0 08                and    $0x8,%eax
11173 40009b3b:       85 c0                   test   %eax,%eax
11174 40009b3d:       74 1e                   je     40009b5d <format_int+0x12d>
11175 40009b3f:       83 7d 1c 10             cmpl   $0x10,0x1c(%ebp)
11176 40009b43:       75 09                   jne    40009b4e <format_int+0x11e>
11177 40009b45:       c7 45 b8 04 00 00 00    movl   $0x4,-0x48(%ebp)
11178 40009b4c:       eb 07                   jmp    40009b55 <format_int+0x125>
11179 40009b4e:       c7 45 b8 03 00 00 00    movl   $0x3,-0x48(%ebp)
11180 40009b55:       8b 55 b8                mov    -0x48(%ebp),%edx
11181 40009b58:       89 55 f0                mov    %edx,-0x10(%ebp)
11182 40009b5b:       eb 06                   jmp    40009b63 <format_int+0x133>
11183 40009b5d:       8b 45 e8                mov    -0x18(%ebp),%eax
11184 40009b60:       89 45 f0                mov    %eax,-0x10(%ebp)
11185 40009b63:       8b 45 e8                mov    -0x18(%ebp),%eax
11186 40009b66:       83 e8 01                sub    $0x1,%eax
11187 40009b69:       89 45 ac                mov    %eax,-0x54(%ebp)
11188 40009b6c:       8b 55 ac                mov    -0x54(%ebp),%edx
11189 40009b6f:       89 d0                   mov    %edx,%eax
11190 40009b71:       c1 fa 1f                sar    $0x1f,%edx
11191 40009b74:       f7 7d f0                idivl  -0x10(%ebp)
11192 40009b77:       01 45 e8                add    %eax,-0x18(%ebp)
11193 40009b7a:       8b 45 e8                mov    -0x18(%ebp),%eax
11194 40009b7d:       89 45 ec                mov    %eax,-0x14(%ebp)
11195 40009b80:       83 7d e4 00             cmpl   $0x0,-0x1c(%ebp)
11196 40009b84:       75 0a                   jne    40009b90 <format_int+0x160>
11197 40009b86:       8b 45 18                mov    0x18(%ebp),%eax
11198 40009b89:       83 e0 14                and    $0x14,%eax
11199 40009b8c:       85 c0                   test   %eax,%eax
11200 40009b8e:       74 04                   je     40009b94 <format_int+0x164>
11201 40009b90:       83 45 ec 01             addl   $0x1,-0x14(%ebp)
11202 40009b94:       8b 45 18                mov    0x18(%ebp),%eax
11203 40009b97:       83 e0 20                and    $0x20,%eax
11204 40009b9a:       85 c0                   test   %eax,%eax
11205 40009b9c:       74 0a                   je     40009ba8 <format_int+0x178>
11206 40009b9e:       83 7d 1c 10             cmpl   $0x10,0x1c(%ebp)
11207 40009ba2:       75 04                   jne    40009ba8 <format_int+0x178>
11208 40009ba4:       83 45 ec 02             addl   $0x2,-0x14(%ebp)
11209 40009ba8:       8b 45 18                mov    0x18(%ebp),%eax
11210 40009bab:       83 e0 03                and    $0x3,%eax
11211 40009bae:       85 c0                   test   %eax,%eax
11212 40009bb0:       75 2c                   jne    40009bde <format_int+0x1ae>
11213 40009bb2:       8b 45 20                mov    0x20(%ebp),%eax
11214 40009bb5:       3b 45 ec                cmp    -0x14(%ebp),%eax
11215 40009bb8:       7e 24                   jle    40009bde <format_int+0x1ae>
11216 40009bba:       eb 1a                   jmp    40009bd6 <format_int+0x1a6>
11217 40009bbc:       8b 45 cc                mov    -0x34(%ebp),%eax
11218 40009bbf:       3b 45 0c                cmp    0xc(%ebp),%eax
11219 40009bc2:       73 0a                   jae    40009bce <format_int+0x19e>
11220 40009bc4:       8b 45 08                mov    0x8(%ebp),%eax
11221 40009bc7:       c6 00 20                movb   $0x20,(%eax)
11222 40009bca:       83 45 08 01             addl   $0x1,0x8(%ebp)
11223 40009bce:       83 45 cc 01             addl   $0x1,-0x34(%ebp)
11224 40009bd2:       83 6d 20 01             subl   $0x1,0x20(%ebp)
11225 40009bd6:       8b 45 20                mov    0x20(%ebp),%eax
11226 40009bd9:       3b 45 ec                cmp    -0x14(%ebp),%eax
11227 40009bdc:       7f de                   jg     40009bbc <format_int+0x18c>
11228 40009bde:       83 7d e4 00             cmpl   $0x0,-0x1c(%ebp)
11229 40009be2:       74 18                   je     40009bfc <format_int+0x1cc>
11230 40009be4:       8b 45 cc                mov    -0x34(%ebp),%eax
11231 40009be7:       3b 45 0c                cmp    0xc(%ebp),%eax
11232 40009bea:       73 0a                   jae    40009bf6 <format_int+0x1c6>
11233 40009bec:       8b 45 08                mov    0x8(%ebp),%eax
11234 40009bef:       c6 00 2d                movb   $0x2d,(%eax)
11235 40009bf2:       83 45 08 01             addl   $0x1,0x8(%ebp)
11236 40009bf6:       83 45 cc 01             addl   $0x1,-0x34(%ebp)
11237 40009bfa:       eb 42                   jmp    40009c3e <format_int+0x20e>
11238 40009bfc:       8b 45 18                mov    0x18(%ebp),%eax
11239 40009bff:       83 e0 04                and    $0x4,%eax
11240 40009c02:       85 c0                   test   %eax,%eax
11241 40009c04:       74 18                   je     40009c1e <format_int+0x1ee>
11242 40009c06:       8b 45 cc                mov    -0x34(%ebp),%eax
11243 40009c09:       3b 45 0c                cmp    0xc(%ebp),%eax
11244 40009c0c:       73 0a                   jae    40009c18 <format_int+0x1e8>
11245 40009c0e:       8b 45 08                mov    0x8(%ebp),%eax
11246 40009c11:       c6 00 2b                movb   $0x2b,(%eax)
11247 40009c14:       83 45 08 01             addl   $0x1,0x8(%ebp)
11248 40009c18:       83 45 cc 01             addl   $0x1,-0x34(%ebp)
11249 40009c1c:       eb 20                   jmp    40009c3e <format_int+0x20e>
11250 40009c1e:       8b 45 18                mov    0x18(%ebp),%eax
11251 40009c21:       83 e0 10                and    $0x10,%eax
11252 40009c24:       85 c0                   test   %eax,%eax
11253 40009c26:       74 16                   je     40009c3e <format_int+0x20e>
11254 40009c28:       8b 45 cc                mov    -0x34(%ebp),%eax
11255 40009c2b:       3b 45 0c                cmp    0xc(%ebp),%eax
11256 40009c2e:       73 0a                   jae    40009c3a <format_int+0x20a>
11257 40009c30:       8b 45 08                mov    0x8(%ebp),%eax
11258 40009c33:       c6 00 20                movb   $0x20,(%eax)
11259 40009c36:       83 45 08 01             addl   $0x1,0x8(%ebp)
11260 40009c3a:       83 45 cc 01             addl   $0x1,-0x34(%ebp)
11261 40009c3e:       8b 45 18                mov    0x18(%ebp),%eax
11262 40009c41:       83 e0 20                and    $0x20,%eax
11263 40009c44:       85 c0                   test   %eax,%eax
11264 40009c46:       74 4b                   je     40009c93 <format_int+0x263>
11265 40009c48:       83 7d 1c 10             cmpl   $0x10,0x1c(%ebp)
11266 40009c4c:       75 45                   jne    40009c93 <format_int+0x263>
11267 40009c4e:       8b 45 cc                mov    -0x34(%ebp),%eax
11268 40009c51:       3b 45 0c                cmp    0xc(%ebp),%eax
11269 40009c54:       73 0a                   jae    40009c60 <format_int+0x230>
11270 40009c56:       8b 45 08                mov    0x8(%ebp),%eax
11271 40009c59:       c6 00 30                movb   $0x30,(%eax)
11272 40009c5c:       83 45 08 01             addl   $0x1,0x8(%ebp)
11273 40009c60:       83 45 cc 01             addl   $0x1,-0x34(%ebp)
11274 40009c64:       8b 45 cc                mov    -0x34(%ebp),%eax
11275 40009c67:       3b 45 0c                cmp    0xc(%ebp),%eax
11276 40009c6a:       73 23                   jae    40009c8f <format_int+0x25f>
11277 40009c6c:       8b 45 18                mov    0x18(%ebp),%eax
11278 40009c6f:       25 80 00 00 00          and    $0x80,%eax
11279 40009c74:       85 c0                   test   %eax,%eax
11280 40009c76:       74 06                   je     40009c7e <format_int+0x24e>
11281 40009c78:       c6 45 bf 58             movb   $0x58,-0x41(%ebp)
11282 40009c7c:       eb 04                   jmp    40009c82 <format_int+0x252>
11283 40009c7e:       c6 45 bf 78             movb   $0x78,-0x41(%ebp)
11284 40009c82:       8b 45 08                mov    0x8(%ebp),%eax
11285 40009c85:       0f b6 55 bf             movzbl -0x41(%ebp),%edx
11286 40009c89:       88 10                   mov    %dl,(%eax)
11287 40009c8b:       83 45 08 01             addl   $0x1,0x8(%ebp)
11288 40009c8f:       83 45 cc 01             addl   $0x1,-0x34(%ebp)
11289 40009c93:       8b 45 18                mov    0x18(%ebp),%eax
11290 40009c96:       83 e0 03                and    $0x3,%eax
11291 40009c99:       83 f8 01                cmp    $0x1,%eax
11292 40009c9c:       75 2c                   jne    40009cca <format_int+0x29a>
11293 40009c9e:       8b 45 20                mov    0x20(%ebp),%eax
11294 40009ca1:       3b 45 e8                cmp    -0x18(%ebp),%eax
11295 40009ca4:       7e 24                   jle    40009cca <format_int+0x29a>
11296 40009ca6:       eb 1a                   jmp    40009cc2 <format_int+0x292>
11297 40009ca8:       8b 45 cc                mov    -0x34(%ebp),%eax
11298 40009cab:       3b 45 0c                cmp    0xc(%ebp),%eax
11299 40009cae:       73 0a                   jae    40009cba <format_int+0x28a>
11300 40009cb0:       8b 45 08                mov    0x8(%ebp),%eax
11301 40009cb3:       c6 00 30                movb   $0x30,(%eax)
11302 40009cb6:       83 45 08 01             addl   $0x1,0x8(%ebp)
11303 40009cba:       83 45 cc 01             addl   $0x1,-0x34(%ebp)
11304 40009cbe:       83 6d 20 01             subl   $0x1,0x20(%ebp)
11305 40009cc2:       8b 45 20                mov    0x20(%ebp),%eax
11306 40009cc5:       3b 45 ec                cmp    -0x14(%ebp),%eax
11307 40009cc8:       7f de                   jg     40009ca8 <format_int+0x278>
11308 40009cca:       8b 45 e8                mov    -0x18(%ebp),%eax
11309 40009ccd:       01 45 08                add    %eax,0x8(%ebp)
11310 40009cd0:       8b 45 e8                mov    -0x18(%ebp),%eax
11311 40009cd3:       01 45 cc                add    %eax,-0x34(%ebp)
11312 40009cd6:       8b 45 08                mov    0x8(%ebp),%eax
11313 40009cd9:       89 45 c8                mov    %eax,-0x38(%ebp)
11314 40009cdc:       8b 45 cc                mov    -0x34(%ebp),%eax
11315 40009cdf:       89 45 d0                mov    %eax,-0x30(%ebp)
11316 40009ce2:       8b 45 f0                mov    -0x10(%ebp),%eax
11317 40009ce5:       89 45 f4                mov    %eax,-0xc(%ebp)
11318 40009ce8:       e9 9b 00 00 00          jmp    40009d88 <format_int+0x358>
11319 40009ced:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
11320 40009cf1:       0f 94 c0                sete   %al
11321 40009cf4:       83 6d f4 01             subl   $0x1,-0xc(%ebp)
11322 40009cf8:       84 c0                   test   %al,%al
11323 40009cfa:       74 23                   je     40009d1f <format_int+0x2ef>
11324 40009cfc:       83 6d c8 01             subl   $0x1,-0x38(%ebp)
11325 40009d00:       83 6d d0 01             subl   $0x1,-0x30(%ebp)
11326 40009d04:       83 6d e8 01             subl   $0x1,-0x18(%ebp)
11327 40009d08:       8b 45 d0                mov    -0x30(%ebp),%eax
11328 40009d0b:       3b 45 0c                cmp    0xc(%ebp),%eax
11329 40009d0e:       73 06                   jae    40009d16 <format_int+0x2e6>
11330 40009d10:       8b 45 c8                mov    -0x38(%ebp),%eax
11331 40009d13:       c6 00 5f                movb   $0x5f,(%eax)
11332 40009d16:       8b 45 f0                mov    -0x10(%ebp),%eax
11333 40009d19:       83 e8 01                sub    $0x1,%eax
11334 40009d1c:       89 45 f4                mov    %eax,-0xc(%ebp)
11335 40009d1f:       83 6d c8 01             subl   $0x1,-0x38(%ebp)
11336 40009d23:       83 6d d0 01             subl   $0x1,-0x30(%ebp)
11337 40009d27:       83 6d e8 01             subl   $0x1,-0x18(%ebp)
11338 40009d2b:       8b 45 d0                mov    -0x30(%ebp),%eax
11339 40009d2e:       3b 45 0c                cmp    0xc(%ebp),%eax
11340 40009d31:       73 2d                   jae    40009d60 <format_int+0x330>
11341 40009d33:       8b 45 1c                mov    0x1c(%ebp),%eax
11342 40009d36:       89 c2                   mov    %eax,%edx
11343 40009d38:       c1 fa 1f                sar    $0x1f,%edx
11344 40009d3b:       8b 4d c0                mov    -0x40(%ebp),%ecx
11345 40009d3e:       8b 5d c4                mov    -0x3c(%ebp),%ebx
11346 40009d41:       89 44 24 08             mov    %eax,0x8(%esp)
11347 40009d45:       89 54 24 0c             mov    %edx,0xc(%esp)
11348 40009d49:       89 0c 24                mov    %ecx,(%esp)
11349 40009d4c:       89 5c 24 04             mov    %ebx,0x4(%esp)
11350 40009d50:       e8 8b 46 00 00          call   4000e3e0 <__umoddi3>
11351 40009d55:       03 45 d4                add    -0x2c(%ebp),%eax
11352 40009d58:       0f b6 10                movzbl (%eax),%edx
11353 40009d5b:       8b 45 c8                mov    -0x38(%ebp),%eax
11354 40009d5e:       88 10                   mov    %dl,(%eax)
11355 40009d60:       8b 45 1c                mov    0x1c(%ebp),%eax
11356 40009d63:       89 c2                   mov    %eax,%edx
11357 40009d65:       c1 fa 1f                sar    $0x1f,%edx
11358 40009d68:       89 44 24 08             mov    %eax,0x8(%esp)
11359 40009d6c:       89 54 24 0c             mov    %edx,0xc(%esp)
11360 40009d70:       8b 45 c0                mov    -0x40(%ebp),%eax
11361 40009d73:       8b 55 c4                mov    -0x3c(%ebp),%edx
11362 40009d76:       89 04 24                mov    %eax,(%esp)
11363 40009d79:       89 54 24 04             mov    %edx,0x4(%esp)
11364 40009d7d:       e8 fe 44 00 00          call   4000e280 <__udivdi3>
11365 40009d82:       89 45 c0                mov    %eax,-0x40(%ebp)
11366 40009d85:       89 55 c4                mov    %edx,-0x3c(%ebp)
11367 40009d88:       83 7d e8 00             cmpl   $0x0,-0x18(%ebp)
11368 40009d8c:       0f 8f 5b ff ff ff       jg     40009ced <format_int+0x2bd>
11369 40009d92:       eb 1a                   jmp    40009dae <format_int+0x37e>
11370 40009d94:       8b 45 cc                mov    -0x34(%ebp),%eax
11371 40009d97:       3b 45 0c                cmp    0xc(%ebp),%eax
11372 40009d9a:       73 0a                   jae    40009da6 <format_int+0x376>
11373 40009d9c:       8b 45 08                mov    0x8(%ebp),%eax
11374 40009d9f:       c6 00 20                movb   $0x20,(%eax)
11375 40009da2:       83 45 08 01             addl   $0x1,0x8(%ebp)
11376 40009da6:       83 45 cc 01             addl   $0x1,-0x34(%ebp)
11377 40009daa:       83 6d 20 01             subl   $0x1,0x20(%ebp)
11378 40009dae:       8b 45 18                mov    0x18(%ebp),%eax
11379 40009db1:       83 e0 02                and    $0x2,%eax
11380 40009db4:       85 c0                   test   %eax,%eax
11381 40009db6:       74 08                   je     40009dc0 <format_int+0x390>
11382 40009db8:       8b 45 20                mov    0x20(%ebp),%eax
11383 40009dbb:       3b 45 ec                cmp    -0x14(%ebp),%eax
11384 40009dbe:       7f d4                   jg     40009d94 <format_int+0x364>
11385 40009dc0:       8b 45 cc                mov    -0x34(%ebp),%eax
11386 40009dc3:       83 c4 64                add    $0x64,%esp
11387 40009dc6:       5b                      pop    %ebx
11388 40009dc7:       5d                      pop    %ebp
11389 40009dc8:       c3                      ret    
11391 40009dc9 <vsnprintf>:
11392 40009dc9:       55                      push   %ebp
11393 40009dca:       89 e5                   mov    %esp,%ebp
11394 40009dcc:       81 ec 98 00 00 00       sub    $0x98,%esp
11395 40009dd2:       8b 45 10                mov    0x10(%ebp),%eax
11396 40009dd5:       89 45 b8                mov    %eax,-0x48(%ebp)
11397 40009dd8:       8b 45 08                mov    0x8(%ebp),%eax
11398 40009ddb:       89 45 c0                mov    %eax,-0x40(%ebp)
11399 40009dde:       c7 45 c4 00 00 00 00    movl   $0x0,-0x3c(%ebp)
11400 40009de5:       c7 45 c8 00 00 00 00    movl   $0x0,-0x38(%ebp)
11401 40009dec:       c7 45 cc 00 00 00 00    movl   $0x0,-0x34(%ebp)
11402 40009df3:       c7 45 d0 00 00 00 00    movl   $0x0,-0x30(%ebp)
11403 40009dfa:       c7 45 d4 00 00 00 00    movl   $0x0,-0x2c(%ebp)
11404 40009e01:       c7 45 d8 ff ff ff ff    movl   $0xffffffff,-0x28(%ebp)
11405 40009e08:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
11406 40009e0f:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
11407 40009e16:       e9 69 06 00 00          jmp    4000a484 <vsnprintf+0x6bb>
11408 40009e1b:       83 7d e8 04             cmpl   $0x4,-0x18(%ebp)
11409 40009e1f:       0f 87 5f 06 00 00       ja     4000a484 <vsnprintf+0x6bb>
11410 40009e25:       8b 45 e8                mov    -0x18(%ebp),%eax
11411 40009e28:       c1 e0 02                shl    $0x2,%eax
11412 40009e2b:       8b 80 cc e8 00 40       mov    0x4000e8cc(%eax),%eax
11413 40009e31:       ff e0                   jmp    *%eax
11414 40009e33:       80 7d bf 25             cmpb   $0x25,-0x41(%ebp)
11415 40009e37:       75 28                   jne    40009e61 <vsnprintf+0x98>
11416 40009e39:       c7 45 e8 01 00 00 00    movl   $0x1,-0x18(%ebp)
11417 40009e40:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
11418 40009e47:       c7 45 d0 00 00 00 00    movl   $0x0,-0x30(%ebp)
11419 40009e4e:       c7 45 d4 00 00 00 00    movl   $0x0,-0x2c(%ebp)
11420 40009e55:       c7 45 d8 ff ff ff ff    movl   $0xffffffff,-0x28(%ebp)
11421 40009e5c:       e9 23 06 00 00          jmp    4000a484 <vsnprintf+0x6bb>
11422 40009e61:       8b 45 c4                mov    -0x3c(%ebp),%eax
11423 40009e64:       3b 45 0c                cmp    0xc(%ebp),%eax
11424 40009e67:       73 0d                   jae    40009e76 <vsnprintf+0xad>
11425 40009e69:       8b 55 c0                mov    -0x40(%ebp),%edx
11426 40009e6c:       0f b6 45 bf             movzbl -0x41(%ebp),%eax
11427 40009e70:       88 02                   mov    %al,(%edx)
11428 40009e72:       83 45 c0 01             addl   $0x1,-0x40(%ebp)
11429 40009e76:       83 45 c4 01             addl   $0x1,-0x3c(%ebp)
11430 40009e7a:       e9 05 06 00 00          jmp    4000a484 <vsnprintf+0x6bb>
11431 40009e7f:       0f be 45 bf             movsbl -0x41(%ebp),%eax
11432 40009e83:       83 e8 20                sub    $0x20,%eax
11433 40009e86:       89 45 a0                mov    %eax,-0x60(%ebp)
11434 40009e89:       83 7d a0 10             cmpl   $0x10,-0x60(%ebp)
11435 40009e8d:       77 42                   ja     40009ed1 <vsnprintf+0x108>
11436 40009e8f:       8b 55 a0                mov    -0x60(%ebp),%edx
11437 40009e92:       8b 04 95 e0 e8 00 40    mov    0x4000e8e0(,%edx,4),%eax
11438 40009e99:       ff e0                   jmp    *%eax
11439 40009e9b:       83 4d e4 02             orl    $0x2,-0x1c(%ebp)
11440 40009e9f:       e9 e0 05 00 00          jmp    4000a484 <vsnprintf+0x6bb>
11441 40009ea4:       83 4d e4 04             orl    $0x4,-0x1c(%ebp)
11442 40009ea8:       e9 d7 05 00 00          jmp    4000a484 <vsnprintf+0x6bb>
11443 40009ead:       83 4d e4 08             orl    $0x8,-0x1c(%ebp)
11444 40009eb1:       e9 ce 05 00 00          jmp    4000a484 <vsnprintf+0x6bb>
11445 40009eb6:       83 4d e4 10             orl    $0x10,-0x1c(%ebp)
11446 40009eba:       e9 c5 05 00 00          jmp    4000a484 <vsnprintf+0x6bb>
11447 40009ebf:       83 4d e4 20             orl    $0x20,-0x1c(%ebp)
11448 40009ec3:       e9 bc 05 00 00          jmp    4000a484 <vsnprintf+0x6bb>
11449 40009ec8:       83 4d e4 01             orl    $0x1,-0x1c(%ebp)
11450 40009ecc:       e9 b3 05 00 00          jmp    4000a484 <vsnprintf+0x6bb>
11451 40009ed1:       c7 45 e8 02 00 00 00    movl   $0x2,-0x18(%ebp)
11452 40009ed8:       83 6d b8 01             subl   $0x1,-0x48(%ebp)
11453 40009edc:       e9 a3 05 00 00          jmp    4000a484 <vsnprintf+0x6bb>
11454 40009ee1:       80 7d bf 2f             cmpb   $0x2f,-0x41(%ebp)
11455 40009ee5:       7e 26                   jle    40009f0d <vsnprintf+0x144>
11456 40009ee7:       80 7d bf 39             cmpb   $0x39,-0x41(%ebp)
11457 40009eeb:       7f 20                   jg     40009f0d <vsnprintf+0x144>
11458 40009eed:       8b 55 d4                mov    -0x2c(%ebp),%edx
11459 40009ef0:       89 d0                   mov    %edx,%eax
11460 40009ef2:       c1 e0 02                shl    $0x2,%eax
11461 40009ef5:       01 d0                   add    %edx,%eax
11462 40009ef7:       01 c0                   add    %eax,%eax
11463 40009ef9:       89 c2                   mov    %eax,%edx
11464 40009efb:       0f be 45 bf             movsbl -0x41(%ebp),%eax
11465 40009eff:       83 e8 30                sub    $0x30,%eax
11466 40009f02:       8d 04 02                lea    (%edx,%eax,1),%eax
11467 40009f05:       89 45 d4                mov    %eax,-0x2c(%ebp)
11468 40009f08:       e9 77 05 00 00          jmp    4000a484 <vsnprintf+0x6bb>
11469 40009f0d:       80 7d bf 2a             cmpb   $0x2a,-0x41(%ebp)
11470 40009f11:       75 26                   jne    40009f39 <vsnprintf+0x170>
11471 40009f13:       8b 55 14                mov    0x14(%ebp),%edx
11472 40009f16:       8d 42 04                lea    0x4(%edx),%eax
11473 40009f19:       89 45 14                mov    %eax,0x14(%ebp)
11474 40009f1c:       89 d0                   mov    %edx,%eax
11475 40009f1e:       8b 00                   mov    (%eax),%eax
11476 40009f20:       89 45 d4                mov    %eax,-0x2c(%ebp)
11477 40009f23:       83 7d d4 00             cmpl   $0x0,-0x2c(%ebp)
11478 40009f27:       0f 89 57 05 00 00       jns    4000a484 <vsnprintf+0x6bb>
11479 40009f2d:       f7 5d d4                negl   -0x2c(%ebp)
11480 40009f30:       83 4d e4 02             orl    $0x2,-0x1c(%ebp)
11481 40009f34:       e9 4b 05 00 00          jmp    4000a484 <vsnprintf+0x6bb>
11482 40009f39:       80 7d bf 2e             cmpb   $0x2e,-0x41(%ebp)
11483 40009f3d:       75 13                   jne    40009f52 <vsnprintf+0x189>
11484 40009f3f:       c7 45 d8 00 00 00 00    movl   $0x0,-0x28(%ebp)
11485 40009f46:       c7 45 e8 03 00 00 00    movl   $0x3,-0x18(%ebp)
11486 40009f4d:       e9 32 05 00 00          jmp    4000a484 <vsnprintf+0x6bb>
11487 40009f52:       c7 45 e8 04 00 00 00    movl   $0x4,-0x18(%ebp)
11488 40009f59:       83 6d b8 01             subl   $0x1,-0x48(%ebp)
11489 40009f5d:       e9 22 05 00 00          jmp    4000a484 <vsnprintf+0x6bb>
11490 40009f62:       80 7d bf 2f             cmpb   $0x2f,-0x41(%ebp)
11491 40009f66:       7e 26                   jle    40009f8e <vsnprintf+0x1c5>
11492 40009f68:       80 7d bf 39             cmpb   $0x39,-0x41(%ebp)
11493 40009f6c:       7f 20                   jg     40009f8e <vsnprintf+0x1c5>
11494 40009f6e:       8b 55 d8                mov    -0x28(%ebp),%edx
11495 40009f71:       89 d0                   mov    %edx,%eax
11496 40009f73:       c1 e0 02                shl    $0x2,%eax
11497 40009f76:       01 d0                   add    %edx,%eax
11498 40009f78:       01 c0                   add    %eax,%eax
11499 40009f7a:       89 c2                   mov    %eax,%edx
11500 40009f7c:       0f be 45 bf             movsbl -0x41(%ebp),%eax
11501 40009f80:       83 e8 30                sub    $0x30,%eax
11502 40009f83:       8d 04 02                lea    (%edx,%eax,1),%eax
11503 40009f86:       89 45 d8                mov    %eax,-0x28(%ebp)
11504 40009f89:       e9 f6 04 00 00          jmp    4000a484 <vsnprintf+0x6bb>
11505 40009f8e:       80 7d bf 2a             cmpb   $0x2a,-0x41(%ebp)
11506 40009f92:       75 26                   jne    40009fba <vsnprintf+0x1f1>
11507 40009f94:       8b 55 14                mov    0x14(%ebp),%edx
11508 40009f97:       8d 42 04                lea    0x4(%edx),%eax
11509 40009f9a:       89 45 14                mov    %eax,0x14(%ebp)
11510 40009f9d:       89 d0                   mov    %edx,%eax
11511 40009f9f:       8b 00                   mov    (%eax),%eax
11512 40009fa1:       89 45 d8                mov    %eax,-0x28(%ebp)
11513 40009fa4:       83 7d d8 00             cmpl   $0x0,-0x28(%ebp)
11514 40009fa8:       0f 89 d6 04 00 00       jns    4000a484 <vsnprintf+0x6bb>
11515 40009fae:       c7 45 d8 ff ff ff ff    movl   $0xffffffff,-0x28(%ebp)
11516 40009fb5:       e9 ca 04 00 00          jmp    4000a484 <vsnprintf+0x6bb>
11517 40009fba:       c7 45 e8 04 00 00 00    movl   $0x4,-0x18(%ebp)
11518 40009fc1:       83 6d b8 01             subl   $0x1,-0x48(%ebp)
11519 40009fc5:       e9 ba 04 00 00          jmp    4000a484 <vsnprintf+0x6bb>
11520 40009fca:       0f be 45 bf             movsbl -0x41(%ebp),%eax
11521 40009fce:       83 e8 4c                sub    $0x4c,%eax
11522 40009fd1:       89 45 9c                mov    %eax,-0x64(%ebp)
11523 40009fd4:       83 7d 9c 2e             cmpl   $0x2e,-0x64(%ebp)
11524 40009fd8:       77 4b                   ja     4000a025 <vsnprintf+0x25c>
11525 40009fda:       8b 4d 9c                mov    -0x64(%ebp),%ecx
11526 40009fdd:       8b 04 8d 24 e9 00 40    mov    0x4000e924(,%ecx,4),%eax
11527 40009fe4:       ff e0                   jmp    *%eax
11528 40009fe6:       83 6d d0 01             subl   $0x1,-0x30(%ebp)
11529 40009fea:       e9 95 04 00 00          jmp    4000a484 <vsnprintf+0x6bb>
11530 40009fef:       83 45 d0 01             addl   $0x1,-0x30(%ebp)
11531 40009ff3:       e9 8c 04 00 00          jmp    4000a484 <vsnprintf+0x6bb>
11532 40009ff8:       c7 45 d0 02 00 00 00    movl   $0x2,-0x30(%ebp)
11533 40009fff:       e9 80 04 00 00          jmp    4000a484 <vsnprintf+0x6bb>
11534 4000a004:       c7 45 d0 01 00 00 00    movl   $0x1,-0x30(%ebp)
11535 4000a00b:       e9 74 04 00 00          jmp    4000a484 <vsnprintf+0x6bb>
11536 4000a010:       c7 45 d0 01 00 00 00    movl   $0x1,-0x30(%ebp)
11537 4000a017:       e9 68 04 00 00          jmp    4000a484 <vsnprintf+0x6bb>
11538 4000a01c:       83 45 d0 02             addl   $0x2,-0x30(%ebp)
11539 4000a020:       e9 5f 04 00 00          jmp    4000a484 <vsnprintf+0x6bb>
11540 4000a025:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
11541 4000a02c:       83 7d d0 fe             cmpl   $0xfffffffe,-0x30(%ebp)
11542 4000a030:       7d 09                   jge    4000a03b <vsnprintf+0x272>
11543 4000a032:       c7 45 d0 fe ff ff ff    movl   $0xfffffffe,-0x30(%ebp)
11544 4000a039:       eb 0d                   jmp    4000a048 <vsnprintf+0x27f>
11545 4000a03b:       83 7d d0 02             cmpl   $0x2,-0x30(%ebp)
11546 4000a03f:       7e 07                   jle    4000a048 <vsnprintf+0x27f>
11547 4000a041:       c7 45 d0 02 00 00 00    movl   $0x2,-0x30(%ebp)
11548 4000a048:       0f be 45 bf             movsbl -0x41(%ebp),%eax
11549 4000a04c:       83 e8 50                sub    $0x50,%eax
11550 4000a04f:       89 45 98                mov    %eax,-0x68(%ebp)
11551 4000a052:       83 7d 98 28             cmpl   $0x28,-0x68(%ebp)
11552 4000a056:       0f 87 0f 04 00 00       ja     4000a46b <vsnprintf+0x6a2>
11553 4000a05c:       8b 55 98                mov    -0x68(%ebp),%edx
11554 4000a05f:       8b 04 95 e0 e9 00 40    mov    0x4000e9e0(,%edx,4),%eax
11555 4000a066:       ff e0                   jmp    *%eax
11556 4000a068:       81 4d e4 80 00 00 00    orl    $0x80,-0x1c(%ebp)
11557 4000a06f:       c7 45 dc 10 00 00 00    movl   $0x10,-0x24(%ebp)
11558 4000a076:       c7 45 d8 08 00 00 00    movl   $0x8,-0x28(%ebp)
11559 4000a07d:       83 4d e4 20             orl    $0x20,-0x1c(%ebp)
11560 4000a081:       8b 55 14                mov    0x14(%ebp),%edx
11561 4000a084:       8d 42 04                lea    0x4(%edx),%eax
11562 4000a087:       89 45 14                mov    %eax,0x14(%ebp)
11563 4000a08a:       89 d0                   mov    %edx,%eax
11564 4000a08c:       8b 00                   mov    (%eax),%eax
11565 4000a08e:       ba 00 00 00 00          mov    $0x0,%edx
11566 4000a093:       89 45 c8                mov    %eax,-0x38(%ebp)
11567 4000a096:       89 55 cc                mov    %edx,-0x34(%ebp)
11568 4000a099:       e9 98 01 00 00          jmp    4000a236 <vsnprintf+0x46d>
11569 4000a09e:       c7 45 dc 0a 00 00 00    movl   $0xa,-0x24(%ebp)
11570 4000a0a5:       83 4d e4 40             orl    $0x40,-0x1c(%ebp)
11571 4000a0a9:       8b 45 d0                mov    -0x30(%ebp),%eax
11572 4000a0ac:       83 c0 02                add    $0x2,%eax
11573 4000a0af:       89 45 94                mov    %eax,-0x6c(%ebp)
11574 4000a0b2:       83 7d 94 04             cmpl   $0x4,-0x6c(%ebp)
11575 4000a0b6:       0f 87 7a 01 00 00       ja     4000a236 <vsnprintf+0x46d>
11576 4000a0bc:       8b 4d 94                mov    -0x6c(%ebp),%ecx
11577 4000a0bf:       8b 04 8d 84 ea 00 40    mov    0x4000ea84(,%ecx,4),%eax
11578 4000a0c6:       ff e0                   jmp    *%eax
11579 4000a0c8:       8b 55 14                mov    0x14(%ebp),%edx
11580 4000a0cb:       8d 42 04                lea    0x4(%edx),%eax
11581 4000a0ce:       89 45 14                mov    %eax,0x14(%ebp)
11582 4000a0d1:       89 d0                   mov    %edx,%eax
11583 4000a0d3:       8b 00                   mov    (%eax),%eax
11584 4000a0d5:       0f be c0                movsbl %al,%eax
11585 4000a0d8:       89 45 c8                mov    %eax,-0x38(%ebp)
11586 4000a0db:       8b 45 c8                mov    -0x38(%ebp),%eax
11587 4000a0de:       89 c2                   mov    %eax,%edx
11588 4000a0e0:       c1 fa 1f                sar    $0x1f,%edx
11589 4000a0e3:       89 45 c8                mov    %eax,-0x38(%ebp)
11590 4000a0e6:       89 55 cc                mov    %edx,-0x34(%ebp)
11591 4000a0e9:       e9 48 01 00 00          jmp    4000a236 <vsnprintf+0x46d>
11592 4000a0ee:       8b 55 14                mov    0x14(%ebp),%edx
11593 4000a0f1:       8d 42 04                lea    0x4(%edx),%eax
11594 4000a0f4:       89 45 14                mov    %eax,0x14(%ebp)
11595 4000a0f7:       89 d0                   mov    %edx,%eax
11596 4000a0f9:       8b 00                   mov    (%eax),%eax
11597 4000a0fb:       98                      cwtl   
11598 4000a0fc:       89 45 c8                mov    %eax,-0x38(%ebp)
11599 4000a0ff:       8b 45 c8                mov    -0x38(%ebp),%eax
11600 4000a102:       89 c2                   mov    %eax,%edx
11601 4000a104:       c1 fa 1f                sar    $0x1f,%edx
11602 4000a107:       89 45 c8                mov    %eax,-0x38(%ebp)
11603 4000a10a:       89 55 cc                mov    %edx,-0x34(%ebp)
11604 4000a10d:       e9 24 01 00 00          jmp    4000a236 <vsnprintf+0x46d>
11605 4000a112:       8b 55 14                mov    0x14(%ebp),%edx
11606 4000a115:       8d 42 04                lea    0x4(%edx),%eax
11607 4000a118:       89 45 14                mov    %eax,0x14(%ebp)
11608 4000a11b:       89 d0                   mov    %edx,%eax
11609 4000a11d:       8b 00                   mov    (%eax),%eax
11610 4000a11f:       89 c2                   mov    %eax,%edx
11611 4000a121:       c1 fa 1f                sar    $0x1f,%edx
11612 4000a124:       89 45 c8                mov    %eax,-0x38(%ebp)
11613 4000a127:       89 55 cc                mov    %edx,-0x34(%ebp)
11614 4000a12a:       e9 07 01 00 00          jmp    4000a236 <vsnprintf+0x46d>
11615 4000a12f:       8b 55 14                mov    0x14(%ebp),%edx
11616 4000a132:       8d 42 04                lea    0x4(%edx),%eax
11617 4000a135:       89 45 14                mov    %eax,0x14(%ebp)
11618 4000a138:       89 d0                   mov    %edx,%eax
11619 4000a13a:       8b 00                   mov    (%eax),%eax
11620 4000a13c:       89 c2                   mov    %eax,%edx
11621 4000a13e:       c1 fa 1f                sar    $0x1f,%edx
11622 4000a141:       89 45 c8                mov    %eax,-0x38(%ebp)
11623 4000a144:       89 55 cc                mov    %edx,-0x34(%ebp)
11624 4000a147:       e9 ea 00 00 00          jmp    4000a236 <vsnprintf+0x46d>
11625 4000a14c:       8b 55 14                mov    0x14(%ebp),%edx
11626 4000a14f:       8d 42 08                lea    0x8(%edx),%eax
11627 4000a152:       89 45 14                mov    %eax,0x14(%ebp)
11628 4000a155:       89 d0                   mov    %edx,%eax
11629 4000a157:       8b 50 04                mov    0x4(%eax),%edx
11630 4000a15a:       8b 00                   mov    (%eax),%eax
11631 4000a15c:       89 45 c8                mov    %eax,-0x38(%ebp)
11632 4000a15f:       89 55 cc                mov    %edx,-0x34(%ebp)
11633 4000a162:       e9 cf 00 00 00          jmp    4000a236 <vsnprintf+0x46d>
11634 4000a167:       c7 45 dc 08 00 00 00    movl   $0x8,-0x24(%ebp)
11635 4000a16e:       eb 17                   jmp    4000a187 <vsnprintf+0x3be>
11636 4000a170:       c7 45 dc 0a 00 00 00    movl   $0xa,-0x24(%ebp)
11637 4000a177:       eb 0e                   jmp    4000a187 <vsnprintf+0x3be>
11638 4000a179:       81 4d e4 80 00 00 00    orl    $0x80,-0x1c(%ebp)
11639 4000a180:       c7 45 dc 10 00 00 00    movl   $0x10,-0x24(%ebp)
11640 4000a187:       8b 45 d0                mov    -0x30(%ebp),%eax
11641 4000a18a:       83 c0 02                add    $0x2,%eax
11642 4000a18d:       89 45 90                mov    %eax,-0x70(%ebp)
11643 4000a190:       83 7d 90 04             cmpl   $0x4,-0x70(%ebp)
11644 4000a194:       0f 87 9c 00 00 00       ja     4000a236 <vsnprintf+0x46d>
11645 4000a19a:       8b 55 90                mov    -0x70(%ebp),%edx
11646 4000a19d:       8b 04 95 98 ea 00 40    mov    0x4000ea98(,%edx,4),%eax
11647 4000a1a4:       ff e0                   jmp    *%eax
11648 4000a1a6:       8b 55 14                mov    0x14(%ebp),%edx
11649 4000a1a9:       8d 42 04                lea    0x4(%edx),%eax
11650 4000a1ac:       89 45 14                mov    %eax,0x14(%ebp)
11651 4000a1af:       89 d0                   mov    %edx,%eax
11652 4000a1b1:       8b 00                   mov    (%eax),%eax
11653 4000a1b3:       0f b6 c0                movzbl %al,%eax
11654 4000a1b6:       89 45 c8                mov    %eax,-0x38(%ebp)
11655 4000a1b9:       8b 45 c8                mov    -0x38(%ebp),%eax
11656 4000a1bc:       ba 00 00 00 00          mov    $0x0,%edx
11657 4000a1c1:       89 45 c8                mov    %eax,-0x38(%ebp)
11658 4000a1c4:       89 55 cc                mov    %edx,-0x34(%ebp)
11659 4000a1c7:       eb 6d                   jmp    4000a236 <vsnprintf+0x46d>
11660 4000a1c9:       8b 55 14                mov    0x14(%ebp),%edx
11661 4000a1cc:       8d 42 04                lea    0x4(%edx),%eax
11662 4000a1cf:       89 45 14                mov    %eax,0x14(%ebp)
11663 4000a1d2:       89 d0                   mov    %edx,%eax
11664 4000a1d4:       8b 00                   mov    (%eax),%eax
11665 4000a1d6:       0f b7 c0                movzwl %ax,%eax
11666 4000a1d9:       89 45 c8                mov    %eax,-0x38(%ebp)
11667 4000a1dc:       8b 45 c8                mov    -0x38(%ebp),%eax
11668 4000a1df:       ba 00 00 00 00          mov    $0x0,%edx
11669 4000a1e4:       89 45 c8                mov    %eax,-0x38(%ebp)
11670 4000a1e7:       89 55 cc                mov    %edx,-0x34(%ebp)
11671 4000a1ea:       eb 4a                   jmp    4000a236 <vsnprintf+0x46d>
11672 4000a1ec:       8b 55 14                mov    0x14(%ebp),%edx
11673 4000a1ef:       8d 42 04                lea    0x4(%edx),%eax
11674 4000a1f2:       89 45 14                mov    %eax,0x14(%ebp)
11675 4000a1f5:       89 d0                   mov    %edx,%eax
11676 4000a1f7:       8b 00                   mov    (%eax),%eax
11677 4000a1f9:       ba 00 00 00 00          mov    $0x0,%edx
11678 4000a1fe:       89 45 c8                mov    %eax,-0x38(%ebp)
11679 4000a201:       89 55 cc                mov    %edx,-0x34(%ebp)
11680 4000a204:       eb 30                   jmp    4000a236 <vsnprintf+0x46d>
11681 4000a206:       8b 55 14                mov    0x14(%ebp),%edx
11682 4000a209:       8d 42 04                lea    0x4(%edx),%eax
11683 4000a20c:       89 45 14                mov    %eax,0x14(%ebp)
11684 4000a20f:       89 d0                   mov    %edx,%eax
11685 4000a211:       8b 00                   mov    (%eax),%eax
11686 4000a213:       ba 00 00 00 00          mov    $0x0,%edx
11687 4000a218:       89 45 c8                mov    %eax,-0x38(%ebp)
11688 4000a21b:       89 55 cc                mov    %edx,-0x34(%ebp)
11689 4000a21e:       eb 16                   jmp    4000a236 <vsnprintf+0x46d>
11690 4000a220:       8b 55 14                mov    0x14(%ebp),%edx
11691 4000a223:       8d 42 08                lea    0x8(%edx),%eax
11692 4000a226:       89 45 14                mov    %eax,0x14(%ebp)
11693 4000a229:       89 d0                   mov    %edx,%eax
11694 4000a22b:       8b 50 04                mov    0x4(%eax),%edx
11695 4000a22e:       8b 00                   mov    (%eax),%eax
11696 4000a230:       89 45 c8                mov    %eax,-0x38(%ebp)
11697 4000a233:       89 55 cc                mov    %edx,-0x34(%ebp)
11698 4000a236:       8b 45 c4                mov    -0x3c(%ebp),%eax
11699 4000a239:       3b 45 0c                cmp    0xc(%ebp),%eax
11700 4000a23c:       73 0f                   jae    4000a24d <vsnprintf+0x484>
11701 4000a23e:       8b 55 c4                mov    -0x3c(%ebp),%edx
11702 4000a241:       8b 45 0c                mov    0xc(%ebp),%eax
11703 4000a244:       89 c1                   mov    %eax,%ecx
11704 4000a246:       29 d1                   sub    %edx,%ecx
11705 4000a248:       89 4d a4                mov    %ecx,-0x5c(%ebp)
11706 4000a24b:       eb 07                   jmp    4000a254 <vsnprintf+0x48b>
11707 4000a24d:       c7 45 a4 00 00 00 00    movl   $0x0,-0x5c(%ebp)
11708 4000a254:       8b 45 d8                mov    -0x28(%ebp),%eax
11709 4000a257:       89 44 24 1c             mov    %eax,0x1c(%esp)
11710 4000a25b:       8b 45 d4                mov    -0x2c(%ebp),%eax
11711 4000a25e:       89 44 24 18             mov    %eax,0x18(%esp)
11712 4000a262:       8b 45 dc                mov    -0x24(%ebp),%eax
11713 4000a265:       89 44 24 14             mov    %eax,0x14(%esp)
11714 4000a269:       8b 45 e4                mov    -0x1c(%ebp),%eax
11715 4000a26c:       89 44 24 10             mov    %eax,0x10(%esp)
11716 4000a270:       8b 45 c8                mov    -0x38(%ebp),%eax
11717 4000a273:       8b 55 cc                mov    -0x34(%ebp),%edx
11718 4000a276:       89 44 24 08             mov    %eax,0x8(%esp)
11719 4000a27a:       89 54 24 0c             mov    %edx,0xc(%esp)
11720 4000a27e:       8b 45 a4                mov    -0x5c(%ebp),%eax
11721 4000a281:       89 44 24 04             mov    %eax,0x4(%esp)
11722 4000a285:       8b 45 c0                mov    -0x40(%ebp),%eax
11723 4000a288:       89 04 24                mov    %eax,(%esp)
11724 4000a28b:       e8 a0 f7 ff ff          call   40009a30 <format_int>
11725 4000a290:       89 45 e0                mov    %eax,-0x20(%ebp)
11726 4000a293:       8b 45 e0                mov    -0x20(%ebp),%eax
11727 4000a296:       01 45 c0                add    %eax,-0x40(%ebp)
11728 4000a299:       8b 45 e0                mov    -0x20(%ebp),%eax
11729 4000a29c:       01 45 c4                add    %eax,-0x3c(%ebp)
11730 4000a29f:       e9 e0 01 00 00          jmp    4000a484 <vsnprintf+0x6bb>
11731 4000a2a4:       8b 55 14                mov    0x14(%ebp),%edx
11732 4000a2a7:       8d 42 04                lea    0x4(%edx),%eax
11733 4000a2aa:       89 45 14                mov    %eax,0x14(%ebp)
11734 4000a2ad:       89 d0                   mov    %edx,%eax
11735 4000a2af:       8b 00                   mov    (%eax),%eax
11736 4000a2b1:       88 45 b7                mov    %al,-0x49(%ebp)
11737 4000a2b4:       8d 45 b7                lea    -0x49(%ebp),%eax
11738 4000a2b7:       89 45 ec                mov    %eax,-0x14(%ebp)
11739 4000a2ba:       c7 45 f0 01 00 00 00    movl   $0x1,-0x10(%ebp)
11740 4000a2c1:       eb 39                   jmp    4000a2fc <vsnprintf+0x533>
11741 4000a2c3:       8b 55 14                mov    0x14(%ebp),%edx
11742 4000a2c6:       8d 42 04                lea    0x4(%edx),%eax
11743 4000a2c9:       89 45 14                mov    %eax,0x14(%ebp)
11744 4000a2cc:       89 d0                   mov    %edx,%eax
11745 4000a2ce:       8b 00                   mov    (%eax),%eax
11746 4000a2d0:       89 45 ec                mov    %eax,-0x14(%ebp)
11747 4000a2d3:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
11748 4000a2d7:       74 08                   je     4000a2e1 <vsnprintf+0x518>
11749 4000a2d9:       8b 55 ec                mov    -0x14(%ebp),%edx
11750 4000a2dc:       89 55 a8                mov    %edx,-0x58(%ebp)
11751 4000a2df:       eb 07                   jmp    4000a2e8 <vsnprintf+0x51f>
11752 4000a2e1:       c7 45 a8 c2 e8 00 40    movl   $0x4000e8c2,-0x58(%ebp)
11753 4000a2e8:       8b 4d a8                mov    -0x58(%ebp),%ecx
11754 4000a2eb:       89 4d ec                mov    %ecx,-0x14(%ebp)
11755 4000a2ee:       8b 45 ec                mov    -0x14(%ebp),%eax
11756 4000a2f1:       89 04 24                mov    %eax,(%esp)
11757 4000a2f4:       e8 2b 07 00 00          call   4000aa24 <strlen>
11758 4000a2f9:       89 45 f0                mov    %eax,-0x10(%ebp)
11759 4000a2fc:       83 7d d8 ff             cmpl   $0xffffffff,-0x28(%ebp)
11760 4000a300:       74 0e                   je     4000a310 <vsnprintf+0x547>
11761 4000a302:       8b 45 f0                mov    -0x10(%ebp),%eax
11762 4000a305:       3b 45 d8                cmp    -0x28(%ebp),%eax
11763 4000a308:       7e 06                   jle    4000a310 <vsnprintf+0x547>
11764 4000a30a:       8b 45 d8                mov    -0x28(%ebp),%eax
11765 4000a30d:       89 45 f0                mov    %eax,-0x10(%ebp)
11766 4000a310:       8b 45 d4                mov    -0x2c(%ebp),%eax
11767 4000a313:       3b 45 f0                cmp    -0x10(%ebp),%eax
11768 4000a316:       7e 4c                   jle    4000a364 <vsnprintf+0x59b>
11769 4000a318:       8b 45 e4                mov    -0x1c(%ebp),%eax
11770 4000a31b:       83 e0 02                and    $0x2,%eax
11771 4000a31e:       85 c0                   test   %eax,%eax
11772 4000a320:       75 42                   jne    4000a364 <vsnprintf+0x59b>
11773 4000a322:       8b 45 e4                mov    -0x1c(%ebp),%eax
11774 4000a325:       83 e0 01                and    $0x1,%eax
11775 4000a328:       84 c0                   test   %al,%al
11776 4000a32a:       74 06                   je     4000a332 <vsnprintf+0x569>
11777 4000a32c:       c6 45 af 30             movb   $0x30,-0x51(%ebp)
11778 4000a330:       eb 04                   jmp    4000a336 <vsnprintf+0x56d>
11779 4000a332:       c6 45 af 20             movb   $0x20,-0x51(%ebp)
11780 4000a336:       0f b6 45 af             movzbl -0x51(%ebp),%eax
11781 4000a33a:       88 45 ff                mov    %al,-0x1(%ebp)
11782 4000a33d:       eb 1d                   jmp    4000a35c <vsnprintf+0x593>
11783 4000a33f:       8b 45 c4                mov    -0x3c(%ebp),%eax
11784 4000a342:       3b 45 0c                cmp    0xc(%ebp),%eax
11785 4000a345:       73 0d                   jae    4000a354 <vsnprintf+0x58b>
11786 4000a347:       8b 55 c0                mov    -0x40(%ebp),%edx
11787 4000a34a:       0f b6 45 ff             movzbl -0x1(%ebp),%eax
11788 4000a34e:       88 02                   mov    %al,(%edx)
11789 4000a350:       83 45 c0 01             addl   $0x1,-0x40(%ebp)
11790 4000a354:       83 45 c4 01             addl   $0x1,-0x3c(%ebp)
11791 4000a358:       83 6d d4 01             subl   $0x1,-0x2c(%ebp)
11792 4000a35c:       8b 45 d4                mov    -0x2c(%ebp),%eax
11793 4000a35f:       3b 45 f0                cmp    -0x10(%ebp),%eax
11794 4000a362:       7f db                   jg     4000a33f <vsnprintf+0x576>
11795 4000a364:       8b 45 f0                mov    -0x10(%ebp),%eax
11796 4000a367:       89 45 f8                mov    %eax,-0x8(%ebp)
11797 4000a36a:       eb 2a                   jmp    4000a396 <vsnprintf+0x5cd>
11798 4000a36c:       8b 45 ec                mov    -0x14(%ebp),%eax
11799 4000a36f:       0f b6 00                movzbl (%eax),%eax
11800 4000a372:       88 45 f7                mov    %al,-0x9(%ebp)
11801 4000a375:       83 45 ec 01             addl   $0x1,-0x14(%ebp)
11802 4000a379:       8b 45 c4                mov    -0x3c(%ebp),%eax
11803 4000a37c:       3b 45 0c                cmp    0xc(%ebp),%eax
11804 4000a37f:       73 0d                   jae    4000a38e <vsnprintf+0x5c5>
11805 4000a381:       8b 55 c0                mov    -0x40(%ebp),%edx
11806 4000a384:       0f b6 45 f7             movzbl -0x9(%ebp),%eax
11807 4000a388:       88 02                   mov    %al,(%edx)
11808 4000a38a:       83 45 c0 01             addl   $0x1,-0x40(%ebp)
11809 4000a38e:       83 45 c4 01             addl   $0x1,-0x3c(%ebp)
11810 4000a392:       83 6d f8 01             subl   $0x1,-0x8(%ebp)
11811 4000a396:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
11812 4000a39a:       75 d0                   jne    4000a36c <vsnprintf+0x5a3>
11813 4000a39c:       8b 45 d4                mov    -0x2c(%ebp),%eax
11814 4000a39f:       3b 45 f0                cmp    -0x10(%ebp),%eax
11815 4000a3a2:       0f 8e dc 00 00 00       jle    4000a484 <vsnprintf+0x6bb>
11816 4000a3a8:       8b 45 e4                mov    -0x1c(%ebp),%eax
11817 4000a3ab:       83 e0 02                and    $0x2,%eax
11818 4000a3ae:       85 c0                   test   %eax,%eax
11819 4000a3b0:       0f 84 ce 00 00 00       je     4000a484 <vsnprintf+0x6bb>
11820 4000a3b6:       eb 1a                   jmp    4000a3d2 <vsnprintf+0x609>
11821 4000a3b8:       8b 45 c4                mov    -0x3c(%ebp),%eax
11822 4000a3bb:       3b 45 0c                cmp    0xc(%ebp),%eax
11823 4000a3be:       73 0a                   jae    4000a3ca <vsnprintf+0x601>
11824 4000a3c0:       8b 45 c0                mov    -0x40(%ebp),%eax
11825 4000a3c3:       c6 00 20                movb   $0x20,(%eax)
11826 4000a3c6:       83 45 c0 01             addl   $0x1,-0x40(%ebp)
11827 4000a3ca:       83 45 c4 01             addl   $0x1,-0x3c(%ebp)
11828 4000a3ce:       83 6d d4 01             subl   $0x1,-0x2c(%ebp)
11829 4000a3d2:       8b 45 d4                mov    -0x2c(%ebp),%eax
11830 4000a3d5:       3b 45 f0                cmp    -0x10(%ebp),%eax
11831 4000a3d8:       7f de                   jg     4000a3b8 <vsnprintf+0x5ef>
11832 4000a3da:       e9 a5 00 00 00          jmp    4000a484 <vsnprintf+0x6bb>
11833 4000a3df:       8b 45 d0                mov    -0x30(%ebp),%eax
11834 4000a3e2:       83 c0 02                add    $0x2,%eax
11835 4000a3e5:       89 45 8c                mov    %eax,-0x74(%ebp)
11836 4000a3e8:       83 7d 8c 04             cmpl   $0x4,-0x74(%ebp)
11837 4000a3ec:       0f 87 92 00 00 00       ja     4000a484 <vsnprintf+0x6bb>
11838 4000a3f2:       8b 55 8c                mov    -0x74(%ebp),%edx
11839 4000a3f5:       8b 04 95 ac ea 00 40    mov    0x4000eaac(,%edx,4),%eax
11840 4000a3fc:       ff e0                   jmp    *%eax
11841 4000a3fe:       8b 55 14                mov    0x14(%ebp),%edx
11842 4000a401:       8d 42 04                lea    0x4(%edx),%eax
11843 4000a404:       89 45 14                mov    %eax,0x14(%ebp)
11844 4000a407:       89 d0                   mov    %edx,%eax
11845 4000a409:       8b 10                   mov    (%eax),%edx
11846 4000a40b:       8b 45 c4                mov    -0x3c(%ebp),%eax
11847 4000a40e:       88 02                   mov    %al,(%edx)
11848 4000a410:       eb 72                   jmp    4000a484 <vsnprintf+0x6bb>
11849 4000a412:       8b 55 14                mov    0x14(%ebp),%edx
11850 4000a415:       8d 42 04                lea    0x4(%edx),%eax
11851 4000a418:       89 45 14                mov    %eax,0x14(%ebp)
11852 4000a41b:       89 d0                   mov    %edx,%eax
11853 4000a41d:       8b 10                   mov    (%eax),%edx
11854 4000a41f:       8b 45 c4                mov    -0x3c(%ebp),%eax
11855 4000a422:       66 89 02                mov    %ax,(%edx)
11856 4000a425:       eb 5d                   jmp    4000a484 <vsnprintf+0x6bb>
11857 4000a427:       8b 55 14                mov    0x14(%ebp),%edx
11858 4000a42a:       8d 42 04                lea    0x4(%edx),%eax
11859 4000a42d:       89 45 14                mov    %eax,0x14(%ebp)
11860 4000a430:       89 d0                   mov    %edx,%eax
11861 4000a432:       8b 10                   mov    (%eax),%edx
11862 4000a434:       8b 45 c4                mov    -0x3c(%ebp),%eax
11863 4000a437:       89 02                   mov    %eax,(%edx)
11864 4000a439:       eb 49                   jmp    4000a484 <vsnprintf+0x6bb>
11865 4000a43b:       8b 55 14                mov    0x14(%ebp),%edx
11866 4000a43e:       8d 42 04                lea    0x4(%edx),%eax
11867 4000a441:       89 45 14                mov    %eax,0x14(%ebp)
11868 4000a444:       89 d0                   mov    %edx,%eax
11869 4000a446:       8b 10                   mov    (%eax),%edx
11870 4000a448:       8b 45 c4                mov    -0x3c(%ebp),%eax
11871 4000a44b:       89 02                   mov    %eax,(%edx)
11872 4000a44d:       eb 35                   jmp    4000a484 <vsnprintf+0x6bb>
11873 4000a44f:       8b 55 14                mov    0x14(%ebp),%edx
11874 4000a452:       8d 42 04                lea    0x4(%edx),%eax
11875 4000a455:       89 45 14                mov    %eax,0x14(%ebp)
11876 4000a458:       89 d0                   mov    %edx,%eax
11877 4000a45a:       8b 08                   mov    (%eax),%ecx
11878 4000a45c:       8b 45 c4                mov    -0x3c(%ebp),%eax
11879 4000a45f:       ba 00 00 00 00          mov    $0x0,%edx
11880 4000a464:       89 01                   mov    %eax,(%ecx)
11881 4000a466:       89 51 04                mov    %edx,0x4(%ecx)
11882 4000a469:       eb 19                   jmp    4000a484 <vsnprintf+0x6bb>
11883 4000a46b:       8b 45 c4                mov    -0x3c(%ebp),%eax
11884 4000a46e:       3b 45 0c                cmp    0xc(%ebp),%eax
11885 4000a471:       73 0d                   jae    4000a480 <vsnprintf+0x6b7>
11886 4000a473:       8b 55 c0                mov    -0x40(%ebp),%edx
11887 4000a476:       0f b6 45 bf             movzbl -0x41(%ebp),%eax
11888 4000a47a:       88 02                   mov    %al,(%edx)
11889 4000a47c:       83 45 c0 01             addl   $0x1,-0x40(%ebp)
11890 4000a480:       83 45 c4 01             addl   $0x1,-0x3c(%ebp)
11891 4000a484:       8b 45 b8                mov    -0x48(%ebp),%eax
11892 4000a487:       0f b6 00                movzbl (%eax),%eax
11893 4000a48a:       88 45 bf                mov    %al,-0x41(%ebp)
11894 4000a48d:       80 7d bf 00             cmpb   $0x0,-0x41(%ebp)
11895 4000a491:       0f 95 c0                setne  %al
11896 4000a494:       83 45 b8 01             addl   $0x1,-0x48(%ebp)
11897 4000a498:       84 c0                   test   %al,%al
11898 4000a49a:       0f 85 7b f9 ff ff       jne    40009e1b <vsnprintf+0x52>
11899 4000a4a0:       8b 45 c4                mov    -0x3c(%ebp),%eax
11900 4000a4a3:       3b 45 0c                cmp    0xc(%ebp),%eax
11901 4000a4a6:       73 08                   jae    4000a4b0 <vsnprintf+0x6e7>
11902 4000a4a8:       8b 45 c0                mov    -0x40(%ebp),%eax
11903 4000a4ab:       c6 00 00                movb   $0x0,(%eax)
11904 4000a4ae:       eb 12                   jmp    4000a4c2 <vsnprintf+0x6f9>
11905 4000a4b0:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
11906 4000a4b4:       74 0c                   je     4000a4c2 <vsnprintf+0x6f9>
11907 4000a4b6:       8b 45 0c                mov    0xc(%ebp),%eax
11908 4000a4b9:       83 e8 01                sub    $0x1,%eax
11909 4000a4bc:       03 45 08                add    0x8(%ebp),%eax
11910 4000a4bf:       c6 00 00                movb   $0x0,(%eax)
11911 4000a4c2:       8b 45 c4                mov    -0x3c(%ebp),%eax
11912 4000a4c5:       c9                      leave  
11913 4000a4c6:       c3                      ret    
11914 4000a4c7:       90                      nop    
11916 4000a4c8 <memccpy>:
11917 4000a4c8:       55                      push   %ebp
11918 4000a4c9:       89 e5                   mov    %esp,%ebp
11919 4000a4cb:       83 ec 10                sub    $0x10,%esp
11920 4000a4ce:       8b 45 08                mov    0x8(%ebp),%eax
11921 4000a4d1:       89 45 f4                mov    %eax,-0xc(%ebp)
11922 4000a4d4:       8b 45 0c                mov    0xc(%ebp),%eax
11923 4000a4d7:       89 45 f8                mov    %eax,-0x8(%ebp)
11924 4000a4da:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
11925 4000a4e1:       eb 2c                   jmp    4000a50f <memccpy+0x47>
11926 4000a4e3:       8b 55 fc                mov    -0x4(%ebp),%edx
11927 4000a4e6:       8b 45 f4                mov    -0xc(%ebp),%eax
11928 4000a4e9:       8d 0c 10                lea    (%eax,%edx,1),%ecx
11929 4000a4ec:       8b 55 fc                mov    -0x4(%ebp),%edx
11930 4000a4ef:       8b 45 f8                mov    -0x8(%ebp),%eax
11931 4000a4f2:       01 d0                   add    %edx,%eax
11932 4000a4f4:       0f b6 00                movzbl (%eax),%eax
11933 4000a4f7:       88 01                   mov    %al,(%ecx)
11934 4000a4f9:       8b 55 fc                mov    -0x4(%ebp),%edx
11935 4000a4fc:       8b 45 f8                mov    -0x8(%ebp),%eax
11936 4000a4ff:       01 d0                   add    %edx,%eax
11937 4000a501:       0f b6 10                movzbl (%eax),%edx
11938 4000a504:       8b 45 10                mov    0x10(%ebp),%eax
11939 4000a507:       38 c2                   cmp    %al,%dl
11940 4000a509:       74 0c                   je     4000a517 <memccpy+0x4f>
11941 4000a50b:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
11942 4000a50f:       8b 45 fc                mov    -0x4(%ebp),%eax
11943 4000a512:       3b 45 14                cmp    0x14(%ebp),%eax
11944 4000a515:       72 cc                   jb     4000a4e3 <memccpy+0x1b>
11945 4000a517:       8b 45 08                mov    0x8(%ebp),%eax
11946 4000a51a:       c9                      leave  
11947 4000a51b:       c3                      ret    
11949 4000a51c <memchr>:
11950 4000a51c:       55                      push   %ebp
11951 4000a51d:       89 e5                   mov    %esp,%ebp
11952 4000a51f:       83 ec 14                sub    $0x14,%esp
11953 4000a522:       8b 45 08                mov    0x8(%ebp),%eax
11954 4000a525:       89 45 f8                mov    %eax,-0x8(%ebp)
11955 4000a528:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
11956 4000a52f:       eb 23                   jmp    4000a554 <memchr+0x38>
11957 4000a531:       8b 55 fc                mov    -0x4(%ebp),%edx
11958 4000a534:       8b 45 f8                mov    -0x8(%ebp),%eax
11959 4000a537:       01 d0                   add    %edx,%eax
11960 4000a539:       0f b6 10                movzbl (%eax),%edx
11961 4000a53c:       8b 45 0c                mov    0xc(%ebp),%eax
11962 4000a53f:       38 c2                   cmp    %al,%dl
11963 4000a541:       75 0d                   jne    4000a550 <memchr+0x34>
11964 4000a543:       8b 55 fc                mov    -0x4(%ebp),%edx
11965 4000a546:       8b 45 f8                mov    -0x8(%ebp),%eax
11966 4000a549:       01 d0                   add    %edx,%eax
11967 4000a54b:       89 45 ec                mov    %eax,-0x14(%ebp)
11968 4000a54e:       eb 13                   jmp    4000a563 <memchr+0x47>
11969 4000a550:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
11970 4000a554:       8b 45 fc                mov    -0x4(%ebp),%eax
11971 4000a557:       3b 45 10                cmp    0x10(%ebp),%eax
11972 4000a55a:       72 d5                   jb     4000a531 <memchr+0x15>
11973 4000a55c:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
11974 4000a563:       8b 45 ec                mov    -0x14(%ebp),%eax
11975 4000a566:       c9                      leave  
11976 4000a567:       c3                      ret    
11978 4000a568 <memcmp>:
11979 4000a568:       55                      push   %ebp
11980 4000a569:       89 e5                   mov    %esp,%ebp
11981 4000a56b:       83 ec 24                sub    $0x24,%esp
11982 4000a56e:       8b 45 08                mov    0x8(%ebp),%eax
11983 4000a571:       3b 45 0c                cmp    0xc(%ebp),%eax
11984 4000a574:       75 0c                   jne    4000a582 <memcmp+0x1a>
11985 4000a576:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
11986 4000a57d:       e9 e5 00 00 00          jmp    4000a667 <memcmp+0xff>
11987 4000a582:       8b 45 10                mov    0x10(%ebp),%eax
11988 4000a585:       c1 e8 02                shr    $0x2,%eax
11989 4000a588:       89 45 e4                mov    %eax,-0x1c(%ebp)
11990 4000a58b:       8b 45 10                mov    0x10(%ebp),%eax
11991 4000a58e:       83 e0 03                and    $0x3,%eax
11992 4000a591:       89 45 e8                mov    %eax,-0x18(%ebp)
11993 4000a594:       8b 45 08                mov    0x8(%ebp),%eax
11994 4000a597:       89 45 ec                mov    %eax,-0x14(%ebp)
11995 4000a59a:       8b 45 0c                mov    0xc(%ebp),%eax
11996 4000a59d:       89 45 f0                mov    %eax,-0x10(%ebp)
11997 4000a5a0:       8b 55 08                mov    0x8(%ebp),%edx
11998 4000a5a3:       8b 45 e4                mov    -0x1c(%ebp),%eax
11999 4000a5a6:       c1 e0 02                shl    $0x2,%eax
12000 4000a5a9:       8d 04 02                lea    (%edx,%eax,1),%eax
12001 4000a5ac:       89 45 f4                mov    %eax,-0xc(%ebp)
12002 4000a5af:       8b 55 0c                mov    0xc(%ebp),%edx
12003 4000a5b2:       8b 45 e4                mov    -0x1c(%ebp),%eax
12004 4000a5b5:       c1 e0 02                shl    $0x2,%eax
12005 4000a5b8:       8d 04 02                lea    (%edx,%eax,1),%eax
12006 4000a5bb:       89 45 f8                mov    %eax,-0x8(%ebp)
12007 4000a5be:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
12008 4000a5c5:       eb 3d                   jmp    4000a604 <memcmp+0x9c>
12009 4000a5c7:       8b 45 fc                mov    -0x4(%ebp),%eax
12010 4000a5ca:       c1 e0 02                shl    $0x2,%eax
12011 4000a5cd:       03 45 ec                add    -0x14(%ebp),%eax
12012 4000a5d0:       8b 10                   mov    (%eax),%edx
12013 4000a5d2:       8b 45 fc                mov    -0x4(%ebp),%eax
12014 4000a5d5:       c1 e0 02                shl    $0x2,%eax
12015 4000a5d8:       03 45 f0                add    -0x10(%ebp),%eax
12016 4000a5db:       8b 00                   mov    (%eax),%eax
12017 4000a5dd:       39 c2                   cmp    %eax,%edx
12018 4000a5df:       74 1f                   je     4000a600 <memcmp+0x98>
12019 4000a5e1:       8b 45 fc                mov    -0x4(%ebp),%eax
12020 4000a5e4:       c1 e0 02                shl    $0x2,%eax
12021 4000a5e7:       03 45 ec                add    -0x14(%ebp),%eax
12022 4000a5ea:       8b 10                   mov    (%eax),%edx
12023 4000a5ec:       8b 45 fc                mov    -0x4(%ebp),%eax
12024 4000a5ef:       c1 e0 02                shl    $0x2,%eax
12025 4000a5f2:       03 45 f0                add    -0x10(%ebp),%eax
12026 4000a5f5:       8b 00                   mov    (%eax),%eax
12027 4000a5f7:       89 d1                   mov    %edx,%ecx
12028 4000a5f9:       29 c1                   sub    %eax,%ecx
12029 4000a5fb:       89 4d dc                mov    %ecx,-0x24(%ebp)
12030 4000a5fe:       eb 67                   jmp    4000a667 <memcmp+0xff>
12031 4000a600:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
12032 4000a604:       8b 45 fc                mov    -0x4(%ebp),%eax
12033 4000a607:       3b 45 e4                cmp    -0x1c(%ebp),%eax
12034 4000a60a:       72 bb                   jb     4000a5c7 <memcmp+0x5f>
12035 4000a60c:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
12036 4000a613:       eb 43                   jmp    4000a658 <memcmp+0xf0>
12037 4000a615:       8b 55 fc                mov    -0x4(%ebp),%edx
12038 4000a618:       8b 45 f4                mov    -0xc(%ebp),%eax
12039 4000a61b:       01 d0                   add    %edx,%eax
12040 4000a61d:       0f b6 08                movzbl (%eax),%ecx
12041 4000a620:       8b 55 fc                mov    -0x4(%ebp),%edx
12042 4000a623:       8b 45 f8                mov    -0x8(%ebp),%eax
12043 4000a626:       01 d0                   add    %edx,%eax
12044 4000a628:       0f b6 00                movzbl (%eax),%eax
12045 4000a62b:       38 c1                   cmp    %al,%cl
12046 4000a62d:       74 25                   je     4000a654 <memcmp+0xec>
12047 4000a62f:       8b 55 fc                mov    -0x4(%ebp),%edx
12048 4000a632:       8b 45 f4                mov    -0xc(%ebp),%eax
12049 4000a635:       01 d0                   add    %edx,%eax
12050 4000a637:       0f b6 00                movzbl (%eax),%eax
12051 4000a63a:       0f b6 c8                movzbl %al,%ecx
12052 4000a63d:       8b 55 fc                mov    -0x4(%ebp),%edx
12053 4000a640:       8b 45 f8                mov    -0x8(%ebp),%eax
12054 4000a643:       01 d0                   add    %edx,%eax
12055 4000a645:       0f b6 00                movzbl (%eax),%eax
12056 4000a648:       0f b6 c0                movzbl %al,%eax
12057 4000a64b:       89 ca                   mov    %ecx,%edx
12058 4000a64d:       29 c2                   sub    %eax,%edx
12059 4000a64f:       89 55 dc                mov    %edx,-0x24(%ebp)
12060 4000a652:       eb 13                   jmp    4000a667 <memcmp+0xff>
12061 4000a654:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
12062 4000a658:       8b 45 fc                mov    -0x4(%ebp),%eax
12063 4000a65b:       3b 45 e8                cmp    -0x18(%ebp),%eax
12064 4000a65e:       72 b5                   jb     4000a615 <memcmp+0xad>
12065 4000a660:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
12066 4000a667:       8b 45 dc                mov    -0x24(%ebp),%eax
12067 4000a66a:       c9                      leave  
12068 4000a66b:       c3                      ret    
12070 4000a66c <memcpy>:
12071 4000a66c:       55                      push   %ebp
12072 4000a66d:       89 e5                   mov    %esp,%ebp
12073 4000a66f:       83 ec 24                sub    $0x24,%esp
12074 4000a672:       8b 45 08                mov    0x8(%ebp),%eax
12075 4000a675:       3b 45 0c                cmp    0xc(%ebp),%eax
12076 4000a678:       75 0b                   jne    4000a685 <memcpy+0x19>
12077 4000a67a:       8b 45 08                mov    0x8(%ebp),%eax
12078 4000a67d:       89 45 dc                mov    %eax,-0x24(%ebp)
12079 4000a680:       e9 9a 00 00 00          jmp    4000a71f <memcpy+0xb3>
12080 4000a685:       8b 45 10                mov    0x10(%ebp),%eax
12081 4000a688:       c1 e8 02                shr    $0x2,%eax
12082 4000a68b:       89 45 e4                mov    %eax,-0x1c(%ebp)
12083 4000a68e:       8b 45 10                mov    0x10(%ebp),%eax
12084 4000a691:       83 e0 03                and    $0x3,%eax
12085 4000a694:       89 45 e8                mov    %eax,-0x18(%ebp)
12086 4000a697:       8b 45 08                mov    0x8(%ebp),%eax
12087 4000a69a:       89 45 ec                mov    %eax,-0x14(%ebp)
12088 4000a69d:       8b 45 0c                mov    0xc(%ebp),%eax
12089 4000a6a0:       89 45 f0                mov    %eax,-0x10(%ebp)
12090 4000a6a3:       8b 55 08                mov    0x8(%ebp),%edx
12091 4000a6a6:       8b 45 e4                mov    -0x1c(%ebp),%eax
12092 4000a6a9:       c1 e0 02                shl    $0x2,%eax
12093 4000a6ac:       8d 04 02                lea    (%edx,%eax,1),%eax
12094 4000a6af:       89 45 f4                mov    %eax,-0xc(%ebp)
12095 4000a6b2:       8b 55 0c                mov    0xc(%ebp),%edx
12096 4000a6b5:       8b 45 e4                mov    -0x1c(%ebp),%eax
12097 4000a6b8:       c1 e0 02                shl    $0x2,%eax
12098 4000a6bb:       8d 04 02                lea    (%edx,%eax,1),%eax
12099 4000a6be:       89 45 f8                mov    %eax,-0x8(%ebp)
12100 4000a6c1:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
12101 4000a6c8:       eb 1c                   jmp    4000a6e6 <memcpy+0x7a>
12102 4000a6ca:       8b 45 fc                mov    -0x4(%ebp),%eax
12103 4000a6cd:       c1 e0 02                shl    $0x2,%eax
12104 4000a6d0:       89 c2                   mov    %eax,%edx
12105 4000a6d2:       03 55 ec                add    -0x14(%ebp),%edx
12106 4000a6d5:       8b 45 fc                mov    -0x4(%ebp),%eax
12107 4000a6d8:       c1 e0 02                shl    $0x2,%eax
12108 4000a6db:       03 45 f0                add    -0x10(%ebp),%eax
12109 4000a6de:       8b 00                   mov    (%eax),%eax
12110 4000a6e0:       89 02                   mov    %eax,(%edx)
12111 4000a6e2:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
12112 4000a6e6:       8b 45 fc                mov    -0x4(%ebp),%eax
12113 4000a6e9:       3b 45 e4                cmp    -0x1c(%ebp),%eax
12114 4000a6ec:       72 dc                   jb     4000a6ca <memcpy+0x5e>
12115 4000a6ee:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
12116 4000a6f5:       eb 1a                   jmp    4000a711 <memcpy+0xa5>
12117 4000a6f7:       8b 55 fc                mov    -0x4(%ebp),%edx
12118 4000a6fa:       8b 45 f4                mov    -0xc(%ebp),%eax
12119 4000a6fd:       8d 0c 10                lea    (%eax,%edx,1),%ecx
12120 4000a700:       8b 55 fc                mov    -0x4(%ebp),%edx
12121 4000a703:       8b 45 f8                mov    -0x8(%ebp),%eax
12122 4000a706:       01 d0                   add    %edx,%eax
12123 4000a708:       0f b6 00                movzbl (%eax),%eax
12124 4000a70b:       88 01                   mov    %al,(%ecx)
12125 4000a70d:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
12126 4000a711:       8b 45 fc                mov    -0x4(%ebp),%eax
12127 4000a714:       3b 45 e8                cmp    -0x18(%ebp),%eax
12128 4000a717:       72 de                   jb     4000a6f7 <memcpy+0x8b>
12129 4000a719:       8b 45 08                mov    0x8(%ebp),%eax
12130 4000a71c:       89 45 dc                mov    %eax,-0x24(%ebp)
12131 4000a71f:       8b 45 dc                mov    -0x24(%ebp),%eax
12132 4000a722:       c9                      leave  
12133 4000a723:       c3                      ret    
12135 4000a724 <memmove>:
12136 4000a724:       55                      push   %ebp
12137 4000a725:       89 e5                   mov    %esp,%ebp
12138 4000a727:       83 ec 24                sub    $0x24,%esp
12139 4000a72a:       8b 45 08                mov    0x8(%ebp),%eax
12140 4000a72d:       3b 45 0c                cmp    0xc(%ebp),%eax
12141 4000a730:       75 0b                   jne    4000a73d <memmove+0x19>
12142 4000a732:       8b 45 08                mov    0x8(%ebp),%eax
12143 4000a735:       89 45 dc                mov    %eax,-0x24(%ebp)
12144 4000a738:       e9 07 01 00 00          jmp    4000a844 <memmove+0x120>
12145 4000a73d:       8b 45 10                mov    0x10(%ebp),%eax
12146 4000a740:       c1 e8 02                shr    $0x2,%eax
12147 4000a743:       89 45 e4                mov    %eax,-0x1c(%ebp)
12148 4000a746:       8b 45 10                mov    0x10(%ebp),%eax
12149 4000a749:       83 e0 03                and    $0x3,%eax
12150 4000a74c:       89 45 e8                mov    %eax,-0x18(%ebp)
12151 4000a74f:       8b 45 08                mov    0x8(%ebp),%eax
12152 4000a752:       89 45 ec                mov    %eax,-0x14(%ebp)
12153 4000a755:       8b 45 0c                mov    0xc(%ebp),%eax
12154 4000a758:       89 45 f0                mov    %eax,-0x10(%ebp)
12155 4000a75b:       8b 55 08                mov    0x8(%ebp),%edx
12156 4000a75e:       8b 45 e4                mov    -0x1c(%ebp),%eax
12157 4000a761:       c1 e0 02                shl    $0x2,%eax
12158 4000a764:       8d 04 02                lea    (%edx,%eax,1),%eax
12159 4000a767:       89 45 f4                mov    %eax,-0xc(%ebp)
12160 4000a76a:       8b 55 0c                mov    0xc(%ebp),%edx
12161 4000a76d:       8b 45 e4                mov    -0x1c(%ebp),%eax
12162 4000a770:       c1 e0 02                shl    $0x2,%eax
12163 4000a773:       8d 04 02                lea    (%edx,%eax,1),%eax
12164 4000a776:       89 45 f8                mov    %eax,-0x8(%ebp)
12165 4000a779:       8b 45 0c                mov    0xc(%ebp),%eax
12166 4000a77c:       3b 45 08                cmp    0x8(%ebp),%eax
12167 4000a77f:       76 5a                   jbe    4000a7db <memmove+0xb7>
12168 4000a781:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
12169 4000a788:       eb 1c                   jmp    4000a7a6 <memmove+0x82>
12170 4000a78a:       8b 45 fc                mov    -0x4(%ebp),%eax
12171 4000a78d:       c1 e0 02                shl    $0x2,%eax
12172 4000a790:       89 c2                   mov    %eax,%edx
12173 4000a792:       03 55 ec                add    -0x14(%ebp),%edx
12174 4000a795:       8b 45 fc                mov    -0x4(%ebp),%eax
12175 4000a798:       c1 e0 02                shl    $0x2,%eax
12176 4000a79b:       03 45 f0                add    -0x10(%ebp),%eax
12177 4000a79e:       8b 00                   mov    (%eax),%eax
12178 4000a7a0:       89 02                   mov    %eax,(%edx)
12179 4000a7a2:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
12180 4000a7a6:       8b 45 fc                mov    -0x4(%ebp),%eax
12181 4000a7a9:       3b 45 e4                cmp    -0x1c(%ebp),%eax
12182 4000a7ac:       72 dc                   jb     4000a78a <memmove+0x66>
12183 4000a7ae:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
12184 4000a7b5:       eb 1a                   jmp    4000a7d1 <memmove+0xad>
12185 4000a7b7:       8b 55 fc                mov    -0x4(%ebp),%edx
12186 4000a7ba:       8b 45 f4                mov    -0xc(%ebp),%eax
12187 4000a7bd:       8d 0c 10                lea    (%eax,%edx,1),%ecx
12188 4000a7c0:       8b 55 fc                mov    -0x4(%ebp),%edx
12189 4000a7c3:       8b 45 f8                mov    -0x8(%ebp),%eax
12190 4000a7c6:       01 d0                   add    %edx,%eax
12191 4000a7c8:       0f b6 00                movzbl (%eax),%eax
12192 4000a7cb:       88 01                   mov    %al,(%ecx)
12193 4000a7cd:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
12194 4000a7d1:       8b 45 fc                mov    -0x4(%ebp),%eax
12195 4000a7d4:       3b 45 e8                cmp    -0x18(%ebp),%eax
12196 4000a7d7:       72 de                   jb     4000a7b7 <memmove+0x93>
12197 4000a7d9:       eb 63                   jmp    4000a83e <memmove+0x11a>
12198 4000a7db:       8b 45 e8                mov    -0x18(%ebp),%eax
12199 4000a7de:       89 45 fc                mov    %eax,-0x4(%ebp)
12200 4000a7e1:       eb 1d                   jmp    4000a800 <memmove+0xdc>
12201 4000a7e3:       8b 45 fc                mov    -0x4(%ebp),%eax
12202 4000a7e6:       83 e8 01                sub    $0x1,%eax
12203 4000a7e9:       89 c2                   mov    %eax,%edx
12204 4000a7eb:       03 55 f4                add    -0xc(%ebp),%edx
12205 4000a7ee:       8b 45 fc                mov    -0x4(%ebp),%eax
12206 4000a7f1:       83 e8 01                sub    $0x1,%eax
12207 4000a7f4:       03 45 f8                add    -0x8(%ebp),%eax
12208 4000a7f7:       0f b6 00                movzbl (%eax),%eax
12209 4000a7fa:       88 02                   mov    %al,(%edx)
12210 4000a7fc:       83 6d fc 01             subl   $0x1,-0x4(%ebp)
12211 4000a800:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
12212 4000a804:       75 dd                   jne    4000a7e3 <memmove+0xbf>
12213 4000a806:       8b 45 e4                mov    -0x1c(%ebp),%eax
12214 4000a809:       89 45 fc                mov    %eax,-0x4(%ebp)
12215 4000a80c:       eb 2a                   jmp    4000a838 <memmove+0x114>
12216 4000a80e:       b8 01 00 00 00          mov    $0x1,%eax
12217 4000a813:       2b 45 fc                sub    -0x4(%ebp),%eax
12218 4000a816:       c1 e0 02                shl    $0x2,%eax
12219 4000a819:       f7 d8                   neg    %eax
12220 4000a81b:       89 c2                   mov    %eax,%edx
12221 4000a81d:       03 55 ec                add    -0x14(%ebp),%edx
12222 4000a820:       b8 01 00 00 00          mov    $0x1,%eax
12223 4000a825:       2b 45 fc                sub    -0x4(%ebp),%eax
12224 4000a828:       c1 e0 02                shl    $0x2,%eax
12225 4000a82b:       f7 d8                   neg    %eax
12226 4000a82d:       03 45 f0                add    -0x10(%ebp),%eax
12227 4000a830:       8b 00                   mov    (%eax),%eax
12228 4000a832:       89 02                   mov    %eax,(%edx)
12229 4000a834:       83 6d fc 01             subl   $0x1,-0x4(%ebp)
12230 4000a838:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
12231 4000a83c:       75 d0                   jne    4000a80e <memmove+0xea>
12232 4000a83e:       8b 45 08                mov    0x8(%ebp),%eax
12233 4000a841:       89 45 dc                mov    %eax,-0x24(%ebp)
12234 4000a844:       8b 45 dc                mov    -0x24(%ebp),%eax
12235 4000a847:       c9                      leave  
12236 4000a848:       c3                      ret    
12238 4000a849 <memset>:
12239 4000a849:       55                      push   %ebp
12240 4000a84a:       89 e5                   mov    %esp,%ebp
12241 4000a84c:       83 ec 10                sub    $0x10,%esp
12242 4000a84f:       8b 45 08                mov    0x8(%ebp),%eax
12243 4000a852:       89 45 fc                mov    %eax,-0x4(%ebp)
12244 4000a855:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
12245 4000a85c:       eb 12                   jmp    4000a870 <memset+0x27>
12246 4000a85e:       8b 55 f8                mov    -0x8(%ebp),%edx
12247 4000a861:       8b 45 fc                mov    -0x4(%ebp),%eax
12248 4000a864:       8d 14 10                lea    (%eax,%edx,1),%edx
12249 4000a867:       8b 45 0c                mov    0xc(%ebp),%eax
12250 4000a86a:       88 02                   mov    %al,(%edx)
12251 4000a86c:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
12252 4000a870:       8b 45 f8                mov    -0x8(%ebp),%eax
12253 4000a873:       3b 45 10                cmp    0x10(%ebp),%eax
12254 4000a876:       72 e6                   jb     4000a85e <memset+0x15>
12255 4000a878:       8b 45 08                mov    0x8(%ebp),%eax
12256 4000a87b:       c9                      leave  
12257 4000a87c:       c3                      ret    
12259 4000a87d <strcat>:
12260 4000a87d:       55                      push   %ebp
12261 4000a87e:       89 e5                   mov    %esp,%ebp
12262 4000a880:       83 ec 08                sub    $0x8,%esp
12263 4000a883:       8b 45 08                mov    0x8(%ebp),%eax
12264 4000a886:       89 04 24                mov    %eax,(%esp)
12265 4000a889:       e8 96 01 00 00          call   4000aa24 <strlen>
12266 4000a88e:       89 c2                   mov    %eax,%edx
12267 4000a890:       03 55 08                add    0x8(%ebp),%edx
12268 4000a893:       8b 45 0c                mov    0xc(%ebp),%eax
12269 4000a896:       89 44 24 04             mov    %eax,0x4(%esp)
12270 4000a89a:       89 14 24                mov    %edx,(%esp)
12271 4000a89d:       e8 ef 00 00 00          call   4000a991 <strcpy>
12272 4000a8a2:       c9                      leave  
12273 4000a8a3:       c3                      ret    
12275 4000a8a4 <strchr>:
12276 4000a8a4:       55                      push   %ebp
12277 4000a8a5:       89 e5                   mov    %esp,%ebp
12278 4000a8a7:       83 ec 14                sub    $0x14,%esp
12279 4000a8aa:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
12280 4000a8b1:       eb 04                   jmp    4000a8b7 <strchr+0x13>
12281 4000a8b3:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
12282 4000a8b7:       8b 55 fc                mov    -0x4(%ebp),%edx
12283 4000a8ba:       8b 45 08                mov    0x8(%ebp),%eax
12284 4000a8bd:       01 d0                   add    %edx,%eax
12285 4000a8bf:       0f b6 00                movzbl (%eax),%eax
12286 4000a8c2:       84 c0                   test   %al,%al
12287 4000a8c4:       74 12                   je     4000a8d8 <strchr+0x34>
12288 4000a8c6:       8b 55 fc                mov    -0x4(%ebp),%edx
12289 4000a8c9:       8b 45 08                mov    0x8(%ebp),%eax
12290 4000a8cc:       01 d0                   add    %edx,%eax
12291 4000a8ce:       0f b6 10                movzbl (%eax),%edx
12292 4000a8d1:       8b 45 0c                mov    0xc(%ebp),%eax
12293 4000a8d4:       38 c2                   cmp    %al,%dl
12294 4000a8d6:       75 db                   jne    4000a8b3 <strchr+0xf>
12295 4000a8d8:       8b 55 fc                mov    -0x4(%ebp),%edx
12296 4000a8db:       8b 45 08                mov    0x8(%ebp),%eax
12297 4000a8de:       01 d0                   add    %edx,%eax
12298 4000a8e0:       0f b6 00                movzbl (%eax),%eax
12299 4000a8e3:       0f be c0                movsbl %al,%eax
12300 4000a8e6:       3b 45 0c                cmp    0xc(%ebp),%eax
12301 4000a8e9:       75 0d                   jne    4000a8f8 <strchr+0x54>
12302 4000a8eb:       8b 45 08                mov    0x8(%ebp),%eax
12303 4000a8ee:       8b 55 fc                mov    -0x4(%ebp),%edx
12304 4000a8f1:       01 c2                   add    %eax,%edx
12305 4000a8f3:       89 55 ec                mov    %edx,-0x14(%ebp)
12306 4000a8f6:       eb 07                   jmp    4000a8ff <strchr+0x5b>
12307 4000a8f8:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
12308 4000a8ff:       8b 45 ec                mov    -0x14(%ebp),%eax
12309 4000a902:       c9                      leave  
12310 4000a903:       c3                      ret    
12312 4000a904 <strcmp>:
12313 4000a904:       55                      push   %ebp
12314 4000a905:       89 e5                   mov    %esp,%ebp
12315 4000a907:       83 ec 14                sub    $0x14,%esp
12316 4000a90a:       8b 45 08                mov    0x8(%ebp),%eax
12317 4000a90d:       3b 45 0c                cmp    0xc(%ebp),%eax
12318 4000a910:       75 09                   jne    4000a91b <strcmp+0x17>
12319 4000a912:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
12320 4000a919:       eb 71                   jmp    4000a98c <strcmp+0x88>
12321 4000a91b:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
12322 4000a922:       eb 43                   jmp    4000a967 <strcmp+0x63>
12323 4000a924:       8b 55 fc                mov    -0x4(%ebp),%edx
12324 4000a927:       8b 45 08                mov    0x8(%ebp),%eax
12325 4000a92a:       01 d0                   add    %edx,%eax
12326 4000a92c:       0f b6 08                movzbl (%eax),%ecx
12327 4000a92f:       8b 55 fc                mov    -0x4(%ebp),%edx
12328 4000a932:       8b 45 0c                mov    0xc(%ebp),%eax
12329 4000a935:       01 d0                   add    %edx,%eax
12330 4000a937:       0f b6 00                movzbl (%eax),%eax
12331 4000a93a:       38 c1                   cmp    %al,%cl
12332 4000a93c:       74 25                   je     4000a963 <strcmp+0x5f>
12333 4000a93e:       8b 55 fc                mov    -0x4(%ebp),%edx
12334 4000a941:       8b 45 08                mov    0x8(%ebp),%eax
12335 4000a944:       01 d0                   add    %edx,%eax
12336 4000a946:       0f b6 00                movzbl (%eax),%eax
12337 4000a949:       0f be c8                movsbl %al,%ecx
12338 4000a94c:       8b 55 fc                mov    -0x4(%ebp),%edx
12339 4000a94f:       8b 45 0c                mov    0xc(%ebp),%eax
12340 4000a952:       01 d0                   add    %edx,%eax
12341 4000a954:       0f b6 00                movzbl (%eax),%eax
12342 4000a957:       0f be c0                movsbl %al,%eax
12343 4000a95a:       89 ca                   mov    %ecx,%edx
12344 4000a95c:       29 c2                   sub    %eax,%edx
12345 4000a95e:       89 55 ec                mov    %edx,-0x14(%ebp)
12346 4000a961:       eb 29                   jmp    4000a98c <strcmp+0x88>
12347 4000a963:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
12348 4000a967:       8b 55 fc                mov    -0x4(%ebp),%edx
12349 4000a96a:       8b 45 08                mov    0x8(%ebp),%eax
12350 4000a96d:       01 d0                   add    %edx,%eax
12351 4000a96f:       0f b6 00                movzbl (%eax),%eax
12352 4000a972:       84 c0                   test   %al,%al
12353 4000a974:       75 ae                   jne    4000a924 <strcmp+0x20>
12354 4000a976:       8b 55 fc                mov    -0x4(%ebp),%edx
12355 4000a979:       8b 45 0c                mov    0xc(%ebp),%eax
12356 4000a97c:       01 d0                   add    %edx,%eax
12357 4000a97e:       0f b6 00                movzbl (%eax),%eax
12358 4000a981:       84 c0                   test   %al,%al
12359 4000a983:       75 9f                   jne    4000a924 <strcmp+0x20>
12360 4000a985:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
12361 4000a98c:       8b 45 ec                mov    -0x14(%ebp),%eax
12362 4000a98f:       c9                      leave  
12363 4000a990:       c3                      ret    
12365 4000a991 <strcpy>:
12366 4000a991:       55                      push   %ebp
12367 4000a992:       89 e5                   mov    %esp,%ebp
12368 4000a994:       83 ec 10                sub    $0x10,%esp
12369 4000a997:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
12370 4000a99e:       eb 1a                   jmp    4000a9ba <strcpy+0x29>
12371 4000a9a0:       8b 55 fc                mov    -0x4(%ebp),%edx
12372 4000a9a3:       8b 45 08                mov    0x8(%ebp),%eax
12373 4000a9a6:       8d 0c 10                lea    (%eax,%edx,1),%ecx
12374 4000a9a9:       8b 55 fc                mov    -0x4(%ebp),%edx
12375 4000a9ac:       8b 45 0c                mov    0xc(%ebp),%eax
12376 4000a9af:       01 d0                   add    %edx,%eax
12377 4000a9b1:       0f b6 00                movzbl (%eax),%eax
12378 4000a9b4:       88 01                   mov    %al,(%ecx)
12379 4000a9b6:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
12380 4000a9ba:       8b 55 fc                mov    -0x4(%ebp),%edx
12381 4000a9bd:       8b 45 0c                mov    0xc(%ebp),%eax
12382 4000a9c0:       01 d0                   add    %edx,%eax
12383 4000a9c2:       0f b6 00                movzbl (%eax),%eax
12384 4000a9c5:       84 c0                   test   %al,%al
12385 4000a9c7:       75 d7                   jne    4000a9a0 <strcpy+0xf>
12386 4000a9c9:       8b 55 fc                mov    -0x4(%ebp),%edx
12387 4000a9cc:       8b 45 08                mov    0x8(%ebp),%eax
12388 4000a9cf:       01 d0                   add    %edx,%eax
12389 4000a9d1:       c6 00 00                movb   $0x0,(%eax)
12390 4000a9d4:       8b 45 08                mov    0x8(%ebp),%eax
12391 4000a9d7:       c9                      leave  
12392 4000a9d8:       c3                      ret    
12394 4000a9d9 <strdup>:
12395 4000a9d9:       55                      push   %ebp
12396 4000a9da:       89 e5                   mov    %esp,%ebp
12397 4000a9dc:       83 ec 28                sub    $0x28,%esp
12398 4000a9df:       8b 45 08                mov    0x8(%ebp),%eax
12399 4000a9e2:       89 04 24                mov    %eax,(%esp)
12400 4000a9e5:       e8 3a 00 00 00          call   4000aa24 <strlen>
12401 4000a9ea:       83 c0 01                add    $0x1,%eax
12402 4000a9ed:       89 45 fc                mov    %eax,-0x4(%ebp)
12403 4000a9f0:       8b 45 fc                mov    -0x4(%ebp),%eax
12404 4000a9f3:       89 04 24                mov    %eax,(%esp)
12405 4000a9f6:       e8 d9 ca ff ff          call   400074d4 <malloc>
12406 4000a9fb:       89 c2                   mov    %eax,%edx
12407 4000a9fd:       8b 45 fc                mov    -0x4(%ebp),%eax
12408 4000aa00:       89 44 24 08             mov    %eax,0x8(%esp)
12409 4000aa04:       8b 45 08                mov    0x8(%ebp),%eax
12410 4000aa07:       89 44 24 04             mov    %eax,0x4(%esp)
12411 4000aa0b:       89 14 24                mov    %edx,(%esp)
12412 4000aa0e:       e8 59 fc ff ff          call   4000a66c <memcpy>
12413 4000aa13:       c9                      leave  
12414 4000aa14:       c3                      ret    
12416 4000aa15 <strerror>:
12417 4000aa15:       55                      push   %ebp
12418 4000aa16:       89 e5                   mov    %esp,%ebp
12419 4000aa18:       8b 45 08                mov    0x8(%ebp),%eax
12420 4000aa1b:       8b 04 85 80 03 01 40    mov    0x40010380(,%eax,4),%eax
12421 4000aa22:       5d                      pop    %ebp
12422 4000aa23:       c3                      ret    
12424 4000aa24 <strlen>:
12425 4000aa24:       55                      push   %ebp
12426 4000aa25:       89 e5                   mov    %esp,%ebp
12427 4000aa27:       83 ec 10                sub    $0x10,%esp
12428 4000aa2a:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
12429 4000aa31:       eb 04                   jmp    4000aa37 <strlen+0x13>
12430 4000aa33:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
12431 4000aa37:       8b 55 fc                mov    -0x4(%ebp),%edx
12432 4000aa3a:       8b 45 08                mov    0x8(%ebp),%eax
12433 4000aa3d:       01 d0                   add    %edx,%eax
12434 4000aa3f:       0f b6 00                movzbl (%eax),%eax
12435 4000aa42:       84 c0                   test   %al,%al
12436 4000aa44:       75 ed                   jne    4000aa33 <strlen+0xf>
12437 4000aa46:       8b 45 fc                mov    -0x4(%ebp),%eax
12438 4000aa49:       c9                      leave  
12439 4000aa4a:       c3                      ret    
12441 4000aa4b <strncat>:
12442 4000aa4b:       55                      push   %ebp
12443 4000aa4c:       89 e5                   mov    %esp,%ebp
12444 4000aa4e:       83 ec 1c                sub    $0x1c,%esp
12445 4000aa51:       8b 45 0c                mov    0xc(%ebp),%eax
12446 4000aa54:       89 04 24                mov    %eax,(%esp)
12447 4000aa57:       e8 c8 ff ff ff          call   4000aa24 <strlen>
12448 4000aa5c:       89 45 f4                mov    %eax,-0xc(%ebp)
12449 4000aa5f:       8b 45 10                mov    0x10(%ebp),%eax
12450 4000aa62:       89 45 e8                mov    %eax,-0x18(%ebp)
12451 4000aa65:       8b 45 f4                mov    -0xc(%ebp),%eax
12452 4000aa68:       89 45 ec                mov    %eax,-0x14(%ebp)
12453 4000aa6b:       8b 45 e8                mov    -0x18(%ebp),%eax
12454 4000aa6e:       39 45 ec                cmp    %eax,-0x14(%ebp)
12455 4000aa71:       76 06                   jbe    4000aa79 <strncat+0x2e>
12456 4000aa73:       8b 45 e8                mov    -0x18(%ebp),%eax
12457 4000aa76:       89 45 ec                mov    %eax,-0x14(%ebp)
12458 4000aa79:       8b 45 ec                mov    -0x14(%ebp),%eax
12459 4000aa7c:       89 45 f4                mov    %eax,-0xc(%ebp)
12460 4000aa7f:       8b 45 08                mov    0x8(%ebp),%eax
12461 4000aa82:       89 04 24                mov    %eax,(%esp)
12462 4000aa85:       e8 9a ff ff ff          call   4000aa24 <strlen>
12463 4000aa8a:       89 45 f8                mov    %eax,-0x8(%ebp)
12464 4000aa8d:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
12465 4000aa94:       eb 1e                   jmp    4000aab4 <strncat+0x69>
12466 4000aa96:       8b 55 fc                mov    -0x4(%ebp),%edx
12467 4000aa99:       8b 45 f8                mov    -0x8(%ebp),%eax
12468 4000aa9c:       01 d0                   add    %edx,%eax
12469 4000aa9e:       89 c1                   mov    %eax,%ecx
12470 4000aaa0:       03 4d 08                add    0x8(%ebp),%ecx
12471 4000aaa3:       8b 55 fc                mov    -0x4(%ebp),%edx
12472 4000aaa6:       8b 45 0c                mov    0xc(%ebp),%eax
12473 4000aaa9:       01 d0                   add    %edx,%eax
12474 4000aaab:       0f b6 00                movzbl (%eax),%eax
12475 4000aaae:       88 01                   mov    %al,(%ecx)
12476 4000aab0:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
12477 4000aab4:       8b 45 fc                mov    -0x4(%ebp),%eax
12478 4000aab7:       3b 45 f4                cmp    -0xc(%ebp),%eax
12479 4000aaba:       72 da                   jb     4000aa96 <strncat+0x4b>
12480 4000aabc:       8b 55 f4                mov    -0xc(%ebp),%edx
12481 4000aabf:       8b 45 f8                mov    -0x8(%ebp),%eax
12482 4000aac2:       01 d0                   add    %edx,%eax
12483 4000aac4:       03 45 08                add    0x8(%ebp),%eax
12484 4000aac7:       c6 00 00                movb   $0x0,(%eax)
12485 4000aaca:       8b 45 08                mov    0x8(%ebp),%eax
12486 4000aacd:       c9                      leave  
12487 4000aace:       c3                      ret    
12489 4000aacf <strncmp>:
12490 4000aacf:       55                      push   %ebp
12491 4000aad0:       89 e5                   mov    %esp,%ebp
12492 4000aad2:       83 ec 14                sub    $0x14,%esp
12493 4000aad5:       8b 45 08                mov    0x8(%ebp),%eax
12494 4000aad8:       3b 45 0c                cmp    0xc(%ebp),%eax
12495 4000aadb:       75 09                   jne    4000aae6 <strncmp+0x17>
12496 4000aadd:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
12497 4000aae4:       eb 79                   jmp    4000ab5f <strncmp+0x90>
12498 4000aae6:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
12499 4000aaed:       eb 43                   jmp    4000ab32 <strncmp+0x63>
12500 4000aaef:       8b 55 fc                mov    -0x4(%ebp),%edx
12501 4000aaf2:       8b 45 08                mov    0x8(%ebp),%eax
12502 4000aaf5:       01 d0                   add    %edx,%eax
12503 4000aaf7:       0f b6 08                movzbl (%eax),%ecx
12504 4000aafa:       8b 55 fc                mov    -0x4(%ebp),%edx
12505 4000aafd:       8b 45 0c                mov    0xc(%ebp),%eax
12506 4000ab00:       01 d0                   add    %edx,%eax
12507 4000ab02:       0f b6 00                movzbl (%eax),%eax
12508 4000ab05:       38 c1                   cmp    %al,%cl
12509 4000ab07:       74 25                   je     4000ab2e <strncmp+0x5f>
12510 4000ab09:       8b 55 fc                mov    -0x4(%ebp),%edx
12511 4000ab0c:       8b 45 08                mov    0x8(%ebp),%eax
12512 4000ab0f:       01 d0                   add    %edx,%eax
12513 4000ab11:       0f b6 00                movzbl (%eax),%eax
12514 4000ab14:       0f be c8                movsbl %al,%ecx
12515 4000ab17:       8b 55 fc                mov    -0x4(%ebp),%edx
12516 4000ab1a:       8b 45 0c                mov    0xc(%ebp),%eax
12517 4000ab1d:       01 d0                   add    %edx,%eax
12518 4000ab1f:       0f b6 00                movzbl (%eax),%eax
12519 4000ab22:       0f be c0                movsbl %al,%eax
12520 4000ab25:       89 ca                   mov    %ecx,%edx
12521 4000ab27:       29 c2                   sub    %eax,%edx
12522 4000ab29:       89 55 ec                mov    %edx,-0x14(%ebp)
12523 4000ab2c:       eb 31                   jmp    4000ab5f <strncmp+0x90>
12524 4000ab2e:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
12525 4000ab32:       8b 55 fc                mov    -0x4(%ebp),%edx
12526 4000ab35:       8b 45 08                mov    0x8(%ebp),%eax
12527 4000ab38:       01 d0                   add    %edx,%eax
12528 4000ab3a:       0f b6 00                movzbl (%eax),%eax
12529 4000ab3d:       84 c0                   test   %al,%al
12530 4000ab3f:       75 0f                   jne    4000ab50 <strncmp+0x81>
12531 4000ab41:       8b 55 fc                mov    -0x4(%ebp),%edx
12532 4000ab44:       8b 45 0c                mov    0xc(%ebp),%eax
12533 4000ab47:       01 d0                   add    %edx,%eax
12534 4000ab49:       0f b6 00                movzbl (%eax),%eax
12535 4000ab4c:       84 c0                   test   %al,%al
12536 4000ab4e:       74 08                   je     4000ab58 <strncmp+0x89>
12537 4000ab50:       8b 45 fc                mov    -0x4(%ebp),%eax
12538 4000ab53:       3b 45 10                cmp    0x10(%ebp),%eax
12539 4000ab56:       72 97                   jb     4000aaef <strncmp+0x20>
12540 4000ab58:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
12541 4000ab5f:       8b 45 ec                mov    -0x14(%ebp),%eax
12542 4000ab62:       c9                      leave  
12543 4000ab63:       c3                      ret    
12545 4000ab64 <strncpy>:
12546 4000ab64:       55                      push   %ebp
12547 4000ab65:       89 e5                   mov    %esp,%ebp
12548 4000ab67:       83 ec 1c                sub    $0x1c,%esp
12549 4000ab6a:       8b 45 0c                mov    0xc(%ebp),%eax
12550 4000ab6d:       89 04 24                mov    %eax,(%esp)
12551 4000ab70:       e8 af fe ff ff          call   4000aa24 <strlen>
12552 4000ab75:       83 c0 01                add    $0x1,%eax
12553 4000ab78:       89 45 fc                mov    %eax,-0x4(%ebp)
12554 4000ab7b:       8b 45 10                mov    0x10(%ebp),%eax
12555 4000ab7e:       3b 45 fc                cmp    -0x4(%ebp),%eax
12556 4000ab81:       73 06                   jae    4000ab89 <strncpy+0x25>
12557 4000ab83:       8b 45 10                mov    0x10(%ebp),%eax
12558 4000ab86:       89 45 fc                mov    %eax,-0x4(%ebp)
12559 4000ab89:       8b 45 fc                mov    -0x4(%ebp),%eax
12560 4000ab8c:       83 e8 01                sub    $0x1,%eax
12561 4000ab8f:       89 44 24 08             mov    %eax,0x8(%esp)
12562 4000ab93:       8b 45 0c                mov    0xc(%ebp),%eax
12563 4000ab96:       89 44 24 04             mov    %eax,0x4(%esp)
12564 4000ab9a:       8b 45 08                mov    0x8(%ebp),%eax
12565 4000ab9d:       89 04 24                mov    %eax,(%esp)
12566 4000aba0:       e8 c7 fa ff ff          call   4000a66c <memcpy>
12567 4000aba5:       8b 45 fc                mov    -0x4(%ebp),%eax
12568 4000aba8:       83 e8 01                sub    $0x1,%eax
12569 4000abab:       03 45 08                add    0x8(%ebp),%eax
12570 4000abae:       c6 00 00                movb   $0x0,(%eax)
12571 4000abb1:       8b 45 08                mov    0x8(%ebp),%eax
12572 4000abb4:       c9                      leave  
12573 4000abb5:       c3                      ret    
12575 4000abb6 <__strxspn>:
12576 4000abb6:       55                      push   %ebp
12577 4000abb7:       89 e5                   mov    %esp,%ebp
12578 4000abb9:       81 ec 1c 01 00 00       sub    $0x11c,%esp
12579 4000abbf:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
12580 4000abc6:       c7 44 24 08 00 01 00    movl   $0x100,0x8(%esp)
12581 4000abcd:       00 
12582 4000abce:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
12583 4000abd5:       00 
12584 4000abd6:       8d 85 fc fe ff ff       lea    -0x104(%ebp),%eax
12585 4000abdc:       89 04 24                mov    %eax,(%esp)
12586 4000abdf:       e8 65 fc ff ff          call   4000a849 <memset>
12587 4000abe4:       eb 15                   jmp    4000abfb <__strxspn+0x45>
12588 4000abe6:       8b 45 0c                mov    0xc(%ebp),%eax
12589 4000abe9:       0f b6 00                movzbl (%eax),%eax
12590 4000abec:       0f b6 c0                movzbl %al,%eax
12591 4000abef:       c6 84 05 fc fe ff ff    movb   $0x1,-0x104(%ebp,%eax,1)
12592 4000abf6:       01 
12593 4000abf7:       83 45 0c 01             addl   $0x1,0xc(%ebp)
12594 4000abfb:       8b 45 0c                mov    0xc(%ebp),%eax
12595 4000abfe:       0f b6 00                movzbl (%eax),%eax
12596 4000ac01:       84 c0                   test   %al,%al
12597 4000ac03:       75 e1                   jne    4000abe6 <__strxspn+0x30>
12598 4000ac05:       8b 45 10                mov    0x10(%ebp),%eax
12599 4000ac08:       88 85 fc fe ff ff       mov    %al,-0x104(%ebp)
12600 4000ac0e:       eb 04                   jmp    4000ac14 <__strxspn+0x5e>
12601 4000ac10:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
12602 4000ac14:       8b 45 08                mov    0x8(%ebp),%eax
12603 4000ac17:       0f b6 00                movzbl (%eax),%eax
12604 4000ac1a:       0f b6 c0                movzbl %al,%eax
12605 4000ac1d:       0f b6 84 05 fc fe ff    movzbl -0x104(%ebp,%eax,1),%eax
12606 4000ac24:       ff 
12607 4000ac25:       0f be c0                movsbl %al,%eax
12608 4000ac28:       3b 45 10                cmp    0x10(%ebp),%eax
12609 4000ac2b:       0f 95 c0                setne  %al
12610 4000ac2e:       83 45 08 01             addl   $0x1,0x8(%ebp)
12611 4000ac32:       84 c0                   test   %al,%al
12612 4000ac34:       75 da                   jne    4000ac10 <__strxspn+0x5a>
12613 4000ac36:       8b 45 fc                mov    -0x4(%ebp),%eax
12614 4000ac39:       c9                      leave  
12615 4000ac3a:       c3                      ret    
12617 4000ac3b <strpbrk>:
12618 4000ac3b:       55                      push   %ebp
12619 4000ac3c:       89 e5                   mov    %esp,%ebp
12620 4000ac3e:       83 ec 20                sub    $0x20,%esp
12621 4000ac41:       c7 44 24 08 01 00 00    movl   $0x1,0x8(%esp)
12622 4000ac48:       00 
12623 4000ac49:       8b 45 0c                mov    0xc(%ebp),%eax
12624 4000ac4c:       89 44 24 04             mov    %eax,0x4(%esp)
12625 4000ac50:       8b 45 08                mov    0x8(%ebp),%eax
12626 4000ac53:       89 04 24                mov    %eax,(%esp)
12627 4000ac56:       e8 5b ff ff ff          call   4000abb6 <__strxspn>
12628 4000ac5b:       03 45 08                add    0x8(%ebp),%eax
12629 4000ac5e:       89 45 fc                mov    %eax,-0x4(%ebp)
12630 4000ac61:       8b 45 fc                mov    -0x4(%ebp),%eax
12631 4000ac64:       0f b6 00                movzbl (%eax),%eax
12632 4000ac67:       84 c0                   test   %al,%al
12633 4000ac69:       74 08                   je     4000ac73 <strpbrk+0x38>
12634 4000ac6b:       8b 45 fc                mov    -0x4(%ebp),%eax
12635 4000ac6e:       89 45 ec                mov    %eax,-0x14(%ebp)
12636 4000ac71:       eb 07                   jmp    4000ac7a <strpbrk+0x3f>
12637 4000ac73:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
12638 4000ac7a:       8b 45 ec                mov    -0x14(%ebp),%eax
12639 4000ac7d:       c9                      leave  
12640 4000ac7e:       c3                      ret    
12642 4000ac7f <strsep>:
12643 4000ac7f:       55                      push   %ebp
12644 4000ac80:       89 e5                   mov    %esp,%ebp
12645 4000ac82:       83 ec 1c                sub    $0x1c,%esp
12646 4000ac85:       8b 45 08                mov    0x8(%ebp),%eax
12647 4000ac88:       8b 00                   mov    (%eax),%eax
12648 4000ac8a:       89 45 f8                mov    %eax,-0x8(%ebp)
12649 4000ac8d:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
12650 4000ac91:       75 09                   jne    4000ac9c <strsep+0x1d>
12651 4000ac93:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
12652 4000ac9a:       eb 33                   jmp    4000accf <strsep+0x50>
12653 4000ac9c:       8b 45 0c                mov    0xc(%ebp),%eax
12654 4000ac9f:       89 44 24 04             mov    %eax,0x4(%esp)
12655 4000aca3:       8b 45 f8                mov    -0x8(%ebp),%eax
12656 4000aca6:       89 04 24                mov    %eax,(%esp)
12657 4000aca9:       e8 8d ff ff ff          call   4000ac3b <strpbrk>
12658 4000acae:       89 45 fc                mov    %eax,-0x4(%ebp)
12659 4000acb1:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
12660 4000acb5:       74 0a                   je     4000acc1 <strsep+0x42>
12661 4000acb7:       8b 45 fc                mov    -0x4(%ebp),%eax
12662 4000acba:       c6 00 00                movb   $0x0,(%eax)
12663 4000acbd:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
12664 4000acc1:       8b 55 08                mov    0x8(%ebp),%edx
12665 4000acc4:       8b 45 fc                mov    -0x4(%ebp),%eax
12666 4000acc7:       89 02                   mov    %eax,(%edx)
12667 4000acc9:       8b 45 f8                mov    -0x8(%ebp),%eax
12668 4000accc:       89 45 ec                mov    %eax,-0x14(%ebp)
12669 4000accf:       8b 45 ec                mov    -0x14(%ebp),%eax
12670 4000acd2:       c9                      leave  
12671 4000acd3:       c3                      ret    
12673 4000acd4 <strtok>:
12674 4000acd4:       55                      push   %ebp
12675 4000acd5:       89 e5                   mov    %esp,%ebp
12676 4000acd7:       83 ec 08                sub    $0x8,%esp
12677 4000acda:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
12678 4000acde:       74 08                   je     4000ace8 <strtok+0x14>
12679 4000ace0:       8b 45 08                mov    0x8(%ebp),%eax
12680 4000ace3:       a3 68 0b 01 40          mov    %eax,0x40010b68
12681 4000ace8:       8b 45 0c                mov    0xc(%ebp),%eax
12682 4000aceb:       89 44 24 04             mov    %eax,0x4(%esp)
12683 4000acef:       c7 04 24 68 0b 01 40    movl   $0x40010b68,(%esp)
12684 4000acf6:       e8 84 ff ff ff          call   4000ac7f <strsep>
12685 4000acfb:       89 45 08                mov    %eax,0x8(%ebp)
12686 4000acfe:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
12687 4000ad02:       74 0a                   je     4000ad0e <strtok+0x3a>
12688 4000ad04:       8b 45 08                mov    0x8(%ebp),%eax
12689 4000ad07:       0f b6 00                movzbl (%eax),%eax
12690 4000ad0a:       84 c0                   test   %al,%al
12691 4000ad0c:       74 da                   je     4000ace8 <strtok+0x14>
12692 4000ad0e:       8b 45 08                mov    0x8(%ebp),%eax
12693 4000ad11:       c9                      leave  
12694 4000ad12:       c3                      ret    
12696 4000ad13 <strntoumax>:
12697 4000ad13:       55                      push   %ebp
12698 4000ad14:       89 e5                   mov    %esp,%ebp
12699 4000ad16:       53                      push   %ebx
12700 4000ad17:       83 ec 34                sub    $0x34,%esp
12701 4000ad1a:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
12702 4000ad21:       c7 45 e8 00 00 00 00    movl   $0x0,-0x18(%ebp)
12703 4000ad28:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
12704 4000ad2f:       eb 08                   jmp    4000ad39 <strntoumax+0x26>
12705 4000ad31:       83 45 08 01             addl   $0x1,0x8(%ebp)
12706 4000ad35:       83 6d 14 01             subl   $0x1,0x14(%ebp)
12707 4000ad39:       83 7d 14 00             cmpl   $0x0,0x14(%ebp)
12708 4000ad3d:       74 3c                   je     4000ad7b <strntoumax+0x68>
12709 4000ad3f:       8b 45 08                mov    0x8(%ebp),%eax
12710 4000ad42:       0f b6 00                movzbl (%eax),%eax
12711 4000ad45:       3c 20                   cmp    $0x20,%al
12712 4000ad47:       74 e8                   je     4000ad31 <strntoumax+0x1e>
12713 4000ad49:       8b 45 08                mov    0x8(%ebp),%eax
12714 4000ad4c:       0f b6 00                movzbl (%eax),%eax
12715 4000ad4f:       3c 0c                   cmp    $0xc,%al
12716 4000ad51:       74 de                   je     4000ad31 <strntoumax+0x1e>
12717 4000ad53:       8b 45 08                mov    0x8(%ebp),%eax
12718 4000ad56:       0f b6 00                movzbl (%eax),%eax
12719 4000ad59:       3c 0a                   cmp    $0xa,%al
12720 4000ad5b:       74 d4                   je     4000ad31 <strntoumax+0x1e>
12721 4000ad5d:       8b 45 08                mov    0x8(%ebp),%eax
12722 4000ad60:       0f b6 00                movzbl (%eax),%eax
12723 4000ad63:       3c 0d                   cmp    $0xd,%al
12724 4000ad65:       74 ca                   je     4000ad31 <strntoumax+0x1e>
12725 4000ad67:       8b 45 08                mov    0x8(%ebp),%eax
12726 4000ad6a:       0f b6 00                movzbl (%eax),%eax
12727 4000ad6d:       3c 09                   cmp    $0x9,%al
12728 4000ad6f:       74 c0                   je     4000ad31 <strntoumax+0x1e>
12729 4000ad71:       8b 45 08                mov    0x8(%ebp),%eax
12730 4000ad74:       0f b6 00                movzbl (%eax),%eax
12731 4000ad77:       3c 0b                   cmp    $0xb,%al
12732 4000ad79:       74 b6                   je     4000ad31 <strntoumax+0x1e>
12733 4000ad7b:       83 7d 14 00             cmpl   $0x0,0x14(%ebp)
12734 4000ad7f:       74 2a                   je     4000adab <strntoumax+0x98>
12735 4000ad81:       8b 45 08                mov    0x8(%ebp),%eax
12736 4000ad84:       0f b6 00                movzbl (%eax),%eax
12737 4000ad87:       88 45 f7                mov    %al,-0x9(%ebp)
12738 4000ad8a:       80 7d f7 2d             cmpb   $0x2d,-0x9(%ebp)
12739 4000ad8e:       74 06                   je     4000ad96 <strntoumax+0x83>
12740 4000ad90:       80 7d f7 2b             cmpb   $0x2b,-0x9(%ebp)
12741 4000ad94:       75 15                   jne    4000adab <strntoumax+0x98>
12742 4000ad96:       80 7d f7 2d             cmpb   $0x2d,-0x9(%ebp)
12743 4000ad9a:       0f 94 c0                sete   %al
12744 4000ad9d:       0f b6 c0                movzbl %al,%eax
12745 4000ada0:       89 45 e4                mov    %eax,-0x1c(%ebp)
12746 4000ada3:       83 45 08 01             addl   $0x1,0x8(%ebp)
12747 4000ada7:       83 6d 14 01             subl   $0x1,0x14(%ebp)
12748 4000adab:       83 7d 10 00             cmpl   $0x0,0x10(%ebp)
12749 4000adaf:       75 68                   jne    4000ae19 <strntoumax+0x106>
12750 4000adb1:       83 7d 14 01             cmpl   $0x1,0x14(%ebp)
12751 4000adb5:       76 38                   jbe    4000adef <strntoumax+0xdc>
12752 4000adb7:       8b 45 08                mov    0x8(%ebp),%eax
12753 4000adba:       0f b6 00                movzbl (%eax),%eax
12754 4000adbd:       3c 30                   cmp    $0x30,%al
12755 4000adbf:       75 2e                   jne    4000adef <strntoumax+0xdc>
12756 4000adc1:       8b 45 08                mov    0x8(%ebp),%eax
12757 4000adc4:       83 c0 01                add    $0x1,%eax
12758 4000adc7:       0f b6 00                movzbl (%eax),%eax
12759 4000adca:       3c 78                   cmp    $0x78,%al
12760 4000adcc:       74 0d                   je     4000addb <strntoumax+0xc8>
12761 4000adce:       8b 45 08                mov    0x8(%ebp),%eax
12762 4000add1:       83 c0 01                add    $0x1,%eax
12763 4000add4:       0f b6 00                movzbl (%eax),%eax
12764 4000add7:       3c 58                   cmp    $0x58,%al
12765 4000add9:       75 14                   jne    4000adef <strntoumax+0xdc>
12766 4000addb:       83 6d 14 02             subl   $0x2,0x14(%ebp)
12767 4000addf:       83 45 08 02             addl   $0x2,0x8(%ebp)
12768 4000ade3:       c7 45 10 10 00 00 00    movl   $0x10,0x10(%ebp)
12769 4000adea:       e9 9b 00 00 00          jmp    4000ae8a <strntoumax+0x177>
12770 4000adef:       83 7d 14 00             cmpl   $0x0,0x14(%ebp)
12771 4000adf3:       74 1b                   je     4000ae10 <strntoumax+0xfd>
12772 4000adf5:       8b 45 08                mov    0x8(%ebp),%eax
12773 4000adf8:       0f b6 00                movzbl (%eax),%eax
12774 4000adfb:       3c 30                   cmp    $0x30,%al
12775 4000adfd:       75 11                   jne    4000ae10 <strntoumax+0xfd>
12776 4000adff:       83 6d 14 01             subl   $0x1,0x14(%ebp)
12777 4000ae03:       83 45 08 01             addl   $0x1,0x8(%ebp)
12778 4000ae07:       c7 45 10 08 00 00 00    movl   $0x8,0x10(%ebp)
12779 4000ae0e:       eb 7a                   jmp    4000ae8a <strntoumax+0x177>
12780 4000ae10:       c7 45 10 0a 00 00 00    movl   $0xa,0x10(%ebp)
12781 4000ae17:       eb 71                   jmp    4000ae8a <strntoumax+0x177>
12782 4000ae19:       83 7d 10 10             cmpl   $0x10,0x10(%ebp)
12783 4000ae1d:       75 6b                   jne    4000ae8a <strntoumax+0x177>
12784 4000ae1f:       83 7d 14 01             cmpl   $0x1,0x14(%ebp)
12785 4000ae23:       76 65                   jbe    4000ae8a <strntoumax+0x177>
12786 4000ae25:       8b 45 08                mov    0x8(%ebp),%eax
12787 4000ae28:       0f b6 00                movzbl (%eax),%eax
12788 4000ae2b:       3c 30                   cmp    $0x30,%al
12789 4000ae2d:       75 5b                   jne    4000ae8a <strntoumax+0x177>
12790 4000ae2f:       8b 45 08                mov    0x8(%ebp),%eax
12791 4000ae32:       83 c0 01                add    $0x1,%eax
12792 4000ae35:       0f b6 00                movzbl (%eax),%eax
12793 4000ae38:       3c 78                   cmp    $0x78,%al
12794 4000ae3a:       74 0d                   je     4000ae49 <strntoumax+0x136>
12795 4000ae3c:       8b 45 08                mov    0x8(%ebp),%eax
12796 4000ae3f:       83 c0 01                add    $0x1,%eax
12797 4000ae42:       0f b6 00                movzbl (%eax),%eax
12798 4000ae45:       3c 58                   cmp    $0x58,%al
12799 4000ae47:       75 41                   jne    4000ae8a <strntoumax+0x177>
12800 4000ae49:       83 6d 14 02             subl   $0x2,0x14(%ebp)
12801 4000ae4d:       83 45 08 02             addl   $0x2,0x8(%ebp)
12802 4000ae51:       eb 37                   jmp    4000ae8a <strntoumax+0x177>
12803 4000ae53:       8b 45 10                mov    0x10(%ebp),%eax
12804 4000ae56:       89 c2                   mov    %eax,%edx
12805 4000ae58:       c1 fa 1f                sar    $0x1f,%edx
12806 4000ae5b:       8b 4d e8                mov    -0x18(%ebp),%ecx
12807 4000ae5e:       0f af ca                imul   %edx,%ecx
12808 4000ae61:       8b 5d ec                mov    -0x14(%ebp),%ebx
12809 4000ae64:       0f af d8                imul   %eax,%ebx
12810 4000ae67:       01 d9                   add    %ebx,%ecx
12811 4000ae69:       f7 65 e8                mull   -0x18(%ebp)
12812 4000ae6c:       01 d1                   add    %edx,%ecx
12813 4000ae6e:       89 ca                   mov    %ecx,%edx
12814 4000ae70:       8b 4d f0                mov    -0x10(%ebp),%ecx
12815 4000ae73:       89 cb                   mov    %ecx,%ebx
12816 4000ae75:       c1 fb 1f                sar    $0x1f,%ebx
12817 4000ae78:       01 c8                   add    %ecx,%eax
12818 4000ae7a:       11 da                   adc    %ebx,%edx
12819 4000ae7c:       89 45 e8                mov    %eax,-0x18(%ebp)
12820 4000ae7f:       89 55 ec                mov    %edx,-0x14(%ebp)
12821 4000ae82:       83 6d 14 01             subl   $0x1,0x14(%ebp)
12822 4000ae86:       83 45 08 01             addl   $0x1,0x8(%ebp)
12823 4000ae8a:       83 7d 14 00             cmpl   $0x0,0x14(%ebp)
12824 4000ae8e:       74 22                   je     4000aeb2 <strntoumax+0x19f>
12825 4000ae90:       8b 45 08                mov    0x8(%ebp),%eax
12826 4000ae93:       0f b6 00                movzbl (%eax),%eax
12827 4000ae96:       0f be c0                movsbl %al,%eax
12828 4000ae99:       89 04 24                mov    %eax,(%esp)
12829 4000ae9c:       e8 56 00 00 00          call   4000aef7 <digitval>
12830 4000aea1:       89 45 f0                mov    %eax,-0x10(%ebp)
12831 4000aea4:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
12832 4000aea8:       78 08                   js     4000aeb2 <strntoumax+0x19f>
12833 4000aeaa:       8b 45 f0                mov    -0x10(%ebp),%eax
12834 4000aead:       3b 45 10                cmp    0x10(%ebp),%eax
12835 4000aeb0:       7c a1                   jl     4000ae53 <strntoumax+0x140>
12836 4000aeb2:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
12837 4000aeb6:       74 08                   je     4000aec0 <strntoumax+0x1ad>
12838 4000aeb8:       8b 55 08                mov    0x8(%ebp),%edx
12839 4000aebb:       8b 45 0c                mov    0xc(%ebp),%eax
12840 4000aebe:       89 10                   mov    %edx,(%eax)
12841 4000aec0:       83 7d e4 00             cmpl   $0x0,-0x1c(%ebp)
12842 4000aec4:       74 19                   je     4000aedf <strntoumax+0x1cc>
12843 4000aec6:       8b 45 e8                mov    -0x18(%ebp),%eax
12844 4000aec9:       8b 55 ec                mov    -0x14(%ebp),%edx
12845 4000aecc:       89 c1                   mov    %eax,%ecx
12846 4000aece:       89 d3                   mov    %edx,%ebx
12847 4000aed0:       f7 d9                   neg    %ecx
12848 4000aed2:       83 d3 00                adc    $0x0,%ebx
12849 4000aed5:       f7 db                   neg    %ebx
12850 4000aed7:       89 4d d0                mov    %ecx,-0x30(%ebp)
12851 4000aeda:       89 5d d4                mov    %ebx,-0x2c(%ebp)
12852 4000aedd:       eb 0c                   jmp    4000aeeb <strntoumax+0x1d8>
12853 4000aedf:       8b 45 e8                mov    -0x18(%ebp),%eax
12854 4000aee2:       8b 55 ec                mov    -0x14(%ebp),%edx
12855 4000aee5:       89 45 d0                mov    %eax,-0x30(%ebp)
12856 4000aee8:       89 55 d4                mov    %edx,-0x2c(%ebp)
12857 4000aeeb:       8b 45 d0                mov    -0x30(%ebp),%eax
12858 4000aeee:       8b 55 d4                mov    -0x2c(%ebp),%edx
12859 4000aef1:       83 c4 34                add    $0x34,%esp
12860 4000aef4:       5b                      pop    %ebx
12861 4000aef5:       5d                      pop    %ebp
12862 4000aef6:       c3                      ret    
12864 4000aef7 <digitval>:
12865 4000aef7:       55                      push   %ebp
12866 4000aef8:       89 e5                   mov    %esp,%ebp
12867 4000aefa:       83 ec 04                sub    $0x4,%esp
12868 4000aefd:       83 7d 08 2f             cmpl   $0x2f,0x8(%ebp)
12869 4000af01:       7e 11                   jle    4000af14 <digitval+0x1d>
12870 4000af03:       83 7d 08 39             cmpl   $0x39,0x8(%ebp)
12871 4000af07:       7f 0b                   jg     4000af14 <digitval+0x1d>
12872 4000af09:       8b 45 08                mov    0x8(%ebp),%eax
12873 4000af0c:       83 e8 30                sub    $0x30,%eax
12874 4000af0f:       89 45 fc                mov    %eax,-0x4(%ebp)
12875 4000af12:       eb 35                   jmp    4000af49 <digitval+0x52>
12876 4000af14:       83 7d 08 40             cmpl   $0x40,0x8(%ebp)
12877 4000af18:       7e 11                   jle    4000af2b <digitval+0x34>
12878 4000af1a:       83 7d 08 5a             cmpl   $0x5a,0x8(%ebp)
12879 4000af1e:       7f 0b                   jg     4000af2b <digitval+0x34>
12880 4000af20:       8b 45 08                mov    0x8(%ebp),%eax
12881 4000af23:       83 e8 37                sub    $0x37,%eax
12882 4000af26:       89 45 fc                mov    %eax,-0x4(%ebp)
12883 4000af29:       eb 1e                   jmp    4000af49 <digitval+0x52>
12884 4000af2b:       83 7d 08 60             cmpl   $0x60,0x8(%ebp)
12885 4000af2f:       7e 11                   jle    4000af42 <digitval+0x4b>
12886 4000af31:       83 7d 08 7a             cmpl   $0x7a,0x8(%ebp)
12887 4000af35:       7f 0b                   jg     4000af42 <digitval+0x4b>
12888 4000af37:       8b 45 08                mov    0x8(%ebp),%eax
12889 4000af3a:       83 e8 57                sub    $0x57,%eax
12890 4000af3d:       89 45 fc                mov    %eax,-0x4(%ebp)
12891 4000af40:       eb 07                   jmp    4000af49 <digitval+0x52>
12892 4000af42:       c7 45 fc ff ff ff ff    movl   $0xffffffff,-0x4(%ebp)
12893 4000af49:       8b 45 fc                mov    -0x4(%ebp),%eax
12894 4000af4c:       c9                      leave  
12895 4000af4d:       c3                      ret    
12897 4000af4e <strrchr>:
12898 4000af4e:       55                      push   %ebp
12899 4000af4f:       89 e5                   mov    %esp,%ebp
12900 4000af51:       83 ec 10                sub    $0x10,%esp
12901 4000af54:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
12902 4000af5b:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
12903 4000af62:       eb 20                   jmp    4000af84 <strrchr+0x36>
12904 4000af64:       8b 55 fc                mov    -0x4(%ebp),%edx
12905 4000af67:       8b 45 08                mov    0x8(%ebp),%eax
12906 4000af6a:       01 d0                   add    %edx,%eax
12907 4000af6c:       0f b6 00                movzbl (%eax),%eax
12908 4000af6f:       0f be c0                movsbl %al,%eax
12909 4000af72:       3b 45 0c                cmp    0xc(%ebp),%eax
12910 4000af75:       75 09                   jne    4000af80 <strrchr+0x32>
12911 4000af77:       8b 45 08                mov    0x8(%ebp),%eax
12912 4000af7a:       03 45 fc                add    -0x4(%ebp),%eax
12913 4000af7d:       89 45 f8                mov    %eax,-0x8(%ebp)
12914 4000af80:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
12915 4000af84:       8b 55 fc                mov    -0x4(%ebp),%edx
12916 4000af87:       8b 45 08                mov    0x8(%ebp),%eax
12917 4000af8a:       01 d0                   add    %edx,%eax
12918 4000af8c:       0f b6 00                movzbl (%eax),%eax
12919 4000af8f:       84 c0                   test   %al,%al
12920 4000af91:       75 d1                   jne    4000af64 <strrchr+0x16>
12921 4000af93:       8b 45 f8                mov    -0x8(%ebp),%eax
12922 4000af96:       c9                      leave  
12923 4000af97:       c3                      ret    
12925 4000af98 <strxspn>:
12926 4000af98:       55                      push   %ebp
12927 4000af99:       89 e5                   mov    %esp,%ebp
12928 4000af9b:       81 ec 1c 01 00 00       sub    $0x11c,%esp
12929 4000afa1:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
12930 4000afa8:       c7 44 24 08 00 01 00    movl   $0x100,0x8(%esp)
12931 4000afaf:       00 
12932 4000afb0:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
12933 4000afb7:       00 
12934 4000afb8:       8d 85 fc fe ff ff       lea    -0x104(%ebp),%eax
12935 4000afbe:       89 04 24                mov    %eax,(%esp)
12936 4000afc1:       e8 83 f8 ff ff          call   4000a849 <memset>
12937 4000afc6:       eb 15                   jmp    4000afdd <strxspn+0x45>
12938 4000afc8:       8b 45 0c                mov    0xc(%ebp),%eax
12939 4000afcb:       0f b6 00                movzbl (%eax),%eax
12940 4000afce:       0f b6 c0                movzbl %al,%eax
12941 4000afd1:       c6 84 05 fc fe ff ff    movb   $0x1,-0x104(%ebp,%eax,1)
12942 4000afd8:       01 
12943 4000afd9:       83 45 0c 01             addl   $0x1,0xc(%ebp)
12944 4000afdd:       8b 45 0c                mov    0xc(%ebp),%eax
12945 4000afe0:       0f b6 00                movzbl (%eax),%eax
12946 4000afe3:       84 c0                   test   %al,%al
12947 4000afe5:       75 e1                   jne    4000afc8 <strxspn+0x30>
12948 4000afe7:       8b 45 10                mov    0x10(%ebp),%eax
12949 4000afea:       88 85 fc fe ff ff       mov    %al,-0x104(%ebp)
12950 4000aff0:       eb 04                   jmp    4000aff6 <strxspn+0x5e>
12951 4000aff2:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
12952 4000aff6:       8b 45 08                mov    0x8(%ebp),%eax
12953 4000aff9:       0f b6 00                movzbl (%eax),%eax
12954 4000affc:       0f b6 c0                movzbl %al,%eax
12955 4000afff:       0f b6 84 05 fc fe ff    movzbl -0x104(%ebp,%eax,1),%eax
12956 4000b006:       ff 
12957 4000b007:       0f be c0                movsbl %al,%eax
12958 4000b00a:       3b 45 10                cmp    0x10(%ebp),%eax
12959 4000b00d:       0f 95 c0                setne  %al
12960 4000b010:       83 45 08 01             addl   $0x1,0x8(%ebp)
12961 4000b014:       84 c0                   test   %al,%al
12962 4000b016:       75 da                   jne    4000aff2 <strxspn+0x5a>
12963 4000b018:       8b 45 fc                mov    -0x4(%ebp),%eax
12964 4000b01b:       c9                      leave  
12965 4000b01c:       c3                      ret    
12967 4000b01d <strspn>:
12968 4000b01d:       55                      push   %ebp
12969 4000b01e:       89 e5                   mov    %esp,%ebp
12970 4000b020:       83 ec 0c                sub    $0xc,%esp
12971 4000b023:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
12972 4000b02a:       00 
12973 4000b02b:       8b 45 0c                mov    0xc(%ebp),%eax
12974 4000b02e:       89 44 24 04             mov    %eax,0x4(%esp)
12975 4000b032:       8b 45 08                mov    0x8(%ebp),%eax
12976 4000b035:       89 04 24                mov    %eax,(%esp)
12977 4000b038:       e8 5b ff ff ff          call   4000af98 <strxspn>
12978 4000b03d:       c9                      leave  
12979 4000b03e:       c3                      ret    
12981 4000b03f <strcspn>:
12982 4000b03f:       55                      push   %ebp
12983 4000b040:       89 e5                   mov    %esp,%ebp
12984 4000b042:       83 ec 0c                sub    $0xc,%esp
12985 4000b045:       c7 44 24 08 01 00 00    movl   $0x1,0x8(%esp)
12986 4000b04c:       00 
12987 4000b04d:       8b 45 0c                mov    0xc(%ebp),%eax
12988 4000b050:       89 44 24 04             mov    %eax,0x4(%esp)
12989 4000b054:       8b 45 08                mov    0x8(%ebp),%eax
12990 4000b057:       89 04 24                mov    %eax,(%esp)
12991 4000b05a:       e8 39 ff ff ff          call   4000af98 <strxspn>
12992 4000b05f:       c9                      leave  
12993 4000b060:       c3                      ret    
12994 4000b061:       90                      nop    
12995 4000b062:       90                      nop    
12996 4000b063:       90                      nop    
12998 4000b064 <llist_create>:
12999 4000b064:       55                      push   %ebp
13000 4000b065:       89 e5                   mov    %esp,%ebp
13001 4000b067:       83 ec 18                sub    $0x18,%esp
13002 4000b06a:       c7 04 24 08 00 00 00    movl   $0x8,(%esp)
13003 4000b071:       e8 5e c4 ff ff          call   400074d4 <malloc>
13004 4000b076:       89 45 fc                mov    %eax,-0x4(%ebp)
13005 4000b079:       8b 45 fc                mov    -0x4(%ebp),%eax
13006 4000b07c:       c7 00 00 00 00 00       movl   $0x0,(%eax)
13007 4000b082:       8b 45 fc                mov    -0x4(%ebp),%eax
13008 4000b085:       c7 40 04 00 00 00 00    movl   $0x0,0x4(%eax)
13009 4000b08c:       8b 45 fc                mov    -0x4(%ebp),%eax
13010 4000b08f:       c9                      leave  
13011 4000b090:       c3                      ret    
13013 4000b091 <llist_destroy>:
13014 4000b091:       55                      push   %ebp
13015 4000b092:       89 e5                   mov    %esp,%ebp
13016 4000b094:       83 ec 08                sub    $0x8,%esp
13017 4000b097:       8b 45 08                mov    0x8(%ebp),%eax
13018 4000b09a:       89 04 24                mov    %eax,(%esp)
13019 4000b09d:       e8 96 00 00 00          call   4000b138 <llist_pop>
13020 4000b0a2:       85 c0                   test   %eax,%eax
13021 4000b0a4:       75 f1                   jne    4000b097 <llist_destroy+0x6>
13022 4000b0a6:       8b 45 08                mov    0x8(%ebp),%eax
13023 4000b0a9:       89 04 24                mov    %eax,(%esp)
13024 4000b0ac:       e8 da c8 ff ff          call   4000798b <free>
13025 4000b0b1:       c9                      leave  
13026 4000b0b2:       c3                      ret    
13028 4000b0b3 <llist_size>:
13029 4000b0b3:       55                      push   %ebp
13030 4000b0b4:       89 e5                   mov    %esp,%ebp
13031 4000b0b6:       83 ec 04                sub    $0x4,%esp
13032 4000b0b9:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
13033 4000b0bd:       74 09                   je     4000b0c8 <llist_size+0x15>
13034 4000b0bf:       8b 45 08                mov    0x8(%ebp),%eax
13035 4000b0c2:       8b 00                   mov    (%eax),%eax
13036 4000b0c4:       85 c0                   test   %eax,%eax
13037 4000b0c6:       75 09                   jne    4000b0d1 <llist_size+0x1e>
13038 4000b0c8:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
13039 4000b0cf:       eb 09                   jmp    4000b0da <llist_size+0x27>
13040 4000b0d1:       8b 45 08                mov    0x8(%ebp),%eax
13041 4000b0d4:       8b 40 04                mov    0x4(%eax),%eax
13042 4000b0d7:       89 45 fc                mov    %eax,-0x4(%ebp)
13043 4000b0da:       8b 45 fc                mov    -0x4(%ebp),%eax
13044 4000b0dd:       c9                      leave  
13045 4000b0de:       c3                      ret    
13047 4000b0df <llist_push>:
13048 4000b0df:       55                      push   %ebp
13049 4000b0e0:       89 e5                   mov    %esp,%ebp
13050 4000b0e2:       83 ec 18                sub    $0x18,%esp
13051 4000b0e5:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
13052 4000b0e9:       75 09                   jne    4000b0f4 <llist_push+0x15>
13053 4000b0eb:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
13054 4000b0f2:       eb 3f                   jmp    4000b133 <llist_push+0x54>
13055 4000b0f4:       c7 04 24 08 00 00 00    movl   $0x8,(%esp)
13056 4000b0fb:       e8 d4 c3 ff ff          call   400074d4 <malloc>
13057 4000b100:       89 45 fc                mov    %eax,-0x4(%ebp)
13058 4000b103:       8b 55 fc                mov    -0x4(%ebp),%edx
13059 4000b106:       8b 45 0c                mov    0xc(%ebp),%eax
13060 4000b109:       89 42 04                mov    %eax,0x4(%edx)
13061 4000b10c:       8b 45 08                mov    0x8(%ebp),%eax
13062 4000b10f:       8b 10                   mov    (%eax),%edx
13063 4000b111:       8b 45 fc                mov    -0x4(%ebp),%eax
13064 4000b114:       89 10                   mov    %edx,(%eax)
13065 4000b116:       8b 55 08                mov    0x8(%ebp),%edx
13066 4000b119:       8b 45 fc                mov    -0x4(%ebp),%eax
13067 4000b11c:       89 02                   mov    %eax,(%edx)
13068 4000b11e:       8b 45 08                mov    0x8(%ebp),%eax
13069 4000b121:       8b 40 04                mov    0x4(%eax),%eax
13070 4000b124:       8d 50 01                lea    0x1(%eax),%edx
13071 4000b127:       8b 45 08                mov    0x8(%ebp),%eax
13072 4000b12a:       89 50 04                mov    %edx,0x4(%eax)
13073 4000b12d:       8b 45 08                mov    0x8(%ebp),%eax
13074 4000b130:       89 45 ec                mov    %eax,-0x14(%ebp)
13075 4000b133:       8b 45 ec                mov    -0x14(%ebp),%eax
13076 4000b136:       c9                      leave  
13077 4000b137:       c3                      ret    
13079 4000b138 <llist_pop>:
13080 4000b138:       55                      push   %ebp
13081 4000b139:       89 e5                   mov    %esp,%ebp
13082 4000b13b:       83 ec 18                sub    $0x18,%esp
13083 4000b13e:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
13084 4000b142:       75 09                   jne    4000b14d <llist_pop+0x15>
13085 4000b144:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
13086 4000b14b:       eb 51                   jmp    4000b19e <llist_pop+0x66>
13087 4000b14d:       8b 45 08                mov    0x8(%ebp),%eax
13088 4000b150:       8b 00                   mov    (%eax),%eax
13089 4000b152:       85 c0                   test   %eax,%eax
13090 4000b154:       74 3b                   je     4000b191 <llist_pop+0x59>
13091 4000b156:       8b 45 08                mov    0x8(%ebp),%eax
13092 4000b159:       8b 00                   mov    (%eax),%eax
13093 4000b15b:       8b 40 04                mov    0x4(%eax),%eax
13094 4000b15e:       89 45 fc                mov    %eax,-0x4(%ebp)
13095 4000b161:       8b 45 08                mov    0x8(%ebp),%eax
13096 4000b164:       8b 00                   mov    (%eax),%eax
13097 4000b166:       89 45 f8                mov    %eax,-0x8(%ebp)
13098 4000b169:       8b 45 08                mov    0x8(%ebp),%eax
13099 4000b16c:       8b 00                   mov    (%eax),%eax
13100 4000b16e:       8b 10                   mov    (%eax),%edx
13101 4000b170:       8b 45 08                mov    0x8(%ebp),%eax
13102 4000b173:       89 10                   mov    %edx,(%eax)
13103 4000b175:       8b 45 f8                mov    -0x8(%ebp),%eax
13104 4000b178:       89 04 24                mov    %eax,(%esp)
13105 4000b17b:       e8 0b c8 ff ff          call   4000798b <free>
13106 4000b180:       8b 45 08                mov    0x8(%ebp),%eax
13107 4000b183:       8b 40 04                mov    0x4(%eax),%eax
13108 4000b186:       8d 50 ff                lea    -0x1(%eax),%edx
13109 4000b189:       8b 45 08                mov    0x8(%ebp),%eax
13110 4000b18c:       89 50 04                mov    %edx,0x4(%eax)
13111 4000b18f:       eb 07                   jmp    4000b198 <llist_pop+0x60>
13112 4000b191:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
13113 4000b198:       8b 45 fc                mov    -0x4(%ebp),%eax
13114 4000b19b:       89 45 ec                mov    %eax,-0x14(%ebp)
13115 4000b19e:       8b 45 ec                mov    -0x14(%ebp),%eax
13116 4000b1a1:       c9                      leave  
13117 4000b1a2:       c3                      ret    
13119 4000b1a3 <llist_get_node_at>:
13120 4000b1a3:       55                      push   %ebp
13121 4000b1a4:       89 e5                   mov    %esp,%ebp
13122 4000b1a6:       83 ec 14                sub    $0x14,%esp
13123 4000b1a9:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
13124 4000b1ad:       74 09                   je     4000b1b8 <llist_get_node_at+0x15>
13125 4000b1af:       8b 45 08                mov    0x8(%ebp),%eax
13126 4000b1b2:       8b 00                   mov    (%eax),%eax
13127 4000b1b4:       85 c0                   test   %eax,%eax
13128 4000b1b6:       75 09                   jne    4000b1c1 <llist_get_node_at+0x1e>
13129 4000b1b8:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
13130 4000b1bf:       eb 51                   jmp    4000b212 <llist_get_node_at+0x6f>
13131 4000b1c1:       8b 45 08                mov    0x8(%ebp),%eax
13132 4000b1c4:       8b 00                   mov    (%eax),%eax
13133 4000b1c6:       89 45 f8                mov    %eax,-0x8(%ebp)
13134 4000b1c9:       8b 45 0c                mov    0xc(%ebp),%eax
13135 4000b1cc:       89 45 fc                mov    %eax,-0x4(%ebp)
13136 4000b1cf:       8b 45 08                mov    0x8(%ebp),%eax
13137 4000b1d2:       8b 40 04                mov    0x4(%eax),%eax
13138 4000b1d5:       83 e8 01                sub    $0x1,%eax
13139 4000b1d8:       3b 45 0c                cmp    0xc(%ebp),%eax
13140 4000b1db:       73 20                   jae    4000b1fd <llist_get_node_at+0x5a>
13141 4000b1dd:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
13142 4000b1e4:       eb 2c                   jmp    4000b212 <llist_get_node_at+0x6f>
13143 4000b1e6:       8b 45 f8                mov    -0x8(%ebp),%eax
13144 4000b1e9:       8b 00                   mov    (%eax),%eax
13145 4000b1eb:       89 45 f8                mov    %eax,-0x8(%ebp)
13146 4000b1ee:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
13147 4000b1f2:       75 09                   jne    4000b1fd <llist_get_node_at+0x5a>
13148 4000b1f4:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
13149 4000b1fb:       eb 15                   jmp    4000b212 <llist_get_node_at+0x6f>
13150 4000b1fd:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
13151 4000b201:       0f 95 c0                setne  %al
13152 4000b204:       83 6d fc 01             subl   $0x1,-0x4(%ebp)
13153 4000b208:       84 c0                   test   %al,%al
13154 4000b20a:       75 da                   jne    4000b1e6 <llist_get_node_at+0x43>
13155 4000b20c:       8b 45 f8                mov    -0x8(%ebp),%eax
13156 4000b20f:       89 45 ec                mov    %eax,-0x14(%ebp)
13157 4000b212:       8b 45 ec                mov    -0x14(%ebp),%eax
13158 4000b215:       c9                      leave  
13159 4000b216:       c3                      ret    
13161 4000b217 <llist_get>:
13162 4000b217:       55                      push   %ebp
13163 4000b218:       89 e5                   mov    %esp,%ebp
13164 4000b21a:       83 ec 1c                sub    $0x1c,%esp
13165 4000b21d:       8b 45 0c                mov    0xc(%ebp),%eax
13166 4000b220:       89 44 24 04             mov    %eax,0x4(%esp)
13167 4000b224:       8b 45 08                mov    0x8(%ebp),%eax
13168 4000b227:       89 04 24                mov    %eax,(%esp)
13169 4000b22a:       e8 74 ff ff ff          call   4000b1a3 <llist_get_node_at>
13170 4000b22f:       89 45 fc                mov    %eax,-0x4(%ebp)
13171 4000b232:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
13172 4000b236:       75 09                   jne    4000b241 <llist_get+0x2a>
13173 4000b238:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
13174 4000b23f:       eb 09                   jmp    4000b24a <llist_get+0x33>
13175 4000b241:       8b 45 fc                mov    -0x4(%ebp),%eax
13176 4000b244:       8b 40 04                mov    0x4(%eax),%eax
13177 4000b247:       89 45 ec                mov    %eax,-0x14(%ebp)
13178 4000b24a:       8b 45 ec                mov    -0x14(%ebp),%eax
13179 4000b24d:       c9                      leave  
13180 4000b24e:       c3                      ret    
13182 4000b24f <llist_insert>:
13183 4000b24f:       55                      push   %ebp
13184 4000b250:       89 e5                   mov    %esp,%ebp
13185 4000b252:       83 ec 28                sub    $0x28,%esp
13186 4000b255:       c7 04 24 08 00 00 00    movl   $0x8,(%esp)
13187 4000b25c:       e8 73 c2 ff ff          call   400074d4 <malloc>
13188 4000b261:       89 45 f8                mov    %eax,-0x8(%ebp)
13189 4000b264:       8b 55 f8                mov    -0x8(%ebp),%edx
13190 4000b267:       8b 45 10                mov    0x10(%ebp),%eax
13191 4000b26a:       89 42 04                mov    %eax,0x4(%edx)
13192 4000b26d:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
13193 4000b271:       75 09                   jne    4000b27c <llist_insert+0x2d>
13194 4000b273:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
13195 4000b27a:       eb 68                   jmp    4000b2e4 <llist_insert+0x95>
13196 4000b27c:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
13197 4000b280:       74 3b                   je     4000b2bd <llist_insert+0x6e>
13198 4000b282:       8b 45 0c                mov    0xc(%ebp),%eax
13199 4000b285:       83 e8 01                sub    $0x1,%eax
13200 4000b288:       89 44 24 04             mov    %eax,0x4(%esp)
13201 4000b28c:       8b 45 08                mov    0x8(%ebp),%eax
13202 4000b28f:       89 04 24                mov    %eax,(%esp)
13203 4000b292:       e8 0c ff ff ff          call   4000b1a3 <llist_get_node_at>
13204 4000b297:       89 45 fc                mov    %eax,-0x4(%ebp)
13205 4000b29a:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
13206 4000b29e:       75 09                   jne    4000b2a9 <llist_insert+0x5a>
13207 4000b2a0:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
13208 4000b2a7:       eb 3b                   jmp    4000b2e4 <llist_insert+0x95>
13209 4000b2a9:       8b 45 fc                mov    -0x4(%ebp),%eax
13210 4000b2ac:       8b 10                   mov    (%eax),%edx
13211 4000b2ae:       8b 45 f8                mov    -0x8(%ebp),%eax
13212 4000b2b1:       89 10                   mov    %edx,(%eax)
13213 4000b2b3:       8b 55 fc                mov    -0x4(%ebp),%edx
13214 4000b2b6:       8b 45 f8                mov    -0x8(%ebp),%eax
13215 4000b2b9:       89 02                   mov    %eax,(%edx)
13216 4000b2bb:       eb 12                   jmp    4000b2cf <llist_insert+0x80>
13217 4000b2bd:       8b 45 08                mov    0x8(%ebp),%eax
13218 4000b2c0:       8b 10                   mov    (%eax),%edx
13219 4000b2c2:       8b 45 f8                mov    -0x8(%ebp),%eax
13220 4000b2c5:       89 10                   mov    %edx,(%eax)
13221 4000b2c7:       8b 55 08                mov    0x8(%ebp),%edx
13222 4000b2ca:       8b 45 f8                mov    -0x8(%ebp),%eax
13223 4000b2cd:       89 02                   mov    %eax,(%edx)
13224 4000b2cf:       8b 45 08                mov    0x8(%ebp),%eax
13225 4000b2d2:       8b 40 04                mov    0x4(%eax),%eax
13226 4000b2d5:       8d 50 01                lea    0x1(%eax),%edx
13227 4000b2d8:       8b 45 08                mov    0x8(%ebp),%eax
13228 4000b2db:       89 50 04                mov    %edx,0x4(%eax)
13229 4000b2de:       8b 45 08                mov    0x8(%ebp),%eax
13230 4000b2e1:       89 45 ec                mov    %eax,-0x14(%ebp)
13231 4000b2e4:       8b 45 ec                mov    -0x14(%ebp),%eax
13232 4000b2e7:       c9                      leave  
13233 4000b2e8:       c3                      ret    
13235 4000b2e9 <llist_remove>:
13236 4000b2e9:       55                      push   %ebp
13237 4000b2ea:       89 e5                   mov    %esp,%ebp
13238 4000b2ec:       83 ec 28                sub    $0x28,%esp
13239 4000b2ef:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
13240 4000b2f3:       75 0c                   jne    4000b301 <llist_remove+0x18>
13241 4000b2f5:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
13242 4000b2fc:       e9 ab 00 00 00          jmp    4000b3ac <llist_remove+0xc3>
13243 4000b301:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
13244 4000b305:       74 58                   je     4000b35f <llist_remove+0x76>
13245 4000b307:       8b 45 0c                mov    0xc(%ebp),%eax
13246 4000b30a:       83 e8 01                sub    $0x1,%eax
13247 4000b30d:       89 44 24 04             mov    %eax,0x4(%esp)
13248 4000b311:       8b 45 08                mov    0x8(%ebp),%eax
13249 4000b314:       89 04 24                mov    %eax,(%esp)
13250 4000b317:       e8 87 fe ff ff          call   4000b1a3 <llist_get_node_at>
13251 4000b31c:       89 45 fc                mov    %eax,-0x4(%ebp)
13252 4000b31f:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
13253 4000b323:       74 09                   je     4000b32e <llist_remove+0x45>
13254 4000b325:       8b 45 fc                mov    -0x4(%ebp),%eax
13255 4000b328:       8b 00                   mov    (%eax),%eax
13256 4000b32a:       85 c0                   test   %eax,%eax
13257 4000b32c:       75 09                   jne    4000b337 <llist_remove+0x4e>
13258 4000b32e:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
13259 4000b335:       eb 75                   jmp    4000b3ac <llist_remove+0xc3>
13260 4000b337:       8b 45 fc                mov    -0x4(%ebp),%eax
13261 4000b33a:       8b 00                   mov    (%eax),%eax
13262 4000b33c:       89 45 f8                mov    %eax,-0x8(%ebp)
13263 4000b33f:       8b 45 f8                mov    -0x8(%ebp),%eax
13264 4000b342:       8b 10                   mov    (%eax),%edx
13265 4000b344:       8b 45 fc                mov    -0x4(%ebp),%eax
13266 4000b347:       89 10                   mov    %edx,(%eax)
13267 4000b349:       8b 45 f8                mov    -0x8(%ebp),%eax
13268 4000b34c:       8b 40 04                mov    0x4(%eax),%eax
13269 4000b34f:       89 45 f4                mov    %eax,-0xc(%ebp)
13270 4000b352:       8b 45 f8                mov    -0x8(%ebp),%eax
13271 4000b355:       89 04 24                mov    %eax,(%esp)
13272 4000b358:       e8 2e c6 ff ff          call   4000798b <free>
13273 4000b35d:       eb 38                   jmp    4000b397 <llist_remove+0xae>
13274 4000b35f:       8b 45 08                mov    0x8(%ebp),%eax
13275 4000b362:       8b 00                   mov    (%eax),%eax
13276 4000b364:       85 c0                   test   %eax,%eax
13277 4000b366:       75 09                   jne    4000b371 <llist_remove+0x88>
13278 4000b368:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
13279 4000b36f:       eb 3b                   jmp    4000b3ac <llist_remove+0xc3>
13280 4000b371:       8b 45 08                mov    0x8(%ebp),%eax
13281 4000b374:       8b 00                   mov    (%eax),%eax
13282 4000b376:       89 45 f8                mov    %eax,-0x8(%ebp)
13283 4000b379:       8b 45 f8                mov    -0x8(%ebp),%eax
13284 4000b37c:       8b 10                   mov    (%eax),%edx
13285 4000b37e:       8b 45 08                mov    0x8(%ebp),%eax
13286 4000b381:       89 10                   mov    %edx,(%eax)
13287 4000b383:       8b 45 f8                mov    -0x8(%ebp),%eax
13288 4000b386:       8b 40 04                mov    0x4(%eax),%eax
13289 4000b389:       89 45 f4                mov    %eax,-0xc(%ebp)
13290 4000b38c:       8b 45 f8                mov    -0x8(%ebp),%eax
13291 4000b38f:       89 04 24                mov    %eax,(%esp)
13292 4000b392:       e8 f4 c5 ff ff          call   4000798b <free>
13293 4000b397:       8b 45 08                mov    0x8(%ebp),%eax
13294 4000b39a:       8b 40 04                mov    0x4(%eax),%eax
13295 4000b39d:       8d 50 ff                lea    -0x1(%eax),%edx
13296 4000b3a0:       8b 45 08                mov    0x8(%ebp),%eax
13297 4000b3a3:       89 50 04                mov    %edx,0x4(%eax)
13298 4000b3a6:       8b 45 f4                mov    -0xc(%ebp),%eax
13299 4000b3a9:       89 45 ec                mov    %eax,-0x14(%ebp)
13300 4000b3ac:       8b 45 ec                mov    -0x14(%ebp),%eax
13301 4000b3af:       c9                      leave  
13302 4000b3b0:       c3                      ret    
13304 4000b3b1 <llist_find>:
13305 4000b3b1:       55                      push   %ebp
13306 4000b3b2:       89 e5                   mov    %esp,%ebp
13307 4000b3b4:       83 ec 1c                sub    $0x1c,%esp
13308 4000b3b7:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
13309 4000b3be:       eb 14                   jmp    4000b3d4 <llist_find+0x23>
13310 4000b3c0:       8b 45 f8                mov    -0x8(%ebp),%eax
13311 4000b3c3:       3b 45 0c                cmp    0xc(%ebp),%eax
13312 4000b3c6:       75 08                   jne    4000b3d0 <llist_find+0x1f>
13313 4000b3c8:       8b 45 fc                mov    -0x4(%ebp),%eax
13314 4000b3cb:       89 45 ec                mov    %eax,-0x14(%ebp)
13315 4000b3ce:       eb 26                   jmp    4000b3f6 <llist_find+0x45>
13316 4000b3d0:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
13317 4000b3d4:       8b 45 fc                mov    -0x4(%ebp),%eax
13318 4000b3d7:       89 44 24 04             mov    %eax,0x4(%esp)
13319 4000b3db:       8b 45 08                mov    0x8(%ebp),%eax
13320 4000b3de:       89 04 24                mov    %eax,(%esp)
13321 4000b3e1:       e8 31 fe ff ff          call   4000b217 <llist_get>
13322 4000b3e6:       89 45 f8                mov    %eax,-0x8(%ebp)
13323 4000b3e9:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
13324 4000b3ed:       75 d1                   jne    4000b3c0 <llist_find+0xf>
13325 4000b3ef:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
13326 4000b3f6:       8b 45 ec                mov    -0x14(%ebp),%eax
13327 4000b3f9:       c9                      leave  
13328 4000b3fa:       c3                      ret    
13330 4000b3fb <llist_copy>:
13331 4000b3fb:       55                      push   %ebp
13332 4000b3fc:       89 e5                   mov    %esp,%ebp
13333 4000b3fe:       83 ec 18                sub    $0x18,%esp
13334 4000b401:       e8 5e fc ff ff          call   4000b064 <llist_create>
13335 4000b406:       89 45 fc                mov    %eax,-0x4(%ebp)
13336 4000b409:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
13337 4000b410:       eb 16                   jmp    4000b428 <llist_copy+0x2d>
13338 4000b412:       8b 45 f8                mov    -0x8(%ebp),%eax
13339 4000b415:       89 44 24 04             mov    %eax,0x4(%esp)
13340 4000b419:       8b 45 fc                mov    -0x4(%ebp),%eax
13341 4000b41c:       89 04 24                mov    %eax,(%esp)
13342 4000b41f:       e8 bb fc ff ff          call   4000b0df <llist_push>
13343 4000b424:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
13344 4000b428:       8b 45 f4                mov    -0xc(%ebp),%eax
13345 4000b42b:       89 44 24 04             mov    %eax,0x4(%esp)
13346 4000b42f:       8b 45 08                mov    0x8(%ebp),%eax
13347 4000b432:       89 04 24                mov    %eax,(%esp)
13348 4000b435:       e8 dd fd ff ff          call   4000b217 <llist_get>
13349 4000b43a:       89 45 f8                mov    %eax,-0x8(%ebp)
13350 4000b43d:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
13351 4000b441:       75 cf                   jne    4000b412 <llist_copy+0x17>
13352 4000b443:       8b 45 fc                mov    -0x4(%ebp),%eax
13353 4000b446:       c9                      leave  
13354 4000b447:       c3                      ret    
13356 4000b448 <_libmeinos_init>:
13357 4000b448:       55                      push   %ebp
13358 4000b449:       89 e5                   mov    %esp,%ebp
13359 4000b44b:       83 ec 08                sub    $0x8,%esp
13360 4000b44e:       e8 39 2c 00 00          call   4000e08c <_irq_init>
13361 4000b453:       c9                      leave  
13362 4000b454:       c3                      ret    
13364 4000b455 <vfs_mount>:
13365 4000b455:       55                      push   %ebp
13366 4000b456:       89 e5                   mov    %esp,%ebp
13367 4000b458:       83 ec 28                sub    $0x28,%esp
13368 4000b45b:       8b 45 08                mov    0x8(%ebp),%eax
13369 4000b45e:       89 44 24 08             mov    %eax,0x8(%esp)
13370 4000b462:       c7 44 24 04 a8 f1 00    movl   $0x4000f1a8,0x4(%esp)
13371 4000b469:       40 
13372 4000b46a:       8d 45 f8                lea    -0x8(%ebp),%eax
13373 4000b46d:       89 04 24                mov    %eax,(%esp)
13374 4000b470:       e8 4b 6c ff ff          call   400020c0 <asprintf>
13375 4000b475:       83 7d 10 00             cmpl   $0x0,0x10(%ebp)
13376 4000b479:       75 07                   jne    4000b482 <vfs_mount+0x2d>
13377 4000b47b:       c7 45 10 b1 f1 00 40    movl   $0x4000f1b1,0x10(%ebp)
13378 4000b482:       8b 55 f8                mov    -0x8(%ebp),%edx
13379 4000b485:       8b 45 14                mov    0x14(%ebp),%eax
13380 4000b488:       89 44 24 14             mov    %eax,0x14(%esp)
13381 4000b48c:       8b 45 10                mov    0x10(%ebp),%eax
13382 4000b48f:       89 44 24 10             mov    %eax,0x10(%esp)
13383 4000b493:       8b 45 0c                mov    0xc(%ebp),%eax
13384 4000b496:       89 44 24 0c             mov    %eax,0xc(%esp)
13385 4000b49a:       8b 45 08                mov    0x8(%ebp),%eax
13386 4000b49d:       89 44 24 08             mov    %eax,0x8(%esp)
13387 4000b4a1:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
13388 4000b4a8:       00 
13389 4000b4a9:       89 14 24                mov    %edx,(%esp)
13390 4000b4ac:       e8 3a 0f 00 00          call   4000c3eb <rpc_call>
13391 4000b4b1:       89 45 fc                mov    %eax,-0x4(%ebp)
13392 4000b4b4:       8b 45 f8                mov    -0x8(%ebp),%eax
13393 4000b4b7:       89 04 24                mov    %eax,(%esp)
13394 4000b4ba:       e8 cc c4 ff ff          call   4000798b <free>
13395 4000b4bf:       8b 45 fc                mov    -0x4(%ebp),%eax
13396 4000b4c2:       c9                      leave  
13397 4000b4c3:       c3                      ret    
13399 4000b4c4 <vfs_unmount>:
13400 4000b4c4:       55                      push   %ebp
13401 4000b4c5:       89 e5                   mov    %esp,%ebp
13402 4000b4c7:       83 ec 28                sub    $0x28,%esp
13403 4000b4ca:       8b 45 08                mov    0x8(%ebp),%eax
13404 4000b4cd:       89 44 24 08             mov    %eax,0x8(%esp)
13405 4000b4d1:       c7 44 24 04 b2 f1 00    movl   $0x4000f1b2,0x4(%esp)
13406 4000b4d8:       40 
13407 4000b4d9:       8d 45 f8                lea    -0x8(%ebp),%eax
13408 4000b4dc:       89 04 24                mov    %eax,(%esp)
13409 4000b4df:       e8 dc 6b ff ff          call   400020c0 <asprintf>
13410 4000b4e4:       8b 55 f8                mov    -0x8(%ebp),%edx
13411 4000b4e7:       8b 45 0c                mov    0xc(%ebp),%eax
13412 4000b4ea:       89 44 24 0c             mov    %eax,0xc(%esp)
13413 4000b4ee:       8b 45 08                mov    0x8(%ebp),%eax
13414 4000b4f1:       89 44 24 08             mov    %eax,0x8(%esp)
13415 4000b4f5:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
13416 4000b4fc:       00 
13417 4000b4fd:       89 14 24                mov    %edx,(%esp)
13418 4000b500:       e8 e6 0e 00 00          call   4000c3eb <rpc_call>
13419 4000b505:       89 45 fc                mov    %eax,-0x4(%ebp)
13420 4000b508:       8b 45 f8                mov    -0x8(%ebp),%eax
13421 4000b50b:       89 04 24                mov    %eax,(%esp)
13422 4000b50e:       e8 78 c4 ff ff          call   4000798b <free>
13423 4000b513:       8b 45 fc                mov    -0x4(%ebp),%eax
13424 4000b516:       c9                      leave  
13425 4000b517:       c3                      ret    
13427 4000b518 <path_parse>:
13428 4000b518:       55                      push   %ebp
13429 4000b519:       89 e5                   mov    %esp,%ebp
13430 4000b51b:       83 ec 28                sub    $0x28,%esp
13431 4000b51e:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
13432 4000b522:       75 0c                   jne    4000b530 <path_parse+0x18>
13433 4000b524:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
13434 4000b52b:       e9 08 01 00 00          jmp    4000b638 <path_parse+0x120>
13435 4000b530:       c7 45 f0 01 00 00 00    movl   $0x1,-0x10(%ebp)
13436 4000b537:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
13437 4000b53e:       eb 17                   jmp    4000b557 <path_parse+0x3f>
13438 4000b540:       8b 55 ec                mov    -0x14(%ebp),%edx
13439 4000b543:       8b 45 08                mov    0x8(%ebp),%eax
13440 4000b546:       01 d0                   add    %edx,%eax
13441 4000b548:       0f b6 00                movzbl (%eax),%eax
13442 4000b54b:       3c 2f                   cmp    $0x2f,%al
13443 4000b54d:       75 04                   jne    4000b553 <path_parse+0x3b>
13444 4000b54f:       83 45 f0 01             addl   $0x1,-0x10(%ebp)
13445 4000b553:       83 45 ec 01             addl   $0x1,-0x14(%ebp)
13446 4000b557:       8b 55 ec                mov    -0x14(%ebp),%edx
13447 4000b55a:       8b 45 08                mov    0x8(%ebp),%eax
13448 4000b55d:       01 d0                   add    %edx,%eax
13449 4000b55f:       0f b6 00                movzbl (%eax),%eax
13450 4000b562:       84 c0                   test   %al,%al
13451 4000b564:       75 da                   jne    4000b540 <path_parse+0x28>
13452 4000b566:       c7 04 24 10 00 00 00    movl   $0x10,(%esp)
13453 4000b56d:       e8 62 bf ff ff          call   400074d4 <malloc>
13454 4000b572:       89 45 f4                mov    %eax,-0xc(%ebp)
13455 4000b575:       8b 55 f4                mov    -0xc(%ebp),%edx
13456 4000b578:       8b 45 f0                mov    -0x10(%ebp),%eax
13457 4000b57b:       89 02                   mov    %eax,(%edx)
13458 4000b57d:       8b 45 08                mov    0x8(%ebp),%eax
13459 4000b580:       89 04 24                mov    %eax,(%esp)
13460 4000b583:       e8 51 f4 ff ff          call   4000a9d9 <strdup>
13461 4000b588:       89 c2                   mov    %eax,%edx
13462 4000b58a:       8b 45 f4                mov    -0xc(%ebp),%eax
13463 4000b58d:       89 50 08                mov    %edx,0x8(%eax)
13464 4000b590:       8b 45 f0                mov    -0x10(%ebp),%eax
13465 4000b593:       c1 e0 02                shl    $0x2,%eax
13466 4000b596:       89 04 24                mov    %eax,(%esp)
13467 4000b599:       e8 36 bf ff ff          call   400074d4 <malloc>
13468 4000b59e:       89 c2                   mov    %eax,%edx
13469 4000b5a0:       8b 45 f4                mov    -0xc(%ebp),%eax
13470 4000b5a3:       89 50 04                mov    %edx,0x4(%eax)
13471 4000b5a6:       8b 45 08                mov    0x8(%ebp),%eax
13472 4000b5a9:       0f b6 00                movzbl (%eax),%eax
13473 4000b5ac:       3c 2f                   cmp    $0x2f,%al
13474 4000b5ae:       0f 94 c0                sete   %al
13475 4000b5b1:       0f b6 d0                movzbl %al,%edx
13476 4000b5b4:       8b 45 f4                mov    -0xc(%ebp),%eax
13477 4000b5b7:       89 50 0c                mov    %edx,0xc(%eax)
13478 4000b5ba:       8b 45 f4                mov    -0xc(%ebp),%eax
13479 4000b5bd:       8b 40 08                mov    0x8(%eax),%eax
13480 4000b5c0:       89 45 f8                mov    %eax,-0x8(%ebp)
13481 4000b5c3:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
13482 4000b5ca:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
13483 4000b5d1:       eb 57                   jmp    4000b62a <path_parse+0x112>
13484 4000b5d3:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
13485 4000b5d7:       8b 45 f4                mov    -0xc(%ebp),%eax
13486 4000b5da:       8b 40 08                mov    0x8(%eax),%eax
13487 4000b5dd:       03 45 fc                add    -0x4(%ebp),%eax
13488 4000b5e0:       0f b6 00                movzbl (%eax),%eax
13489 4000b5e3:       3c 2f                   cmp    $0x2f,%al
13490 4000b5e5:       74 10                   je     4000b5f7 <path_parse+0xdf>
13491 4000b5e7:       8b 45 f4                mov    -0xc(%ebp),%eax
13492 4000b5ea:       8b 40 08                mov    0x8(%eax),%eax
13493 4000b5ed:       03 45 fc                add    -0x4(%ebp),%eax
13494 4000b5f0:       0f b6 00                movzbl (%eax),%eax
13495 4000b5f3:       84 c0                   test   %al,%al
13496 4000b5f5:       75 dc                   jne    4000b5d3 <path_parse+0xbb>
13497 4000b5f7:       8b 45 f4                mov    -0xc(%ebp),%eax
13498 4000b5fa:       8b 50 04                mov    0x4(%eax),%edx
13499 4000b5fd:       8b 45 ec                mov    -0x14(%ebp),%eax
13500 4000b600:       c1 e0 02                shl    $0x2,%eax
13501 4000b603:       01 c2                   add    %eax,%edx
13502 4000b605:       8b 45 f8                mov    -0x8(%ebp),%eax
13503 4000b608:       89 02                   mov    %eax,(%edx)
13504 4000b60a:       8b 45 f4                mov    -0xc(%ebp),%eax
13505 4000b60d:       8b 40 08                mov    0x8(%eax),%eax
13506 4000b610:       03 45 fc                add    -0x4(%ebp),%eax
13507 4000b613:       c6 00 00                movb   $0x0,(%eax)
13508 4000b616:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
13509 4000b61a:       8b 45 f4                mov    -0xc(%ebp),%eax
13510 4000b61d:       8b 40 08                mov    0x8(%eax),%eax
13511 4000b620:       03 45 fc                add    -0x4(%ebp),%eax
13512 4000b623:       89 45 f8                mov    %eax,-0x8(%ebp)
13513 4000b626:       83 45 ec 01             addl   $0x1,-0x14(%ebp)
13514 4000b62a:       8b 45 ec                mov    -0x14(%ebp),%eax
13515 4000b62d:       3b 45 f0                cmp    -0x10(%ebp),%eax
13516 4000b630:       72 a5                   jb     4000b5d7 <path_parse+0xbf>
13517 4000b632:       8b 45 f4                mov    -0xc(%ebp),%eax
13518 4000b635:       89 45 dc                mov    %eax,-0x24(%ebp)
13519 4000b638:       8b 45 dc                mov    -0x24(%ebp),%eax
13520 4000b63b:       c9                      leave  
13521 4000b63c:       c3                      ret    
13523 4000b63d <path_destroy>:
13524 4000b63d:       55                      push   %ebp
13525 4000b63e:       89 e5                   mov    %esp,%ebp
13526 4000b640:       83 ec 08                sub    $0x8,%esp
13527 4000b643:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
13528 4000b647:       74 27                   je     4000b670 <path_destroy+0x33>
13529 4000b649:       8b 45 08                mov    0x8(%ebp),%eax
13530 4000b64c:       8b 40 04                mov    0x4(%eax),%eax
13531 4000b64f:       89 04 24                mov    %eax,(%esp)
13532 4000b652:       e8 34 c3 ff ff          call   4000798b <free>
13533 4000b657:       8b 45 08                mov    0x8(%ebp),%eax
13534 4000b65a:       8b 40 08                mov    0x8(%eax),%eax
13535 4000b65d:       89 04 24                mov    %eax,(%esp)
13536 4000b660:       e8 26 c3 ff ff          call   4000798b <free>
13537 4000b665:       8b 45 08                mov    0x8(%ebp),%eax
13538 4000b668:       89 04 24                mov    %eax,(%esp)
13539 4000b66b:       e8 1b c3 ff ff          call   4000798b <free>
13540 4000b670:       c9                      leave  
13541 4000b671:       c3                      ret    
13543 4000b672 <path_reject_dots>:
13544 4000b672:       55                      push   %ebp
13545 4000b673:       89 e5                   mov    %esp,%ebp
13546 4000b675:       83 ec 28                sub    $0x28,%esp
13547 4000b678:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
13548 4000b67c:       0f 84 60 01 00 00       je     4000b7e2 <path_reject_dots+0x170>
13549 4000b682:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
13550 4000b689:       e9 46 01 00 00          jmp    4000b7d4 <path_reject_dots+0x162>
13551 4000b68e:       8b 45 08                mov    0x8(%ebp),%eax
13552 4000b691:       8b 50 04                mov    0x4(%eax),%edx
13553 4000b694:       8b 45 f8                mov    -0x8(%ebp),%eax
13554 4000b697:       c1 e0 02                shl    $0x2,%eax
13555 4000b69a:       8d 04 02                lea    (%edx,%eax,1),%eax
13556 4000b69d:       8b 00                   mov    (%eax),%eax
13557 4000b69f:       c7 44 24 04 bd f1 00    movl   $0x4000f1bd,0x4(%esp)
13558 4000b6a6:       40 
13559 4000b6a7:       89 04 24                mov    %eax,(%esp)
13560 4000b6aa:       e8 55 f2 ff ff          call   4000a904 <strcmp>
13561 4000b6af:       85 c0                   test   %eax,%eax
13562 4000b6b1:       75 45                   jne    4000b6f8 <path_reject_dots+0x86>
13563 4000b6b3:       8b 45 08                mov    0x8(%ebp),%eax
13564 4000b6b6:       8b 50 04                mov    0x4(%eax),%edx
13565 4000b6b9:       8b 45 f8                mov    -0x8(%ebp),%eax
13566 4000b6bc:       c1 e0 02                shl    $0x2,%eax
13567 4000b6bf:       8d 04 02                lea    (%edx,%eax,1),%eax
13568 4000b6c2:       8b 00                   mov    (%eax),%eax
13569 4000b6c4:       89 04 24                mov    %eax,(%esp)
13570 4000b6c7:       e8 58 f3 ff ff          call   4000aa24 <strlen>
13571 4000b6cc:       89 c1                   mov    %eax,%ecx
13572 4000b6ce:       8b 45 08                mov    0x8(%ebp),%eax
13573 4000b6d1:       8b 50 04                mov    0x4(%eax),%edx
13574 4000b6d4:       8b 45 f8                mov    -0x8(%ebp),%eax
13575 4000b6d7:       c1 e0 02                shl    $0x2,%eax
13576 4000b6da:       8d 04 02                lea    (%edx,%eax,1),%eax
13577 4000b6dd:       8b 00                   mov    (%eax),%eax
13578 4000b6df:       89 4c 24 08             mov    %ecx,0x8(%esp)
13579 4000b6e3:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
13580 4000b6ea:       00 
13581 4000b6eb:       89 04 24                mov    %eax,(%esp)
13582 4000b6ee:       e8 56 f1 ff ff          call   4000a849 <memset>
13583 4000b6f3:       e9 d8 00 00 00          jmp    4000b7d0 <path_reject_dots+0x15e>
13584 4000b6f8:       8b 45 08                mov    0x8(%ebp),%eax
13585 4000b6fb:       8b 50 04                mov    0x4(%eax),%edx
13586 4000b6fe:       8b 45 f8                mov    -0x8(%ebp),%eax
13587 4000b701:       c1 e0 02                shl    $0x2,%eax
13588 4000b704:       8d 04 02                lea    (%edx,%eax,1),%eax
13589 4000b707:       8b 00                   mov    (%eax),%eax
13590 4000b709:       c7 44 24 04 bf f1 00    movl   $0x4000f1bf,0x4(%esp)
13591 4000b710:       40 
13592 4000b711:       89 04 24                mov    %eax,(%esp)
13593 4000b714:       e8 eb f1 ff ff          call   4000a904 <strcmp>
13594 4000b719:       85 c0                   test   %eax,%eax
13595 4000b71b:       0f 85 af 00 00 00       jne    4000b7d0 <path_reject_dots+0x15e>
13596 4000b721:       8b 45 08                mov    0x8(%ebp),%eax
13597 4000b724:       8b 50 04                mov    0x4(%eax),%edx
13598 4000b727:       8b 45 f8                mov    -0x8(%ebp),%eax
13599 4000b72a:       c1 e0 02                shl    $0x2,%eax
13600 4000b72d:       8d 04 02                lea    (%edx,%eax,1),%eax
13601 4000b730:       8b 00                   mov    (%eax),%eax
13602 4000b732:       89 04 24                mov    %eax,(%esp)
13603 4000b735:       e8 ea f2 ff ff          call   4000aa24 <strlen>
13604 4000b73a:       89 c1                   mov    %eax,%ecx
13605 4000b73c:       8b 45 08                mov    0x8(%ebp),%eax
13606 4000b73f:       8b 50 04                mov    0x4(%eax),%edx
13607 4000b742:       8b 45 f8                mov    -0x8(%ebp),%eax
13608 4000b745:       c1 e0 02                shl    $0x2,%eax
13609 4000b748:       8d 04 02                lea    (%edx,%eax,1),%eax
13610 4000b74b:       8b 00                   mov    (%eax),%eax
13611 4000b74d:       89 4c 24 08             mov    %ecx,0x8(%esp)
13612 4000b751:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
13613 4000b758:       00 
13614 4000b759:       89 04 24                mov    %eax,(%esp)
13615 4000b75c:       e8 e8 f0 ff ff          call   4000a849 <memset>
13616 4000b761:       8b 45 f8                mov    -0x8(%ebp),%eax
13617 4000b764:       83 e8 01                sub    $0x1,%eax
13618 4000b767:       89 45 fc                mov    %eax,-0x4(%ebp)
13619 4000b76a:       eb 5e                   jmp    4000b7ca <path_reject_dots+0x158>
13620 4000b76c:       8b 45 08                mov    0x8(%ebp),%eax
13621 4000b76f:       8b 50 04                mov    0x4(%eax),%edx
13622 4000b772:       8b 45 fc                mov    -0x4(%ebp),%eax
13623 4000b775:       c1 e0 02                shl    $0x2,%eax
13624 4000b778:       8d 04 02                lea    (%edx,%eax,1),%eax
13625 4000b77b:       8b 00                   mov    (%eax),%eax
13626 4000b77d:       0f b6 00                movzbl (%eax),%eax
13627 4000b780:       84 c0                   test   %al,%al
13628 4000b782:       74 42                   je     4000b7c6 <path_reject_dots+0x154>
13629 4000b784:       8b 45 08                mov    0x8(%ebp),%eax
13630 4000b787:       8b 50 04                mov    0x4(%eax),%edx
13631 4000b78a:       8b 45 fc                mov    -0x4(%ebp),%eax
13632 4000b78d:       c1 e0 02                shl    $0x2,%eax
13633 4000b790:       8d 04 02                lea    (%edx,%eax,1),%eax
13634 4000b793:       8b 00                   mov    (%eax),%eax
13635 4000b795:       89 04 24                mov    %eax,(%esp)
13636 4000b798:       e8 87 f2 ff ff          call   4000aa24 <strlen>
13637 4000b79d:       89 c1                   mov    %eax,%ecx
13638 4000b79f:       8b 45 08                mov    0x8(%ebp),%eax
13639 4000b7a2:       8b 50 04                mov    0x4(%eax),%edx
13640 4000b7a5:       8b 45 fc                mov    -0x4(%ebp),%eax
13641 4000b7a8:       c1 e0 02                shl    $0x2,%eax
13642 4000b7ab:       8d 04 02                lea    (%edx,%eax,1),%eax
13643 4000b7ae:       8b 00                   mov    (%eax),%eax
13644 4000b7b0:       89 4c 24 08             mov    %ecx,0x8(%esp)
13645 4000b7b4:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
13646 4000b7bb:       00 
13647 4000b7bc:       89 04 24                mov    %eax,(%esp)
13648 4000b7bf:       e8 85 f0 ff ff          call   4000a849 <memset>
13649 4000b7c4:       eb 0a                   jmp    4000b7d0 <path_reject_dots+0x15e>
13650 4000b7c6:       83 6d fc 01             subl   $0x1,-0x4(%ebp)
13651 4000b7ca:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
13652 4000b7ce:       79 9c                   jns    4000b76c <path_reject_dots+0xfa>
13653 4000b7d0:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
13654 4000b7d4:       8b 45 08                mov    0x8(%ebp),%eax
13655 4000b7d7:       8b 00                   mov    (%eax),%eax
13656 4000b7d9:       3b 45 f8                cmp    -0x8(%ebp),%eax
13657 4000b7dc:       0f 87 ac fe ff ff       ja     4000b68e <path_reject_dots+0x1c>
13658 4000b7e2:       c9                      leave  
13659 4000b7e3:       c3                      ret    
13661 4000b7e4 <path_output>:
13662 4000b7e4:       55                      push   %ebp
13663 4000b7e5:       89 e5                   mov    %esp,%ebp
13664 4000b7e7:       83 ec 38                sub    $0x38,%esp
13665 4000b7ea:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
13666 4000b7ee:       75 0c                   jne    4000b7fc <path_output+0x18>
13667 4000b7f0:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
13668 4000b7f7:       e9 bd 01 00 00          jmp    4000b9b9 <path_output+0x1d5>
13669 4000b7fc:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
13670 4000b803:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
13671 4000b80a:       eb 20                   jmp    4000b82c <path_output+0x48>
13672 4000b80c:       8b 45 08                mov    0x8(%ebp),%eax
13673 4000b80f:       8b 50 04                mov    0x4(%eax),%edx
13674 4000b812:       8b 45 f0                mov    -0x10(%ebp),%eax
13675 4000b815:       c1 e0 02                shl    $0x2,%eax
13676 4000b818:       8d 04 02                lea    (%edx,%eax,1),%eax
13677 4000b81b:       8b 00                   mov    (%eax),%eax
13678 4000b81d:       0f b6 00                movzbl (%eax),%eax
13679 4000b820:       84 c0                   test   %al,%al
13680 4000b822:       74 04                   je     4000b828 <path_output+0x44>
13681 4000b824:       83 45 ec 01             addl   $0x1,-0x14(%ebp)
13682 4000b828:       83 45 f0 01             addl   $0x1,-0x10(%ebp)
13683 4000b82c:       8b 45 08                mov    0x8(%ebp),%eax
13684 4000b82f:       8b 00                   mov    (%eax),%eax
13685 4000b831:       3b 45 f0                cmp    -0x10(%ebp),%eax
13686 4000b834:       77 d6                   ja     4000b80c <path_output+0x28>
13687 4000b836:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
13688 4000b83a:       0f 84 4c 01 00 00       je     4000b98c <path_output+0x1a8>
13689 4000b840:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
13690 4000b847:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
13691 4000b84b:       75 5d                   jne    4000b8aa <path_output+0xc6>
13692 4000b84d:       8b 45 08                mov    0x8(%ebp),%eax
13693 4000b850:       8b 10                   mov    (%eax),%edx
13694 4000b852:       8b 45 08                mov    0x8(%ebp),%eax
13695 4000b855:       8b 40 0c                mov    0xc(%eax),%eax
13696 4000b858:       85 c0                   test   %eax,%eax
13697 4000b85a:       0f 95 c0                setne  %al
13698 4000b85d:       0f b6 c0                movzbl %al,%eax
13699 4000b860:       8d 04 02                lea    (%edx,%eax,1),%eax
13700 4000b863:       83 c0 01                add    $0x1,%eax
13701 4000b866:       89 45 f8                mov    %eax,-0x8(%ebp)
13702 4000b869:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
13703 4000b870:       eb 20                   jmp    4000b892 <path_output+0xae>
13704 4000b872:       8b 45 08                mov    0x8(%ebp),%eax
13705 4000b875:       8b 50 04                mov    0x4(%eax),%edx
13706 4000b878:       8b 45 f0                mov    -0x10(%ebp),%eax
13707 4000b87b:       c1 e0 02                shl    $0x2,%eax
13708 4000b87e:       8d 04 02                lea    (%edx,%eax,1),%eax
13709 4000b881:       8b 00                   mov    (%eax),%eax
13710 4000b883:       89 04 24                mov    %eax,(%esp)
13711 4000b886:       e8 99 f1 ff ff          call   4000aa24 <strlen>
13712 4000b88b:       01 45 f8                add    %eax,-0x8(%ebp)
13713 4000b88e:       83 45 f0 01             addl   $0x1,-0x10(%ebp)
13714 4000b892:       8b 45 08                mov    0x8(%ebp),%eax
13715 4000b895:       8b 00                   mov    (%eax),%eax
13716 4000b897:       3b 45 f0                cmp    -0x10(%ebp),%eax
13717 4000b89a:       77 d6                   ja     4000b872 <path_output+0x8e>
13718 4000b89c:       8b 45 f8                mov    -0x8(%ebp),%eax
13719 4000b89f:       89 04 24                mov    %eax,(%esp)
13720 4000b8a2:       e8 2d bc ff ff          call   400074d4 <malloc>
13721 4000b8a7:       89 45 0c                mov    %eax,0xc(%ebp)
13722 4000b8aa:       8b 45 08                mov    0x8(%ebp),%eax
13723 4000b8ad:       8b 40 0c                mov    0xc(%eax),%eax
13724 4000b8b0:       85 c0                   test   %eax,%eax
13725 4000b8b2:       74 1f                   je     4000b8d3 <path_output+0xef>
13726 4000b8b4:       8b 45 08                mov    0x8(%ebp),%eax
13727 4000b8b7:       8b 40 04                mov    0x4(%eax),%eax
13728 4000b8ba:       8b 00                   mov    (%eax),%eax
13729 4000b8bc:       0f b6 00                movzbl (%eax),%eax
13730 4000b8bf:       84 c0                   test   %al,%al
13731 4000b8c1:       74 10                   je     4000b8d3 <path_output+0xef>
13732 4000b8c3:       8b 45 f4                mov    -0xc(%ebp),%eax
13733 4000b8c6:       8b 55 0c                mov    0xc(%ebp),%edx
13734 4000b8c9:       8d 04 02                lea    (%edx,%eax,1),%eax
13735 4000b8cc:       c6 00 2f                movb   $0x2f,(%eax)
13736 4000b8cf:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
13737 4000b8d3:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
13738 4000b8da:       e9 8b 00 00 00          jmp    4000b96a <path_output+0x186>
13739 4000b8df:       8b 45 08                mov    0x8(%ebp),%eax
13740 4000b8e2:       8b 50 04                mov    0x4(%eax),%edx
13741 4000b8e5:       8b 45 f0                mov    -0x10(%ebp),%eax
13742 4000b8e8:       c1 e0 02                shl    $0x2,%eax
13743 4000b8eb:       8d 04 02                lea    (%edx,%eax,1),%eax
13744 4000b8ee:       8b 00                   mov    (%eax),%eax
13745 4000b8f0:       89 04 24                mov    %eax,(%esp)
13746 4000b8f3:       e8 2c f1 ff ff          call   4000aa24 <strlen>
13747 4000b8f8:       89 45 fc                mov    %eax,-0x4(%ebp)
13748 4000b8fb:       8b 45 08                mov    0x8(%ebp),%eax
13749 4000b8fe:       8b 50 04                mov    0x4(%eax),%edx
13750 4000b901:       8b 45 f0                mov    -0x10(%ebp),%eax
13751 4000b904:       c1 e0 02                shl    $0x2,%eax
13752 4000b907:       8d 04 02                lea    (%edx,%eax,1),%eax
13753 4000b90a:       8b 08                   mov    (%eax),%ecx
13754 4000b90c:       8b 55 f4                mov    -0xc(%ebp),%edx
13755 4000b90f:       8b 45 0c                mov    0xc(%ebp),%eax
13756 4000b912:       8d 14 10                lea    (%eax,%edx,1),%edx
13757 4000b915:       8b 45 fc                mov    -0x4(%ebp),%eax
13758 4000b918:       89 44 24 08             mov    %eax,0x8(%esp)
13759 4000b91c:       89 4c 24 04             mov    %ecx,0x4(%esp)
13760 4000b920:       89 14 24                mov    %edx,(%esp)
13761 4000b923:       e8 44 ed ff ff          call   4000a66c <memcpy>
13762 4000b928:       8b 45 fc                mov    -0x4(%ebp),%eax
13763 4000b92b:       01 45 f4                add    %eax,-0xc(%ebp)
13764 4000b92e:       8b 45 08                mov    0x8(%ebp),%eax
13765 4000b931:       8b 00                   mov    (%eax),%eax
13766 4000b933:       83 e8 01                sub    $0x1,%eax
13767 4000b936:       3b 45 f0                cmp    -0x10(%ebp),%eax
13768 4000b939:       76 2b                   jbe    4000b966 <path_output+0x182>
13769 4000b93b:       8b 45 08                mov    0x8(%ebp),%eax
13770 4000b93e:       8b 50 04                mov    0x4(%eax),%edx
13771 4000b941:       8b 45 f0                mov    -0x10(%ebp),%eax
13772 4000b944:       83 c0 01                add    $0x1,%eax
13773 4000b947:       c1 e0 02                shl    $0x2,%eax
13774 4000b94a:       8d 04 02                lea    (%edx,%eax,1),%eax
13775 4000b94d:       8b 00                   mov    (%eax),%eax
13776 4000b94f:       0f b6 00                movzbl (%eax),%eax
13777 4000b952:       84 c0                   test   %al,%al
13778 4000b954:       74 10                   je     4000b966 <path_output+0x182>
13779 4000b956:       8b 45 f4                mov    -0xc(%ebp),%eax
13780 4000b959:       8b 55 0c                mov    0xc(%ebp),%edx
13781 4000b95c:       8d 04 02                lea    (%edx,%eax,1),%eax
13782 4000b95f:       c6 00 2f                movb   $0x2f,(%eax)
13783 4000b962:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
13784 4000b966:       83 45 f0 01             addl   $0x1,-0x10(%ebp)
13785 4000b96a:       8b 45 08                mov    0x8(%ebp),%eax
13786 4000b96d:       8b 00                   mov    (%eax),%eax
13787 4000b96f:       3b 45 f0                cmp    -0x10(%ebp),%eax
13788 4000b972:       0f 87 67 ff ff ff       ja     4000b8df <path_output+0xfb>
13789 4000b978:       8b 45 f4                mov    -0xc(%ebp),%eax
13790 4000b97b:       8b 55 0c                mov    0xc(%ebp),%edx
13791 4000b97e:       8d 04 02                lea    (%edx,%eax,1),%eax
13792 4000b981:       c6 00 00                movb   $0x0,(%eax)
13793 4000b984:       8b 45 0c                mov    0xc(%ebp),%eax
13794 4000b987:       89 45 dc                mov    %eax,-0x24(%ebp)
13795 4000b98a:       eb 2d                   jmp    4000b9b9 <path_output+0x1d5>
13796 4000b98c:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
13797 4000b990:       75 11                   jne    4000b9a3 <path_output+0x1bf>
13798 4000b992:       c7 04 24 c2 f1 00 40    movl   $0x4000f1c2,(%esp)
13799 4000b999:       e8 3b f0 ff ff          call   4000a9d9 <strdup>
13800 4000b99e:       89 45 dc                mov    %eax,-0x24(%ebp)
13801 4000b9a1:       eb 16                   jmp    4000b9b9 <path_output+0x1d5>
13802 4000b9a3:       c7 44 24 04 c2 f1 00    movl   $0x4000f1c2,0x4(%esp)
13803 4000b9aa:       40 
13804 4000b9ab:       8b 45 0c                mov    0xc(%ebp),%eax
13805 4000b9ae:       89 04 24                mov    %eax,(%esp)
13806 4000b9b1:       e8 db ef ff ff          call   4000a991 <strcpy>
13807 4000b9b6:       89 45 dc                mov    %eax,-0x24(%ebp)
13808 4000b9b9:       8b 45 dc                mov    -0x24(%ebp),%eax
13809 4000b9bc:       c9                      leave  
13810 4000b9bd:       c3                      ret    
13812 4000b9be <path_compare>:
13813 4000b9be:       55                      push   %ebp
13814 4000b9bf:       89 e5                   mov    %esp,%ebp
13815 4000b9c1:       83 ec 28                sub    $0x28,%esp
13816 4000b9c4:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
13817 4000b9c8:       74 06                   je     4000b9d0 <path_compare+0x12>
13818 4000b9ca:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
13819 4000b9ce:       75 0c                   jne    4000b9dc <path_compare+0x1e>
13820 4000b9d0:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
13821 4000b9d7:       e9 00 01 00 00          jmp    4000badc <path_compare+0x11e>
13822 4000b9dc:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
13823 4000b9e3:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
13824 4000b9ea:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
13825 4000b9f1:       8b 45 08                mov    0x8(%ebp),%eax
13826 4000b9f4:       8b 50 0c                mov    0xc(%eax),%edx
13827 4000b9f7:       8b 45 0c                mov    0xc(%ebp),%eax
13828 4000b9fa:       8b 40 0c                mov    0xc(%eax),%eax
13829 4000b9fd:       39 c2                   cmp    %eax,%edx
13830 4000b9ff:       0f 84 b9 00 00 00       je     4000babe <path_compare+0x100>
13831 4000ba05:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
13832 4000ba0c:       e9 cb 00 00 00          jmp    4000badc <path_compare+0x11e>
13833 4000ba11:       8b 45 08                mov    0x8(%ebp),%eax
13834 4000ba14:       8b 50 04                mov    0x4(%eax),%edx
13835 4000ba17:       8b 45 f4                mov    -0xc(%ebp),%eax
13836 4000ba1a:       c1 e0 02                shl    $0x2,%eax
13837 4000ba1d:       8d 04 02                lea    (%edx,%eax,1),%eax
13838 4000ba20:       8b 00                   mov    (%eax),%eax
13839 4000ba22:       0f b6 00                movzbl (%eax),%eax
13840 4000ba25:       84 c0                   test   %al,%al
13841 4000ba27:       75 09                   jne    4000ba32 <path_compare+0x74>
13842 4000ba29:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
13843 4000ba2d:       e9 8c 00 00 00          jmp    4000babe <path_compare+0x100>
13844 4000ba32:       8b 45 0c                mov    0xc(%ebp),%eax
13845 4000ba35:       8b 50 04                mov    0x4(%eax),%edx
13846 4000ba38:       8b 45 f8                mov    -0x8(%ebp),%eax
13847 4000ba3b:       c1 e0 02                shl    $0x2,%eax
13848 4000ba3e:       8d 04 02                lea    (%edx,%eax,1),%eax
13849 4000ba41:       8b 00                   mov    (%eax),%eax
13850 4000ba43:       0f b6 00                movzbl (%eax),%eax
13851 4000ba46:       84 c0                   test   %al,%al
13852 4000ba48:       75 06                   jne    4000ba50 <path_compare+0x92>
13853 4000ba4a:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
13854 4000ba4e:       eb 6e                   jmp    4000babe <path_compare+0x100>
13855 4000ba50:       8b 45 0c                mov    0xc(%ebp),%eax
13856 4000ba53:       8b 50 04                mov    0x4(%eax),%edx
13857 4000ba56:       8b 45 f8                mov    -0x8(%ebp),%eax
13858 4000ba59:       c1 e0 02                shl    $0x2,%eax
13859 4000ba5c:       8d 04 02                lea    (%edx,%eax,1),%eax
13860 4000ba5f:       8b 00                   mov    (%eax),%eax
13861 4000ba61:       0f b6 00                movzbl (%eax),%eax
13862 4000ba64:       84 c0                   test   %al,%al
13863 4000ba66:       74 4a                   je     4000bab2 <path_compare+0xf4>
13864 4000ba68:       8b 45 0c                mov    0xc(%ebp),%eax
13865 4000ba6b:       8b 50 04                mov    0x4(%eax),%edx
13866 4000ba6e:       8b 45 f8                mov    -0x8(%ebp),%eax
13867 4000ba71:       c1 e0 02                shl    $0x2,%eax
13868 4000ba74:       8d 04 02                lea    (%edx,%eax,1),%eax
13869 4000ba77:       8b 00                   mov    (%eax),%eax
13870 4000ba79:       0f b6 00                movzbl (%eax),%eax
13871 4000ba7c:       84 c0                   test   %al,%al
13872 4000ba7e:       74 32                   je     4000bab2 <path_compare+0xf4>
13873 4000ba80:       8b 45 0c                mov    0xc(%ebp),%eax
13874 4000ba83:       8b 50 04                mov    0x4(%eax),%edx
13875 4000ba86:       8b 45 f8                mov    -0x8(%ebp),%eax
13876 4000ba89:       c1 e0 02                shl    $0x2,%eax
13877 4000ba8c:       8d 04 02                lea    (%edx,%eax,1),%eax
13878 4000ba8f:       8b 08                   mov    (%eax),%ecx
13879 4000ba91:       8b 45 08                mov    0x8(%ebp),%eax
13880 4000ba94:       8b 50 04                mov    0x4(%eax),%edx
13881 4000ba97:       8b 45 f4                mov    -0xc(%ebp),%eax
13882 4000ba9a:       c1 e0 02                shl    $0x2,%eax
13883 4000ba9d:       8d 04 02                lea    (%edx,%eax,1),%eax
13884 4000baa0:       8b 00                   mov    (%eax),%eax
13885 4000baa2:       89 4c 24 04             mov    %ecx,0x4(%esp)
13886 4000baa6:       89 04 24                mov    %eax,(%esp)
13887 4000baa9:       e8 56 ee ff ff          call   4000a904 <strcmp>
13888 4000baae:       85 c0                   test   %eax,%eax
13889 4000bab0:       75 24                   jne    4000bad6 <path_compare+0x118>
13890 4000bab2:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
13891 4000bab6:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
13892 4000baba:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
13893 4000babe:       8b 45 08                mov    0x8(%ebp),%eax
13894 4000bac1:       8b 00                   mov    (%eax),%eax
13895 4000bac3:       3b 45 f4                cmp    -0xc(%ebp),%eax
13896 4000bac6:       76 0e                   jbe    4000bad6 <path_compare+0x118>
13897 4000bac8:       8b 45 0c                mov    0xc(%ebp),%eax
13898 4000bacb:       8b 00                   mov    (%eax),%eax
13899 4000bacd:       3b 45 f8                cmp    -0x8(%ebp),%eax
13900 4000bad0:       0f 87 3b ff ff ff       ja     4000ba11 <path_compare+0x53>
13901 4000bad6:       8b 45 fc                mov    -0x4(%ebp),%eax
13902 4000bad9:       89 45 ec                mov    %eax,-0x14(%ebp)
13903 4000badc:       8b 45 ec                mov    -0x14(%ebp),%eax
13904 4000badf:       c9                      leave  
13905 4000bae0:       c3                      ret    
13907 4000bae1 <path_cat>:
13908 4000bae1:       55                      push   %ebp
13909 4000bae2:       89 e5                   mov    %esp,%ebp
13910 4000bae4:       83 ec 38                sub    $0x38,%esp
13911 4000bae7:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
13912 4000baeb:       74 06                   je     4000baf3 <path_cat+0x12>
13913 4000baed:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
13914 4000baf1:       75 0c                   jne    4000baff <path_cat+0x1e>
13915 4000baf3:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
13916 4000bafa:       e9 f2 01 00 00          jmp    4000bcf1 <path_cat+0x210>
13917 4000baff:       c7 04 24 10 00 00 00    movl   $0x10,(%esp)
13918 4000bb06:       e8 c9 b9 ff ff          call   400074d4 <malloc>
13919 4000bb0b:       89 45 ec                mov    %eax,-0x14(%ebp)
13920 4000bb0e:       8b 45 08                mov    0x8(%ebp),%eax
13921 4000bb11:       8b 50 0c                mov    0xc(%eax),%edx
13922 4000bb14:       8b 45 ec                mov    -0x14(%ebp),%eax
13923 4000bb17:       89 50 0c                mov    %edx,0xc(%eax)
13924 4000bb1a:       8b 45 08                mov    0x8(%ebp),%eax
13925 4000bb1d:       8b 10                   mov    (%eax),%edx
13926 4000bb1f:       8b 45 0c                mov    0xc(%ebp),%eax
13927 4000bb22:       8b 00                   mov    (%eax),%eax
13928 4000bb24:       01 c2                   add    %eax,%edx
13929 4000bb26:       8b 45 ec                mov    -0x14(%ebp),%eax
13930 4000bb29:       89 10                   mov    %edx,(%eax)
13931 4000bb2b:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
13932 4000bb32:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
13933 4000bb39:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
13934 4000bb40:       eb 26                   jmp    4000bb68 <path_cat+0x87>
13935 4000bb42:       8b 45 08                mov    0x8(%ebp),%eax
13936 4000bb45:       8b 50 04                mov    0x4(%eax),%edx
13937 4000bb48:       8b 45 f0                mov    -0x10(%ebp),%eax
13938 4000bb4b:       c1 e0 02                shl    $0x2,%eax
13939 4000bb4e:       8d 04 02                lea    (%edx,%eax,1),%eax
13940 4000bb51:       8b 00                   mov    (%eax),%eax
13941 4000bb53:       89 04 24                mov    %eax,(%esp)
13942 4000bb56:       e8 c9 ee ff ff          call   4000aa24 <strlen>
13943 4000bb5b:       03 45 f8                add    -0x8(%ebp),%eax
13944 4000bb5e:       83 c0 01                add    $0x1,%eax
13945 4000bb61:       89 45 f8                mov    %eax,-0x8(%ebp)
13946 4000bb64:       83 45 f0 01             addl   $0x1,-0x10(%ebp)
13947 4000bb68:       8b 45 08                mov    0x8(%ebp),%eax
13948 4000bb6b:       8b 00                   mov    (%eax),%eax
13949 4000bb6d:       3b 45 f0                cmp    -0x10(%ebp),%eax
13950 4000bb70:       77 d0                   ja     4000bb42 <path_cat+0x61>
13951 4000bb72:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
13952 4000bb79:       eb 26                   jmp    4000bba1 <path_cat+0xc0>
13953 4000bb7b:       8b 45 0c                mov    0xc(%ebp),%eax
13954 4000bb7e:       8b 50 04                mov    0x4(%eax),%edx
13955 4000bb81:       8b 45 f0                mov    -0x10(%ebp),%eax
13956 4000bb84:       c1 e0 02                shl    $0x2,%eax
13957 4000bb87:       8d 04 02                lea    (%edx,%eax,1),%eax
13958 4000bb8a:       8b 00                   mov    (%eax),%eax
13959 4000bb8c:       89 04 24                mov    %eax,(%esp)
13960 4000bb8f:       e8 90 ee ff ff          call   4000aa24 <strlen>
13961 4000bb94:       03 45 fc                add    -0x4(%ebp),%eax
13962 4000bb97:       83 c0 01                add    $0x1,%eax
13963 4000bb9a:       89 45 fc                mov    %eax,-0x4(%ebp)
13964 4000bb9d:       83 45 f0 01             addl   $0x1,-0x10(%ebp)
13965 4000bba1:       8b 45 0c                mov    0xc(%ebp),%eax
13966 4000bba4:       8b 00                   mov    (%eax),%eax
13967 4000bba6:       3b 45 f0                cmp    -0x10(%ebp),%eax
13968 4000bba9:       77 d0                   ja     4000bb7b <path_cat+0x9a>
13969 4000bbab:       8b 55 fc                mov    -0x4(%ebp),%edx
13970 4000bbae:       8b 45 f8                mov    -0x8(%ebp),%eax
13971 4000bbb1:       01 d0                   add    %edx,%eax
13972 4000bbb3:       89 04 24                mov    %eax,(%esp)
13973 4000bbb6:       e8 19 b9 ff ff          call   400074d4 <malloc>
13974 4000bbbb:       89 c2                   mov    %eax,%edx
13975 4000bbbd:       8b 45 ec                mov    -0x14(%ebp),%eax
13976 4000bbc0:       89 50 08                mov    %edx,0x8(%eax)
13977 4000bbc3:       8b 45 ec                mov    -0x14(%ebp),%eax
13978 4000bbc6:       8b 00                   mov    (%eax),%eax
13979 4000bbc8:       c1 e0 02                shl    $0x2,%eax
13980 4000bbcb:       89 04 24                mov    %eax,(%esp)
13981 4000bbce:       e8 01 b9 ff ff          call   400074d4 <malloc>
13982 4000bbd3:       89 c2                   mov    %eax,%edx
13983 4000bbd5:       8b 45 ec                mov    -0x14(%ebp),%eax
13984 4000bbd8:       89 50 04                mov    %edx,0x4(%eax)
13985 4000bbdb:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
13986 4000bbe2:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
13987 4000bbe9:       eb 6f                   jmp    4000bc5a <path_cat+0x179>
13988 4000bbeb:       8b 45 08                mov    0x8(%ebp),%eax
13989 4000bbee:       8b 50 04                mov    0x4(%eax),%edx
13990 4000bbf1:       8b 45 f0                mov    -0x10(%ebp),%eax
13991 4000bbf4:       c1 e0 02                shl    $0x2,%eax
13992 4000bbf7:       8d 04 02                lea    (%edx,%eax,1),%eax
13993 4000bbfa:       8b 10                   mov    (%eax),%edx
13994 4000bbfc:       8b 45 ec                mov    -0x14(%ebp),%eax
13995 4000bbff:       8b 40 08                mov    0x8(%eax),%eax
13996 4000bc02:       03 45 f4                add    -0xc(%ebp),%eax
13997 4000bc05:       89 54 24 04             mov    %edx,0x4(%esp)
13998 4000bc09:       89 04 24                mov    %eax,(%esp)
13999 4000bc0c:       e8 80 ed ff ff          call   4000a991 <strcpy>
14000 4000bc11:       8b 45 ec                mov    -0x14(%ebp),%eax
14001 4000bc14:       8b 50 04                mov    0x4(%eax),%edx
14002 4000bc17:       8b 45 f0                mov    -0x10(%ebp),%eax
14003 4000bc1a:       c1 e0 02                shl    $0x2,%eax
14004 4000bc1d:       01 c2                   add    %eax,%edx
14005 4000bc1f:       8b 45 ec                mov    -0x14(%ebp),%eax
14006 4000bc22:       8b 40 08                mov    0x8(%eax),%eax
14007 4000bc25:       03 45 f4                add    -0xc(%ebp),%eax
14008 4000bc28:       89 02                   mov    %eax,(%edx)
14009 4000bc2a:       8b 45 08                mov    0x8(%ebp),%eax
14010 4000bc2d:       8b 50 04                mov    0x4(%eax),%edx
14011 4000bc30:       8b 45 f0                mov    -0x10(%ebp),%eax
14012 4000bc33:       c1 e0 02                shl    $0x2,%eax
14013 4000bc36:       8d 04 02                lea    (%edx,%eax,1),%eax
14014 4000bc39:       8b 00                   mov    (%eax),%eax
14015 4000bc3b:       89 04 24                mov    %eax,(%esp)
14016 4000bc3e:       e8 e1 ed ff ff          call   4000aa24 <strlen>
14017 4000bc43:       01 45 f4                add    %eax,-0xc(%ebp)
14018 4000bc46:       8b 45 ec                mov    -0x14(%ebp),%eax
14019 4000bc49:       8b 40 08                mov    0x8(%eax),%eax
14020 4000bc4c:       03 45 f4                add    -0xc(%ebp),%eax
14021 4000bc4f:       c6 00 00                movb   $0x0,(%eax)
14022 4000bc52:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
14023 4000bc56:       83 45 f0 01             addl   $0x1,-0x10(%ebp)
14024 4000bc5a:       8b 45 08                mov    0x8(%ebp),%eax
14025 4000bc5d:       8b 00                   mov    (%eax),%eax
14026 4000bc5f:       3b 45 f0                cmp    -0x10(%ebp),%eax
14027 4000bc62:       77 87                   ja     4000bbeb <path_cat+0x10a>
14028 4000bc64:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
14029 4000bc6b:       eb 74                   jmp    4000bce1 <path_cat+0x200>
14030 4000bc6d:       8b 45 0c                mov    0xc(%ebp),%eax
14031 4000bc70:       8b 50 04                mov    0x4(%eax),%edx
14032 4000bc73:       8b 45 f0                mov    -0x10(%ebp),%eax
14033 4000bc76:       c1 e0 02                shl    $0x2,%eax
14034 4000bc79:       8d 04 02                lea    (%edx,%eax,1),%eax
14035 4000bc7c:       8b 10                   mov    (%eax),%edx
14036 4000bc7e:       8b 45 ec                mov    -0x14(%ebp),%eax
14037 4000bc81:       8b 40 08                mov    0x8(%eax),%eax
14038 4000bc84:       03 45 f4                add    -0xc(%ebp),%eax
14039 4000bc87:       89 54 24 04             mov    %edx,0x4(%esp)
14040 4000bc8b:       89 04 24                mov    %eax,(%esp)
14041 4000bc8e:       e8 fe ec ff ff          call   4000a991 <strcpy>
14042 4000bc93:       8b 45 ec                mov    -0x14(%ebp),%eax
14043 4000bc96:       8b 50 04                mov    0x4(%eax),%edx
14044 4000bc99:       8b 45 08                mov    0x8(%ebp),%eax
14045 4000bc9c:       8b 00                   mov    (%eax),%eax
14046 4000bc9e:       03 45 f0                add    -0x10(%ebp),%eax
14047 4000bca1:       c1 e0 02                shl    $0x2,%eax
14048 4000bca4:       01 c2                   add    %eax,%edx
14049 4000bca6:       8b 45 ec                mov    -0x14(%ebp),%eax
14050 4000bca9:       8b 40 08                mov    0x8(%eax),%eax
14051 4000bcac:       03 45 f4                add    -0xc(%ebp),%eax
14052 4000bcaf:       89 02                   mov    %eax,(%edx)
14053 4000bcb1:       8b 45 0c                mov    0xc(%ebp),%eax
14054 4000bcb4:       8b 50 04                mov    0x4(%eax),%edx
14055 4000bcb7:       8b 45 f0                mov    -0x10(%ebp),%eax
14056 4000bcba:       c1 e0 02                shl    $0x2,%eax
14057 4000bcbd:       8d 04 02                lea    (%edx,%eax,1),%eax
14058 4000bcc0:       8b 00                   mov    (%eax),%eax
14059 4000bcc2:       89 04 24                mov    %eax,(%esp)
14060 4000bcc5:       e8 5a ed ff ff          call   4000aa24 <strlen>
14061 4000bcca:       01 45 f4                add    %eax,-0xc(%ebp)
14062 4000bccd:       8b 45 ec                mov    -0x14(%ebp),%eax
14063 4000bcd0:       8b 40 08                mov    0x8(%eax),%eax
14064 4000bcd3:       03 45 f4                add    -0xc(%ebp),%eax
14065 4000bcd6:       c6 00 00                movb   $0x0,(%eax)
14066 4000bcd9:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
14067 4000bcdd:       83 45 f0 01             addl   $0x1,-0x10(%ebp)
14068 4000bce1:       8b 45 0c                mov    0xc(%ebp),%eax
14069 4000bce4:       8b 00                   mov    (%eax),%eax
14070 4000bce6:       3b 45 f0                cmp    -0x10(%ebp),%eax
14071 4000bce9:       77 82                   ja     4000bc6d <path_cat+0x18c>
14072 4000bceb:       8b 45 ec                mov    -0x14(%ebp),%eax
14073 4000bcee:       89 45 dc                mov    %eax,-0x24(%ebp)
14074 4000bcf1:       8b 45 dc                mov    -0x24(%ebp),%eax
14075 4000bcf4:       c9                      leave  
14076 4000bcf5:       c3                      ret    
14078 4000bcf6 <path_parent>:
14079 4000bcf6:       55                      push   %ebp
14080 4000bcf7:       89 e5                   mov    %esp,%ebp
14081 4000bcf9:       8b 45 08                mov    0x8(%ebp),%eax
14082 4000bcfc:       8b 00                   mov    (%eax),%eax
14083 4000bcfe:       85 c0                   test   %eax,%eax
14084 4000bd00:       74 1f                   je     4000bd21 <path_parent+0x2b>
14085 4000bd02:       8b 45 08                mov    0x8(%ebp),%eax
14086 4000bd05:       8b 48 04                mov    0x4(%eax),%ecx
14087 4000bd08:       8b 45 08                mov    0x8(%ebp),%eax
14088 4000bd0b:       8b 10                   mov    (%eax),%edx
14089 4000bd0d:       b8 01 00 00 00          mov    $0x1,%eax
14090 4000bd12:       29 d0                   sub    %edx,%eax
14091 4000bd14:       c1 e0 02                shl    $0x2,%eax
14092 4000bd17:       f7 d8                   neg    %eax
14093 4000bd19:       8d 04 01                lea    (%ecx,%eax,1),%eax
14094 4000bd1c:       8b 00                   mov    (%eax),%eax
14095 4000bd1e:       c6 00 00                movb   $0x0,(%eax)
14096 4000bd21:       5d                      pop    %ebp
14097 4000bd22:       c3                      ret    
14098 4000bd23:       90                      nop    
14100 4000bd24 <getname>:
14101 4000bd24:       55                      push   %ebp
14102 4000bd25:       89 e5                   mov    %esp,%ebp
14103 4000bd27:       83 ec 28                sub    $0x28,%esp
14104 4000bd2a:       c7 44 24 10 00 00 00    movl   $0x0,0x10(%esp)
14105 4000bd31:       00 
14106 4000bd32:       c7 44 24 0c 00 00 00    movl   $0x0,0xc(%esp)
14107 4000bd39:       00 
14108 4000bd3a:       8b 45 08                mov    0x8(%ebp),%eax
14109 4000bd3d:       89 44 24 08             mov    %eax,0x8(%esp)
14110 4000bd41:       c7 44 24 04 03 00 00    movl   $0x3,0x4(%esp)
14111 4000bd48:       00 
14112 4000bd49:       c7 04 24 2f 00 00 00    movl   $0x2f,(%esp)
14113 4000bd50:       e8 7b 0c 00 00          call   4000c9d0 <syscall_call>
14114 4000bd55:       89 45 f8                mov    %eax,-0x8(%ebp)
14115 4000bd58:       8b 45 f8                mov    -0x8(%ebp),%eax
14116 4000bd5b:       89 04 24                mov    %eax,(%esp)
14117 4000bd5e:       e8 71 b7 ff ff          call   400074d4 <malloc>
14118 4000bd63:       89 45 fc                mov    %eax,-0x4(%ebp)
14119 4000bd66:       8b 45 f8                mov    -0x8(%ebp),%eax
14120 4000bd69:       89 44 24 10             mov    %eax,0x10(%esp)
14121 4000bd6d:       8b 45 fc                mov    -0x4(%ebp),%eax
14122 4000bd70:       89 44 24 0c             mov    %eax,0xc(%esp)
14123 4000bd74:       8b 45 08                mov    0x8(%ebp),%eax
14124 4000bd77:       89 44 24 08             mov    %eax,0x8(%esp)
14125 4000bd7b:       c7 44 24 04 03 00 00    movl   $0x3,0x4(%esp)
14126 4000bd82:       00 
14127 4000bd83:       c7 04 24 2f 00 00 00    movl   $0x2f,(%esp)
14128 4000bd8a:       e8 41 0c 00 00          call   4000c9d0 <syscall_call>
14129 4000bd8f:       8b 45 fc                mov    -0x4(%ebp),%eax
14130 4000bd92:       c9                      leave  
14131 4000bd93:       c3                      ret    
14133 4000bd94 <proc_mempagelist>:
14134 4000bd94:       55                      push   %ebp
14135 4000bd95:       89 e5                   mov    %esp,%ebp
14136 4000bd97:       83 ec 28                sub    $0x28,%esp
14137 4000bd9a:       c7 44 24 10 00 00 00    movl   $0x0,0x10(%esp)
14138 4000bda1:       00 
14139 4000bda2:       c7 44 24 0c 00 00 00    movl   $0x0,0xc(%esp)
14140 4000bda9:       00 
14141 4000bdaa:       8b 45 08                mov    0x8(%ebp),%eax
14142 4000bdad:       89 44 24 08             mov    %eax,0x8(%esp)
14143 4000bdb1:       c7 44 24 04 03 00 00    movl   $0x3,0x4(%esp)
14144 4000bdb8:       00 
14145 4000bdb9:       c7 04 24 3f 00 00 00    movl   $0x3f,(%esp)
14146 4000bdc0:       e8 0b 0c 00 00          call   4000c9d0 <syscall_call>
14147 4000bdc5:       89 45 f8                mov    %eax,-0x8(%ebp)
14148 4000bdc8:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
14149 4000bdcc:       7e 49                   jle    4000be17 <proc_mempagelist+0x83>
14150 4000bdce:       8b 45 f8                mov    -0x8(%ebp),%eax
14151 4000bdd1:       c1 e0 02                shl    $0x2,%eax
14152 4000bdd4:       89 04 24                mov    %eax,(%esp)
14153 4000bdd7:       e8 f8 b6 ff ff          call   400074d4 <malloc>
14154 4000bddc:       89 45 fc                mov    %eax,-0x4(%ebp)
14155 4000bddf:       8b 45 f8                mov    -0x8(%ebp),%eax
14156 4000bde2:       89 44 24 10             mov    %eax,0x10(%esp)
14157 4000bde6:       8b 45 fc                mov    -0x4(%ebp),%eax
14158 4000bde9:       89 44 24 0c             mov    %eax,0xc(%esp)
14159 4000bded:       8b 45 08                mov    0x8(%ebp),%eax
14160 4000bdf0:       89 44 24 08             mov    %eax,0x8(%esp)
14161 4000bdf4:       c7 44 24 04 03 00 00    movl   $0x3,0x4(%esp)
14162 4000bdfb:       00 
14163 4000bdfc:       c7 04 24 3f 00 00 00    movl   $0x3f,(%esp)
14164 4000be03:       e8 c8 0b 00 00          call   4000c9d0 <syscall_call>
14165 4000be08:       89 c2                   mov    %eax,%edx
14166 4000be0a:       8b 45 0c                mov    0xc(%ebp),%eax
14167 4000be0d:       89 10                   mov    %edx,(%eax)
14168 4000be0f:       8b 45 fc                mov    -0x4(%ebp),%eax
14169 4000be12:       89 45 ec                mov    %eax,-0x14(%ebp)
14170 4000be15:       eb 07                   jmp    4000be1e <proc_mempagelist+0x8a>
14171 4000be17:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
14172 4000be1e:       8b 45 ec                mov    -0x14(%ebp),%eax
14173 4000be21:       c9                      leave  
14174 4000be22:       c3                      ret    
14175 4000be23:       90                      nop    
14177 4000be24 <rpc_func_create>:
14178 4000be24:       55                      push   %ebp
14179 4000be25:       89 e5                   mov    %esp,%ebp
14180 4000be27:       83 ec 38                sub    $0x38,%esp
14181 4000be2a:       8b 45 14                mov    0x14(%ebp),%eax
14182 4000be2d:       89 44 24 14             mov    %eax,0x14(%esp)
14183 4000be31:       8b 45 10                mov    0x10(%ebp),%eax
14184 4000be34:       89 44 24 10             mov    %eax,0x10(%esp)
14185 4000be38:       8b 45 0c                mov    0xc(%ebp),%eax
14186 4000be3b:       89 44 24 0c             mov    %eax,0xc(%esp)
14187 4000be3f:       8b 45 08                mov    0x8(%ebp),%eax
14188 4000be42:       89 44 24 08             mov    %eax,0x8(%esp)
14189 4000be46:       c7 44 24 04 04 00 00    movl   $0x4,0x4(%esp)
14190 4000be4d:       00 
14191 4000be4e:       c7 04 24 21 00 00 00    movl   $0x21,(%esp)
14192 4000be55:       e8 76 0b 00 00          call   4000c9d0 <syscall_call>
14193 4000be5a:       89 45 fc                mov    %eax,-0x4(%ebp)
14194 4000be5d:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
14195 4000be61:       79 0c                   jns    4000be6f <rpc_func_create+0x4b>
14196 4000be63:       8b 45 fc                mov    -0x4(%ebp),%eax
14197 4000be66:       89 c2                   mov    %eax,%edx
14198 4000be68:       f7 da                   neg    %edx
14199 4000be6a:       89 55 ec                mov    %edx,-0x14(%ebp)
14200 4000be6d:       eb 07                   jmp    4000be76 <rpc_func_create+0x52>
14201 4000be6f:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
14202 4000be76:       8b 45 ec                mov    -0x14(%ebp),%eax
14203 4000be79:       a3 10 1c 01 40          mov    %eax,0x40011c10
14204 4000be7e:       8b 45 fc                mov    -0x4(%ebp),%eax
14205 4000be81:       c1 f8 1f                sar    $0x1f,%eax
14206 4000be84:       0b 45 fc                or     -0x4(%ebp),%eax
14207 4000be87:       c9                      leave  
14208 4000be88:       c3                      ret    
14210 4000be89 <rpc_func_destroy>:
14211 4000be89:       55                      push   %ebp
14212 4000be8a:       89 e5                   mov    %esp,%ebp
14213 4000be8c:       83 ec 28                sub    $0x28,%esp
14214 4000be8f:       8b 45 08                mov    0x8(%ebp),%eax
14215 4000be92:       89 44 24 08             mov    %eax,0x8(%esp)
14216 4000be96:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
14217 4000be9d:       00 
14218 4000be9e:       c7 04 24 22 00 00 00    movl   $0x22,(%esp)
14219 4000bea5:       e8 26 0b 00 00          call   4000c9d0 <syscall_call>
14220 4000beaa:       89 45 fc                mov    %eax,-0x4(%ebp)
14221 4000bead:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
14222 4000beb1:       79 0c                   jns    4000bebf <rpc_func_destroy+0x36>
14223 4000beb3:       8b 45 fc                mov    -0x4(%ebp),%eax
14224 4000beb6:       89 c2                   mov    %eax,%edx
14225 4000beb8:       f7 da                   neg    %edx
14226 4000beba:       89 55 ec                mov    %edx,-0x14(%ebp)
14227 4000bebd:       eb 07                   jmp    4000bec6 <rpc_func_destroy+0x3d>
14228 4000bebf:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
14229 4000bec6:       8b 45 ec                mov    -0x14(%ebp),%eax
14230 4000bec9:       a3 10 1c 01 40          mov    %eax,0x40011c10
14231 4000bece:       8b 45 fc                mov    -0x4(%ebp),%eax
14232 4000bed1:       c1 f8 1f                sar    $0x1f,%eax
14233 4000bed4:       0b 45 fc                or     -0x4(%ebp),%eax
14234 4000bed7:       c9                      leave  
14235 4000bed8:       c3                      ret    
14237 4000bed9 <rpc_vcall>:
14238 4000bed9:       55                      push   %ebp
14239 4000beda:       89 e5                   mov    %esp,%ebp
14240 4000bedc:       81 ec 68 01 00 00       sub    $0x168,%esp
14241 4000bee2:       c7 44 24 24 00 00 00    movl   $0x0,0x24(%esp)
14242 4000bee9:       00 
14243 4000beea:       c7 44 24 20 00 01 00    movl   $0x100,0x20(%esp)
14244 4000bef1:       00 
14245 4000bef2:       8d 85 e8 fe ff ff       lea    -0x118(%ebp),%eax
14246 4000bef8:       89 44 24 1c             mov    %eax,0x1c(%esp)
14247 4000befc:       8d 85 e4 fe ff ff       lea    -0x11c(%ebp),%eax
14248 4000bf02:       89 44 24 18             mov    %eax,0x18(%esp)
14249 4000bf06:       c7 44 24 14 00 00 00    movl   $0x0,0x14(%esp)
14250 4000bf0d:       00 
14251 4000bf0e:       c7 44 24 10 00 00 00    movl   $0x0,0x10(%esp)
14252 4000bf15:       00 
14253 4000bf16:       8b 45 08                mov    0x8(%ebp),%eax
14254 4000bf19:       89 44 24 0c             mov    %eax,0xc(%esp)
14255 4000bf1d:       c7 44 24 08 ff ff ff    movl   $0xffffffff,0x8(%esp)
14256 4000bf24:       ff 
14257 4000bf25:       c7 44 24 04 08 00 00    movl   $0x8,0x4(%esp)
14258 4000bf2c:       00 
14259 4000bf2d:       c7 04 24 23 00 00 00    movl   $0x23,(%esp)
14260 4000bf34:       e8 97 0a 00 00          call   4000c9d0 <syscall_call>
14261 4000bf39:       89 45 f0                mov    %eax,-0x10(%ebp)
14262 4000bf3c:       83 7d f0 00             cmpl   $0x0,-0x10(%ebp)
14263 4000bf40:       0f 88 89 04 00 00       js     4000c3cf <rpc_vcall+0x4f6>
14264 4000bf46:       8b 85 e4 fe ff ff       mov    -0x11c(%ebp),%eax
14265 4000bf4c:       89 04 24                mov    %eax,(%esp)
14266 4000bf4f:       e8 80 b5 ff ff          call   400074d4 <malloc>
14267 4000bf54:       89 04 24                mov    %eax,(%esp)
14268 4000bf57:       e8 e8 1e 00 00          call   4000de44 <pack_create>
14269 4000bf5c:       89 45 f8                mov    %eax,-0x8(%ebp)
14270 4000bf5f:       8d 85 e8 fe ff ff       lea    -0x118(%ebp),%eax
14271 4000bf65:       89 04 24                mov    %eax,(%esp)
14272 4000bf68:       e8 b7 ea ff ff          call   4000aa24 <strlen>
14273 4000bf6d:       c1 e0 02                shl    $0x2,%eax
14274 4000bf70:       89 04 24                mov    %eax,(%esp)
14275 4000bf73:       e8 5c b5 ff ff          call   400074d4 <malloc>
14276 4000bf78:       89 45 fc                mov    %eax,-0x4(%ebp)
14277 4000bf7b:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
14278 4000bf82:       e9 b6 01 00 00          jmp    4000c13d <rpc_vcall+0x264>
14279 4000bf87:       8b 45 f4                mov    -0xc(%ebp),%eax
14280 4000bf8a:       c1 e0 02                shl    $0x2,%eax
14281 4000bf8d:       89 c1                   mov    %eax,%ecx
14282 4000bf8f:       03 4d fc                add    -0x4(%ebp),%ecx
14283 4000bf92:       8b 55 10                mov    0x10(%ebp),%edx
14284 4000bf95:       8d 42 04                lea    0x4(%edx),%eax
14285 4000bf98:       89 45 10                mov    %eax,0x10(%ebp)
14286 4000bf9b:       89 d0                   mov    %edx,%eax
14287 4000bf9d:       8b 00                   mov    (%eax),%eax
14288 4000bf9f:       89 01                   mov    %eax,(%ecx)
14289 4000bfa1:       8b 45 f4                mov    -0xc(%ebp),%eax
14290 4000bfa4:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
14291 4000bfab:       ff 
14292 4000bfac:       3c 62                   cmp    $0x62,%al
14293 4000bfae:       75 26                   jne    4000bfd6 <rpc_vcall+0xfd>
14294 4000bfb0:       8b 45 f8                mov    -0x8(%ebp),%eax
14295 4000bfb3:       8b 00                   mov    (%eax),%eax
14296 4000bfb5:       89 c2                   mov    %eax,%edx
14297 4000bfb7:       8b 45 f4                mov    -0xc(%ebp),%eax
14298 4000bfba:       c1 e0 02                shl    $0x2,%eax
14299 4000bfbd:       03 45 fc                add    -0x4(%ebp),%eax
14300 4000bfc0:       8b 00                   mov    (%eax),%eax
14301 4000bfc2:       88 02                   mov    %al,(%edx)
14302 4000bfc4:       8b 45 f8                mov    -0x8(%ebp),%eax
14303 4000bfc7:       8b 00                   mov    (%eax),%eax
14304 4000bfc9:       8d 50 01                lea    0x1(%eax),%edx
14305 4000bfcc:       8b 45 f8                mov    -0x8(%ebp),%eax
14306 4000bfcf:       89 10                   mov    %edx,(%eax)
14307 4000bfd1:       e9 63 01 00 00          jmp    4000c139 <rpc_vcall+0x260>
14308 4000bfd6:       8b 45 f4                mov    -0xc(%ebp),%eax
14309 4000bfd9:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
14310 4000bfe0:       ff 
14311 4000bfe1:       3c 77                   cmp    $0x77,%al
14312 4000bfe3:       75 27                   jne    4000c00c <rpc_vcall+0x133>
14313 4000bfe5:       8b 45 f8                mov    -0x8(%ebp),%eax
14314 4000bfe8:       8b 00                   mov    (%eax),%eax
14315 4000bfea:       89 c2                   mov    %eax,%edx
14316 4000bfec:       8b 45 f4                mov    -0xc(%ebp),%eax
14317 4000bfef:       c1 e0 02                shl    $0x2,%eax
14318 4000bff2:       03 45 fc                add    -0x4(%ebp),%eax
14319 4000bff5:       8b 00                   mov    (%eax),%eax
14320 4000bff7:       66 89 02                mov    %ax,(%edx)
14321 4000bffa:       8b 45 f8                mov    -0x8(%ebp),%eax
14322 4000bffd:       8b 00                   mov    (%eax),%eax
14323 4000bfff:       8d 50 02                lea    0x2(%eax),%edx
14324 4000c002:       8b 45 f8                mov    -0x8(%ebp),%eax
14325 4000c005:       89 10                   mov    %edx,(%eax)
14326 4000c007:       e9 2d 01 00 00          jmp    4000c139 <rpc_vcall+0x260>
14327 4000c00c:       8b 45 f4                mov    -0xc(%ebp),%eax
14328 4000c00f:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
14329 4000c016:       ff 
14330 4000c017:       3c 64                   cmp    $0x64,%al
14331 4000c019:       75 26                   jne    4000c041 <rpc_vcall+0x168>
14332 4000c01b:       8b 45 f8                mov    -0x8(%ebp),%eax
14333 4000c01e:       8b 00                   mov    (%eax),%eax
14334 4000c020:       89 c2                   mov    %eax,%edx
14335 4000c022:       8b 45 f4                mov    -0xc(%ebp),%eax
14336 4000c025:       c1 e0 02                shl    $0x2,%eax
14337 4000c028:       03 45 fc                add    -0x4(%ebp),%eax
14338 4000c02b:       8b 00                   mov    (%eax),%eax
14339 4000c02d:       89 02                   mov    %eax,(%edx)
14340 4000c02f:       8b 45 f8                mov    -0x8(%ebp),%eax
14341 4000c032:       8b 00                   mov    (%eax),%eax
14342 4000c034:       8d 50 04                lea    0x4(%eax),%edx
14343 4000c037:       8b 45 f8                mov    -0x8(%ebp),%eax
14344 4000c03a:       89 10                   mov    %edx,(%eax)
14345 4000c03c:       e9 f8 00 00 00          jmp    4000c139 <rpc_vcall+0x260>
14346 4000c041:       8b 45 f4                mov    -0xc(%ebp),%eax
14347 4000c044:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
14348 4000c04b:       ff 
14349 4000c04c:       3c 63                   cmp    $0x63,%al
14350 4000c04e:       75 26                   jne    4000c076 <rpc_vcall+0x19d>
14351 4000c050:       8b 45 f8                mov    -0x8(%ebp),%eax
14352 4000c053:       8b 00                   mov    (%eax),%eax
14353 4000c055:       89 c2                   mov    %eax,%edx
14354 4000c057:       8b 45 f4                mov    -0xc(%ebp),%eax
14355 4000c05a:       c1 e0 02                shl    $0x2,%eax
14356 4000c05d:       03 45 fc                add    -0x4(%ebp),%eax
14357 4000c060:       8b 00                   mov    (%eax),%eax
14358 4000c062:       88 02                   mov    %al,(%edx)
14359 4000c064:       8b 45 f8                mov    -0x8(%ebp),%eax
14360 4000c067:       8b 00                   mov    (%eax),%eax
14361 4000c069:       8d 50 01                lea    0x1(%eax),%edx
14362 4000c06c:       8b 45 f8                mov    -0x8(%ebp),%eax
14363 4000c06f:       89 10                   mov    %edx,(%eax)
14364 4000c071:       e9 c3 00 00 00          jmp    4000c139 <rpc_vcall+0x260>
14365 4000c076:       8b 45 f4                mov    -0xc(%ebp),%eax
14366 4000c079:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
14367 4000c080:       ff 
14368 4000c081:       3c 73                   cmp    $0x73,%al
14369 4000c083:       75 27                   jne    4000c0ac <rpc_vcall+0x1d3>
14370 4000c085:       8b 45 f8                mov    -0x8(%ebp),%eax
14371 4000c088:       8b 00                   mov    (%eax),%eax
14372 4000c08a:       89 c2                   mov    %eax,%edx
14373 4000c08c:       8b 45 f4                mov    -0xc(%ebp),%eax
14374 4000c08f:       c1 e0 02                shl    $0x2,%eax
14375 4000c092:       03 45 fc                add    -0x4(%ebp),%eax
14376 4000c095:       8b 00                   mov    (%eax),%eax
14377 4000c097:       66 89 02                mov    %ax,(%edx)
14378 4000c09a:       8b 45 f8                mov    -0x8(%ebp),%eax
14379 4000c09d:       8b 00                   mov    (%eax),%eax
14380 4000c09f:       8d 50 02                lea    0x2(%eax),%edx
14381 4000c0a2:       8b 45 f8                mov    -0x8(%ebp),%eax
14382 4000c0a5:       89 10                   mov    %edx,(%eax)
14383 4000c0a7:       e9 8d 00 00 00          jmp    4000c139 <rpc_vcall+0x260>
14384 4000c0ac:       8b 45 f4                mov    -0xc(%ebp),%eax
14385 4000c0af:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
14386 4000c0b6:       ff 
14387 4000c0b7:       3c 69                   cmp    $0x69,%al
14388 4000c0b9:       75 23                   jne    4000c0de <rpc_vcall+0x205>
14389 4000c0bb:       8b 45 f8                mov    -0x8(%ebp),%eax
14390 4000c0be:       8b 00                   mov    (%eax),%eax
14391 4000c0c0:       89 c2                   mov    %eax,%edx
14392 4000c0c2:       8b 45 f4                mov    -0xc(%ebp),%eax
14393 4000c0c5:       c1 e0 02                shl    $0x2,%eax
14394 4000c0c8:       03 45 fc                add    -0x4(%ebp),%eax
14395 4000c0cb:       8b 00                   mov    (%eax),%eax
14396 4000c0cd:       89 02                   mov    %eax,(%edx)
14397 4000c0cf:       8b 45 f8                mov    -0x8(%ebp),%eax
14398 4000c0d2:       8b 00                   mov    (%eax),%eax
14399 4000c0d4:       8d 50 04                lea    0x4(%eax),%edx
14400 4000c0d7:       8b 45 f8                mov    -0x8(%ebp),%eax
14401 4000c0da:       89 10                   mov    %edx,(%eax)
14402 4000c0dc:       eb 5b                   jmp    4000c139 <rpc_vcall+0x260>
14403 4000c0de:       8b 45 f4                mov    -0xc(%ebp),%eax
14404 4000c0e1:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
14405 4000c0e8:       ff 
14406 4000c0e9:       3c 6c                   cmp    $0x6c,%al
14407 4000c0eb:       75 23                   jne    4000c110 <rpc_vcall+0x237>
14408 4000c0ed:       8b 45 f8                mov    -0x8(%ebp),%eax
14409 4000c0f0:       8b 00                   mov    (%eax),%eax
14410 4000c0f2:       89 c2                   mov    %eax,%edx
14411 4000c0f4:       8b 45 f4                mov    -0xc(%ebp),%eax
14412 4000c0f7:       c1 e0 02                shl    $0x2,%eax
14413 4000c0fa:       03 45 fc                add    -0x4(%ebp),%eax
14414 4000c0fd:       8b 00                   mov    (%eax),%eax
14415 4000c0ff:       89 02                   mov    %eax,(%edx)
14416 4000c101:       8b 45 f8                mov    -0x8(%ebp),%eax
14417 4000c104:       8b 00                   mov    (%eax),%eax
14418 4000c106:       8d 50 04                lea    0x4(%eax),%edx
14419 4000c109:       8b 45 f8                mov    -0x8(%ebp),%eax
14420 4000c10c:       89 10                   mov    %edx,(%eax)
14421 4000c10e:       eb 29                   jmp    4000c139 <rpc_vcall+0x260>
14422 4000c110:       8b 45 f4                mov    -0xc(%ebp),%eax
14423 4000c113:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
14424 4000c11a:       ff 
14425 4000c11b:       3c 24                   cmp    $0x24,%al
14426 4000c11d:       75 1a                   jne    4000c139 <rpc_vcall+0x260>
14427 4000c11f:       8b 45 f4                mov    -0xc(%ebp),%eax
14428 4000c122:       c1 e0 02                shl    $0x2,%eax
14429 4000c125:       03 45 fc                add    -0x4(%ebp),%eax
14430 4000c128:       8b 00                   mov    (%eax),%eax
14431 4000c12a:       89 44 24 04             mov    %eax,0x4(%esp)
14432 4000c12e:       8b 45 f8                mov    -0x8(%ebp),%eax
14433 4000c131:       89 04 24                mov    %eax,(%esp)
14434 4000c134:       e8 36 1d 00 00          call   4000de6f <packstr>
14435 4000c139:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
14436 4000c13d:       8b 45 f4                mov    -0xc(%ebp),%eax
14437 4000c140:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
14438 4000c147:       ff 
14439 4000c148:       84 c0                   test   %al,%al
14440 4000c14a:       0f 85 37 fe ff ff       jne    4000bf87 <rpc_vcall+0xae>
14441 4000c150:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
14442 4000c154:       74 0e                   je     4000c164 <rpc_vcall+0x28b>
14443 4000c156:       8b 45 f8                mov    -0x8(%ebp),%eax
14444 4000c159:       8b 40 04                mov    0x4(%eax),%eax
14445 4000c15c:       89 85 c8 fe ff ff       mov    %eax,-0x138(%ebp)
14446 4000c162:       eb 0a                   jmp    4000c16e <rpc_vcall+0x295>
14447 4000c164:       c7 85 c8 fe ff ff 00    movl   $0x0,-0x138(%ebp)
14448 4000c16b:       00 00 00 
14449 4000c16e:       8b 45 f8                mov    -0x8(%ebp),%eax
14450 4000c171:       8b 50 04                mov    0x4(%eax),%edx
14451 4000c174:       8d 45 e8                lea    -0x18(%ebp),%eax
14452 4000c177:       89 44 24 18             mov    %eax,0x18(%esp)
14453 4000c17b:       8b 85 c8 fe ff ff       mov    -0x138(%ebp),%eax
14454 4000c181:       89 44 24 14             mov    %eax,0x14(%esp)
14455 4000c185:       8d 45 ec                lea    -0x14(%ebp),%eax
14456 4000c188:       89 44 24 10             mov    %eax,0x10(%esp)
14457 4000c18c:       89 54 24 0c             mov    %edx,0xc(%esp)
14458 4000c190:       8b 45 f0                mov    -0x10(%ebp),%eax
14459 4000c193:       89 44 24 08             mov    %eax,0x8(%esp)
14460 4000c197:       c7 44 24 04 05 00 00    movl   $0x5,0x4(%esp)
14461 4000c19e:       00 
14462 4000c19f:       c7 04 24 24 00 00 00    movl   $0x24,(%esp)
14463 4000c1a6:       e8 25 08 00 00          call   4000c9d0 <syscall_call>
14464 4000c1ab:       85 c0                   test   %eax,%eax
14465 4000c1ad:       75 07                   jne    4000c1b6 <rpc_vcall+0x2dd>
14466 4000c1af:       c7 45 e8 01 00 00 00    movl   $0x1,-0x18(%ebp)
14467 4000c1b6:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
14468 4000c1ba:       0f 84 d6 01 00 00       je     4000c396 <rpc_vcall+0x4bd>
14469 4000c1c0:       8b 45 f8                mov    -0x8(%ebp),%eax
14470 4000c1c3:       8b 50 04                mov    0x4(%eax),%edx
14471 4000c1c6:       8b 45 f8                mov    -0x8(%ebp),%eax
14472 4000c1c9:       89 10                   mov    %edx,(%eax)
14473 4000c1cb:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
14474 4000c1d2:       e9 ac 01 00 00          jmp    4000c383 <rpc_vcall+0x4aa>
14475 4000c1d7:       8b 45 f4                mov    -0xc(%ebp),%eax
14476 4000c1da:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
14477 4000c1e1:       ff 
14478 4000c1e2:       3c 62                   cmp    $0x62,%al
14479 4000c1e4:       75 23                   jne    4000c209 <rpc_vcall+0x330>
14480 4000c1e6:       8b 45 f8                mov    -0x8(%ebp),%eax
14481 4000c1e9:       8b 00                   mov    (%eax),%eax
14482 4000c1eb:       0f b6 00                movzbl (%eax),%eax
14483 4000c1ee:       0f b6 c0                movzbl %al,%eax
14484 4000c1f1:       89 85 e0 fe ff ff       mov    %eax,-0x120(%ebp)
14485 4000c1f7:       8b 45 f8                mov    -0x8(%ebp),%eax
14486 4000c1fa:       8b 00                   mov    (%eax),%eax
14487 4000c1fc:       8d 50 01                lea    0x1(%eax),%edx
14488 4000c1ff:       8b 45 f8                mov    -0x8(%ebp),%eax
14489 4000c202:       89 10                   mov    %edx,(%eax)
14490 4000c204:       e9 76 01 00 00          jmp    4000c37f <rpc_vcall+0x4a6>
14491 4000c209:       8b 45 f4                mov    -0xc(%ebp),%eax
14492 4000c20c:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
14493 4000c213:       ff 
14494 4000c214:       3c 77                   cmp    $0x77,%al
14495 4000c216:       75 23                   jne    4000c23b <rpc_vcall+0x362>
14496 4000c218:       8b 45 f8                mov    -0x8(%ebp),%eax
14497 4000c21b:       8b 00                   mov    (%eax),%eax
14498 4000c21d:       0f b7 00                movzwl (%eax),%eax
14499 4000c220:       0f b7 c0                movzwl %ax,%eax
14500 4000c223:       89 85 e0 fe ff ff       mov    %eax,-0x120(%ebp)
14501 4000c229:       8b 45 f8                mov    -0x8(%ebp),%eax
14502 4000c22c:       8b 00                   mov    (%eax),%eax
14503 4000c22e:       8d 50 02                lea    0x2(%eax),%edx
14504 4000c231:       8b 45 f8                mov    -0x8(%ebp),%eax
14505 4000c234:       89 10                   mov    %edx,(%eax)
14506 4000c236:       e9 44 01 00 00          jmp    4000c37f <rpc_vcall+0x4a6>
14507 4000c23b:       8b 45 f4                mov    -0xc(%ebp),%eax
14508 4000c23e:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
14509 4000c245:       ff 
14510 4000c246:       3c 64                   cmp    $0x64,%al
14511 4000c248:       75 1f                   jne    4000c269 <rpc_vcall+0x390>
14512 4000c24a:       8b 45 f8                mov    -0x8(%ebp),%eax
14513 4000c24d:       8b 00                   mov    (%eax),%eax
14514 4000c24f:       8b 00                   mov    (%eax),%eax
14515 4000c251:       89 85 e0 fe ff ff       mov    %eax,-0x120(%ebp)
14516 4000c257:       8b 45 f8                mov    -0x8(%ebp),%eax
14517 4000c25a:       8b 00                   mov    (%eax),%eax
14518 4000c25c:       8d 50 04                lea    0x4(%eax),%edx
14519 4000c25f:       8b 45 f8                mov    -0x8(%ebp),%eax
14520 4000c262:       89 10                   mov    %edx,(%eax)
14521 4000c264:       e9 16 01 00 00          jmp    4000c37f <rpc_vcall+0x4a6>
14522 4000c269:       8b 45 f4                mov    -0xc(%ebp),%eax
14523 4000c26c:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
14524 4000c273:       ff 
14525 4000c274:       3c 63                   cmp    $0x63,%al
14526 4000c276:       75 23                   jne    4000c29b <rpc_vcall+0x3c2>
14527 4000c278:       8b 45 f8                mov    -0x8(%ebp),%eax
14528 4000c27b:       8b 00                   mov    (%eax),%eax
14529 4000c27d:       0f b6 00                movzbl (%eax),%eax
14530 4000c280:       0f be c0                movsbl %al,%eax
14531 4000c283:       89 85 e0 fe ff ff       mov    %eax,-0x120(%ebp)
14532 4000c289:       8b 45 f8                mov    -0x8(%ebp),%eax
14533 4000c28c:       8b 00                   mov    (%eax),%eax
14534 4000c28e:       8d 50 01                lea    0x1(%eax),%edx
14535 4000c291:       8b 45 f8                mov    -0x8(%ebp),%eax
14536 4000c294:       89 10                   mov    %edx,(%eax)
14537 4000c296:       e9 e4 00 00 00          jmp    4000c37f <rpc_vcall+0x4a6>
14538 4000c29b:       8b 45 f4                mov    -0xc(%ebp),%eax
14539 4000c29e:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
14540 4000c2a5:       ff 
14541 4000c2a6:       3c 73                   cmp    $0x73,%al
14542 4000c2a8:       75 21                   jne    4000c2cb <rpc_vcall+0x3f2>
14543 4000c2aa:       8b 45 f8                mov    -0x8(%ebp),%eax
14544 4000c2ad:       8b 00                   mov    (%eax),%eax
14545 4000c2af:       0f b7 00                movzwl (%eax),%eax
14546 4000c2b2:       98                      cwtl   
14547 4000c2b3:       89 85 e0 fe ff ff       mov    %eax,-0x120(%ebp)
14548 4000c2b9:       8b 45 f8                mov    -0x8(%ebp),%eax
14549 4000c2bc:       8b 00                   mov    (%eax),%eax
14550 4000c2be:       8d 50 02                lea    0x2(%eax),%edx
14551 4000c2c1:       8b 45 f8                mov    -0x8(%ebp),%eax
14552 4000c2c4:       89 10                   mov    %edx,(%eax)
14553 4000c2c6:       e9 b4 00 00 00          jmp    4000c37f <rpc_vcall+0x4a6>
14554 4000c2cb:       8b 45 f4                mov    -0xc(%ebp),%eax
14555 4000c2ce:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
14556 4000c2d5:       ff 
14557 4000c2d6:       3c 69                   cmp    $0x69,%al
14558 4000c2d8:       75 1f                   jne    4000c2f9 <rpc_vcall+0x420>
14559 4000c2da:       8b 45 f8                mov    -0x8(%ebp),%eax
14560 4000c2dd:       8b 00                   mov    (%eax),%eax
14561 4000c2df:       8b 00                   mov    (%eax),%eax
14562 4000c2e1:       89 85 e0 fe ff ff       mov    %eax,-0x120(%ebp)
14563 4000c2e7:       8b 45 f8                mov    -0x8(%ebp),%eax
14564 4000c2ea:       8b 00                   mov    (%eax),%eax
14565 4000c2ec:       8d 50 04                lea    0x4(%eax),%edx
14566 4000c2ef:       8b 45 f8                mov    -0x8(%ebp),%eax
14567 4000c2f2:       89 10                   mov    %edx,(%eax)
14568 4000c2f4:       e9 86 00 00 00          jmp    4000c37f <rpc_vcall+0x4a6>
14569 4000c2f9:       8b 45 f4                mov    -0xc(%ebp),%eax
14570 4000c2fc:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
14571 4000c303:       ff 
14572 4000c304:       3c 6c                   cmp    $0x6c,%al
14573 4000c306:       75 1c                   jne    4000c324 <rpc_vcall+0x44b>
14574 4000c308:       8b 45 f8                mov    -0x8(%ebp),%eax
14575 4000c30b:       8b 00                   mov    (%eax),%eax
14576 4000c30d:       8b 00                   mov    (%eax),%eax
14577 4000c30f:       89 85 e0 fe ff ff       mov    %eax,-0x120(%ebp)
14578 4000c315:       8b 45 f8                mov    -0x8(%ebp),%eax
14579 4000c318:       8b 00                   mov    (%eax),%eax
14580 4000c31a:       8d 50 04                lea    0x4(%eax),%edx
14581 4000c31d:       8b 45 f8                mov    -0x8(%ebp),%eax
14582 4000c320:       89 10                   mov    %edx,(%eax)
14583 4000c322:       eb 5b                   jmp    4000c37f <rpc_vcall+0x4a6>
14584 4000c324:       8b 45 f4                mov    -0xc(%ebp),%eax
14585 4000c327:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
14586 4000c32e:       ff 
14587 4000c32f:       3c 24                   cmp    $0x24,%al
14588 4000c331:       75 4c                   jne    4000c37f <rpc_vcall+0x4a6>
14589 4000c333:       8d 85 dc fe ff ff       lea    -0x124(%ebp),%eax
14590 4000c339:       89 44 24 04             mov    %eax,0x4(%esp)
14591 4000c33d:       8b 45 f8                mov    -0x8(%ebp),%eax
14592 4000c340:       89 04 24                mov    %eax,(%esp)
14593 4000c343:       e8 f7 1b 00 00          call   4000df3f <unpackstr>
14594 4000c348:       8b 45 f4                mov    -0xc(%ebp),%eax
14595 4000c34b:       c1 e0 02                shl    $0x2,%eax
14596 4000c34e:       03 45 fc                add    -0x4(%ebp),%eax
14597 4000c351:       8b 00                   mov    (%eax),%eax
14598 4000c353:       89 04 24                mov    %eax,(%esp)
14599 4000c356:       e8 c9 e6 ff ff          call   4000aa24 <strlen>
14600 4000c35b:       8d 50 01                lea    0x1(%eax),%edx
14601 4000c35e:       8b 8d dc fe ff ff       mov    -0x124(%ebp),%ecx
14602 4000c364:       8b 45 f4                mov    -0xc(%ebp),%eax
14603 4000c367:       c1 e0 02                shl    $0x2,%eax
14604 4000c36a:       03 45 fc                add    -0x4(%ebp),%eax
14605 4000c36d:       8b 00                   mov    (%eax),%eax
14606 4000c36f:       89 54 24 08             mov    %edx,0x8(%esp)
14607 4000c373:       89 4c 24 04             mov    %ecx,0x4(%esp)
14608 4000c377:       89 04 24                mov    %eax,(%esp)
14609 4000c37a:       e8 e5 e7 ff ff          call   4000ab64 <strncpy>
14610 4000c37f:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
14611 4000c383:       8b 45 f4                mov    -0xc(%ebp),%eax
14612 4000c386:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
14613 4000c38d:       ff 
14614 4000c38e:       84 c0                   test   %al,%al
14615 4000c390:       0f 85 41 fe ff ff       jne    4000c1d7 <rpc_vcall+0x2fe>
14616 4000c396:       c7 05 10 1c 01 40 00    movl   $0x0,0x40011c10
14617 4000c39d:       00 00 00 
14618 4000c3a0:       8b 45 fc                mov    -0x4(%ebp),%eax
14619 4000c3a3:       89 04 24                mov    %eax,(%esp)
14620 4000c3a6:       e8 e0 b5 ff ff          call   4000798b <free>
14621 4000c3ab:       8b 45 f8                mov    -0x8(%ebp),%eax
14622 4000c3ae:       8b 40 04                mov    0x4(%eax),%eax
14623 4000c3b1:       89 04 24                mov    %eax,(%esp)
14624 4000c3b4:       e8 d2 b5 ff ff          call   4000798b <free>
14625 4000c3b9:       8b 45 f8                mov    -0x8(%ebp),%eax
14626 4000c3bc:       89 04 24                mov    %eax,(%esp)
14627 4000c3bf:       e8 c7 b5 ff ff          call   4000798b <free>
14628 4000c3c4:       8b 45 ec                mov    -0x14(%ebp),%eax
14629 4000c3c7:       89 85 cc fe ff ff       mov    %eax,-0x134(%ebp)
14630 4000c3cd:       eb 14                   jmp    4000c3e3 <rpc_vcall+0x50a>
14631 4000c3cf:       c7 05 10 1c 01 40 1c    movl   $0x1c,0x40011c10
14632 4000c3d6:       00 00 00 
14633 4000c3d9:       c7 85 cc fe ff ff ff    movl   $0xffffffff,-0x134(%ebp)
14634 4000c3e0:       ff ff ff 
14635 4000c3e3:       8b 85 cc fe ff ff       mov    -0x134(%ebp),%eax
14636 4000c3e9:       c9                      leave  
14637 4000c3ea:       c3                      ret    
14639 4000c3eb <rpc_call>:
14640 4000c3eb:       55                      push   %ebp
14641 4000c3ec:       89 e5                   mov    %esp,%ebp
14642 4000c3ee:       83 ec 28                sub    $0x28,%esp
14643 4000c3f1:       8d 45 10                lea    0x10(%ebp),%eax
14644 4000c3f4:       89 45 f8                mov    %eax,-0x8(%ebp)
14645 4000c3f7:       8b 45 f8                mov    -0x8(%ebp),%eax
14646 4000c3fa:       89 44 24 08             mov    %eax,0x8(%esp)
14647 4000c3fe:       8b 45 0c                mov    0xc(%ebp),%eax
14648 4000c401:       89 44 24 04             mov    %eax,0x4(%esp)
14649 4000c405:       8b 45 08                mov    0x8(%ebp),%eax
14650 4000c408:       89 04 24                mov    %eax,(%esp)
14651 4000c40b:       e8 c9 fa ff ff          call   4000bed9 <rpc_vcall>
14652 4000c410:       89 45 fc                mov    %eax,-0x4(%ebp)
14653 4000c413:       8b 45 fc                mov    -0x4(%ebp),%eax
14654 4000c416:       c9                      leave  
14655 4000c417:       c3                      ret    
14657 4000c418 <rpc_vcallself>:
14658 4000c418:       55                      push   %ebp
14659 4000c419:       89 e5                   mov    %esp,%ebp
14660 4000c41b:       81 ec 58 01 00 00       sub    $0x158,%esp
14661 4000c421:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
14662 4000c428:       00 
14663 4000c429:       c7 04 24 28 00 00 00    movl   $0x28,(%esp)
14664 4000c430:       e8 9b 05 00 00          call   4000c9d0 <syscall_call>
14665 4000c435:       89 c2                   mov    %eax,%edx
14666 4000c437:       c7 44 24 24 01 00 00    movl   $0x1,0x24(%esp)
14667 4000c43e:       00 
14668 4000c43f:       c7 44 24 20 00 01 00    movl   $0x100,0x20(%esp)
14669 4000c446:       00 
14670 4000c447:       8d 85 ec fe ff ff       lea    -0x114(%ebp),%eax
14671 4000c44d:       89 44 24 1c             mov    %eax,0x1c(%esp)
14672 4000c451:       c7 44 24 18 00 00 00    movl   $0x0,0x18(%esp)
14673 4000c458:       00 
14674 4000c459:       c7 44 24 14 00 00 00    movl   $0x0,0x14(%esp)
14675 4000c460:       00 
14676 4000c461:       89 54 24 10             mov    %edx,0x10(%esp)
14677 4000c465:       8b 45 08                mov    0x8(%ebp),%eax
14678 4000c468:       89 44 24 0c             mov    %eax,0xc(%esp)
14679 4000c46c:       c7 44 24 08 ff ff ff    movl   $0xffffffff,0x8(%esp)
14680 4000c473:       ff 
14681 4000c474:       c7 44 24 04 08 00 00    movl   $0x8,0x4(%esp)
14682 4000c47b:       00 
14683 4000c47c:       c7 04 24 23 00 00 00    movl   $0x23,(%esp)
14684 4000c483:       e8 48 05 00 00          call   4000c9d0 <syscall_call>
14685 4000c488:       89 45 ec                mov    %eax,-0x14(%ebp)
14686 4000c48b:       83 7d ec 00             cmpl   $0x0,-0x14(%ebp)
14687 4000c48f:       0f 88 83 00 00 00       js     4000c518 <rpc_vcallself+0x100>
14688 4000c495:       8d 85 ec fe ff ff       lea    -0x114(%ebp),%eax
14689 4000c49b:       89 04 24                mov    %eax,(%esp)
14690 4000c49e:       e8 81 e5 ff ff          call   4000aa24 <strlen>
14691 4000c4a3:       89 45 f4                mov    %eax,-0xc(%ebp)
14692 4000c4a6:       8b 45 f4                mov    -0xc(%ebp),%eax
14693 4000c4a9:       c1 e0 02                shl    $0x2,%eax
14694 4000c4ac:       89 04 24                mov    %eax,(%esp)
14695 4000c4af:       e8 20 b0 ff ff          call   400074d4 <malloc>
14696 4000c4b4:       89 45 fc                mov    %eax,-0x4(%ebp)
14697 4000c4b7:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
14698 4000c4be:       eb 1e                   jmp    4000c4de <rpc_vcallself+0xc6>
14699 4000c4c0:       8b 45 f8                mov    -0x8(%ebp),%eax
14700 4000c4c3:       c1 e0 02                shl    $0x2,%eax
14701 4000c4c6:       89 c1                   mov    %eax,%ecx
14702 4000c4c8:       03 4d fc                add    -0x4(%ebp),%ecx
14703 4000c4cb:       8b 55 14                mov    0x14(%ebp),%edx
14704 4000c4ce:       8d 42 04                lea    0x4(%edx),%eax
14705 4000c4d1:       89 45 14                mov    %eax,0x14(%ebp)
14706 4000c4d4:       89 d0                   mov    %edx,%eax
14707 4000c4d6:       8b 00                   mov    (%eax),%eax
14708 4000c4d8:       89 01                   mov    %eax,(%ecx)
14709 4000c4da:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
14710 4000c4de:       8b 45 f8                mov    -0x8(%ebp),%eax
14711 4000c4e1:       3b 45 f4                cmp    -0xc(%ebp),%eax
14712 4000c4e4:       72 da                   jb     4000c4c0 <rpc_vcallself+0xa8>
14713 4000c4e6:       8b 45 f4                mov    -0xc(%ebp),%eax
14714 4000c4e9:       89 44 24 08             mov    %eax,0x8(%esp)
14715 4000c4ed:       8b 45 fc                mov    -0x4(%ebp),%eax
14716 4000c4f0:       89 44 24 04             mov    %eax,0x4(%esp)
14717 4000c4f4:       8b 45 0c                mov    0xc(%ebp),%eax
14718 4000c4f7:       89 04 24                mov    %eax,(%esp)
14719 4000c4fa:       e8 11 19 00 00          call   4000de10 <dyn_call>
14720 4000c4ff:       89 45 f0                mov    %eax,-0x10(%ebp)
14721 4000c502:       8b 45 fc                mov    -0x4(%ebp),%eax
14722 4000c505:       89 04 24                mov    %eax,(%esp)
14723 4000c508:       e8 7e b4 ff ff          call   4000798b <free>
14724 4000c50d:       8b 45 f0                mov    -0x10(%ebp),%eax
14725 4000c510:       89 85 dc fe ff ff       mov    %eax,-0x124(%ebp)
14726 4000c516:       eb 0a                   jmp    4000c522 <rpc_vcallself+0x10a>
14727 4000c518:       c7 85 dc fe ff ff ff    movl   $0xffffffff,-0x124(%ebp)
14728 4000c51f:       ff ff ff 
14729 4000c522:       8b 85 dc fe ff ff       mov    -0x124(%ebp),%eax
14730 4000c528:       c9                      leave  
14731 4000c529:       c3                      ret    
14733 4000c52a <rpc_callself>:
14734 4000c52a:       55                      push   %ebp
14735 4000c52b:       89 e5                   mov    %esp,%ebp
14736 4000c52d:       83 ec 28                sub    $0x28,%esp
14737 4000c530:       8d 45 14                lea    0x14(%ebp),%eax
14738 4000c533:       89 45 f8                mov    %eax,-0x8(%ebp)
14739 4000c536:       8b 45 f8                mov    -0x8(%ebp),%eax
14740 4000c539:       89 44 24 0c             mov    %eax,0xc(%esp)
14741 4000c53d:       8b 45 10                mov    0x10(%ebp),%eax
14742 4000c540:       89 44 24 08             mov    %eax,0x8(%esp)
14743 4000c544:       8b 45 0c                mov    0xc(%ebp),%eax
14744 4000c547:       89 44 24 04             mov    %eax,0x4(%esp)
14745 4000c54b:       8b 45 08                mov    0x8(%ebp),%eax
14746 4000c54e:       89 04 24                mov    %eax,(%esp)
14747 4000c551:       e8 c2 fe ff ff          call   4000c418 <rpc_vcallself>
14748 4000c556:       89 45 fc                mov    %eax,-0x4(%ebp)
14749 4000c559:       8b 45 fc                mov    -0x4(%ebp),%eax
14750 4000c55c:       c9                      leave  
14751 4000c55d:       c3                      ret    
14753 4000c55e <rpc_poll>:
14754 4000c55e:       55                      push   %ebp
14755 4000c55f:       89 e5                   mov    %esp,%ebp
14756 4000c561:       81 ec 58 01 00 00       sub    $0x158,%esp
14757 4000c567:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
14758 4000c56e:       00 
14759 4000c56f:       c7 04 24 28 00 00 00    movl   $0x28,(%esp)
14760 4000c576:       e8 55 04 00 00          call   4000c9d0 <syscall_call>
14761 4000c57b:       89 c2                   mov    %eax,%edx
14762 4000c57d:       c7 44 24 24 01 00 00    movl   $0x1,0x24(%esp)
14763 4000c584:       00 
14764 4000c585:       c7 44 24 20 00 01 00    movl   $0x100,0x20(%esp)
14765 4000c58c:       00 
14766 4000c58d:       8d 85 e8 fe ff ff       lea    -0x118(%ebp),%eax
14767 4000c593:       89 44 24 1c             mov    %eax,0x1c(%esp)
14768 4000c597:       8d 45 e8                lea    -0x18(%ebp),%eax
14769 4000c59a:       89 44 24 18             mov    %eax,0x18(%esp)
14770 4000c59e:       c7 44 24 14 01 00 00    movl   $0x1,0x14(%esp)
14771 4000c5a5:       00 
14772 4000c5a6:       89 54 24 10             mov    %edx,0x10(%esp)
14773 4000c5aa:       c7 44 24 0c 00 00 00    movl   $0x0,0xc(%esp)
14774 4000c5b1:       00 
14775 4000c5b2:       8b 45 08                mov    0x8(%ebp),%eax
14776 4000c5b5:       89 44 24 08             mov    %eax,0x8(%esp)
14777 4000c5b9:       c7 44 24 04 08 00 00    movl   $0x8,0x4(%esp)
14778 4000c5c0:       00 
14779 4000c5c1:       c7 04 24 23 00 00 00    movl   $0x23,(%esp)
14780 4000c5c8:       e8 03 04 00 00          call   4000c9d0 <syscall_call>
14781 4000c5cd:       89 45 08                mov    %eax,0x8(%ebp)
14782 4000c5d0:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
14783 4000c5d4:       0f 88 da 02 00 00       js     4000c8b4 <rpc_poll+0x356>
14784 4000c5da:       8d 85 e8 fe ff ff       lea    -0x118(%ebp),%eax
14785 4000c5e0:       89 04 24                mov    %eax,(%esp)
14786 4000c5e3:       e8 3c e4 ff ff          call   4000aa24 <strlen>
14787 4000c5e8:       89 45 ec                mov    %eax,-0x14(%ebp)
14788 4000c5eb:       8b 45 e8                mov    -0x18(%ebp),%eax
14789 4000c5ee:       89 04 24                mov    %eax,(%esp)
14790 4000c5f1:       e8 de ae ff ff          call   400074d4 <malloc>
14791 4000c5f6:       89 04 24                mov    %eax,(%esp)
14792 4000c5f9:       e8 46 18 00 00          call   4000de44 <pack_create>
14793 4000c5fe:       89 45 f0                mov    %eax,-0x10(%ebp)
14794 4000c601:       8b 45 f0                mov    -0x10(%ebp),%eax
14795 4000c604:       8b 40 04                mov    0x4(%eax),%eax
14796 4000c607:       c7 44 24 14 08 1c 01    movl   $0x40011c08,0x14(%esp)
14797 4000c60e:       40 
14798 4000c60f:       89 44 24 10             mov    %eax,0x10(%esp)
14799 4000c613:       8d 85 e4 fe ff ff       lea    -0x11c(%ebp),%eax
14800 4000c619:       89 44 24 0c             mov    %eax,0xc(%esp)
14801 4000c61d:       8b 45 08                mov    0x8(%ebp),%eax
14802 4000c620:       89 44 24 08             mov    %eax,0x8(%esp)
14803 4000c624:       c7 44 24 04 04 00 00    movl   $0x4,0x4(%esp)
14804 4000c62b:       00 
14805 4000c62c:       c7 04 24 25 00 00 00    movl   $0x25,(%esp)
14806 4000c633:       e8 98 03 00 00          call   4000c9d0 <syscall_call>
14807 4000c638:       85 c0                   test   %eax,%eax
14808 4000c63a:       0f 85 5b 02 00 00       jne    4000c89b <rpc_poll+0x33d>
14809 4000c640:       8b 45 ec                mov    -0x14(%ebp),%eax
14810 4000c643:       c1 e0 02                shl    $0x2,%eax
14811 4000c646:       89 04 24                mov    %eax,(%esp)
14812 4000c649:       e8 86 ae ff ff          call   400074d4 <malloc>
14813 4000c64e:       89 45 f8                mov    %eax,-0x8(%ebp)
14814 4000c651:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
14815 4000c658:       e9 a9 01 00 00          jmp    4000c806 <rpc_poll+0x2a8>
14816 4000c65d:       8b 45 fc                mov    -0x4(%ebp),%eax
14817 4000c660:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
14818 4000c667:       ff 
14819 4000c668:       3c 62                   cmp    $0x62,%al
14820 4000c66a:       75 2a                   jne    4000c696 <rpc_poll+0x138>
14821 4000c66c:       8b 45 fc                mov    -0x4(%ebp),%eax
14822 4000c66f:       c1 e0 02                shl    $0x2,%eax
14823 4000c672:       89 c2                   mov    %eax,%edx
14824 4000c674:       03 55 f8                add    -0x8(%ebp),%edx
14825 4000c677:       8b 45 f0                mov    -0x10(%ebp),%eax
14826 4000c67a:       8b 00                   mov    (%eax),%eax
14827 4000c67c:       0f b6 00                movzbl (%eax),%eax
14828 4000c67f:       0f b6 c0                movzbl %al,%eax
14829 4000c682:       89 02                   mov    %eax,(%edx)
14830 4000c684:       8b 45 f0                mov    -0x10(%ebp),%eax
14831 4000c687:       8b 00                   mov    (%eax),%eax
14832 4000c689:       8d 50 01                lea    0x1(%eax),%edx
14833 4000c68c:       8b 45 f0                mov    -0x10(%ebp),%eax
14834 4000c68f:       89 10                   mov    %edx,(%eax)
14835 4000c691:       e9 6c 01 00 00          jmp    4000c802 <rpc_poll+0x2a4>
14836 4000c696:       8b 45 fc                mov    -0x4(%ebp),%eax
14837 4000c699:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
14838 4000c6a0:       ff 
14839 4000c6a1:       3c 77                   cmp    $0x77,%al
14840 4000c6a3:       75 2a                   jne    4000c6cf <rpc_poll+0x171>
14841 4000c6a5:       8b 45 fc                mov    -0x4(%ebp),%eax
14842 4000c6a8:       c1 e0 02                shl    $0x2,%eax
14843 4000c6ab:       89 c2                   mov    %eax,%edx
14844 4000c6ad:       03 55 f8                add    -0x8(%ebp),%edx
14845 4000c6b0:       8b 45 f0                mov    -0x10(%ebp),%eax
14846 4000c6b3:       8b 00                   mov    (%eax),%eax
14847 4000c6b5:       0f b7 00                movzwl (%eax),%eax
14848 4000c6b8:       0f b7 c0                movzwl %ax,%eax
14849 4000c6bb:       89 02                   mov    %eax,(%edx)
14850 4000c6bd:       8b 45 f0                mov    -0x10(%ebp),%eax
14851 4000c6c0:       8b 00                   mov    (%eax),%eax
14852 4000c6c2:       8d 50 02                lea    0x2(%eax),%edx
14853 4000c6c5:       8b 45 f0                mov    -0x10(%ebp),%eax
14854 4000c6c8:       89 10                   mov    %edx,(%eax)
14855 4000c6ca:       e9 33 01 00 00          jmp    4000c802 <rpc_poll+0x2a4>
14856 4000c6cf:       8b 45 fc                mov    -0x4(%ebp),%eax
14857 4000c6d2:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
14858 4000c6d9:       ff 
14859 4000c6da:       3c 64                   cmp    $0x64,%al
14860 4000c6dc:       75 26                   jne    4000c704 <rpc_poll+0x1a6>
14861 4000c6de:       8b 45 fc                mov    -0x4(%ebp),%eax
14862 4000c6e1:       c1 e0 02                shl    $0x2,%eax
14863 4000c6e4:       89 c2                   mov    %eax,%edx
14864 4000c6e6:       03 55 f8                add    -0x8(%ebp),%edx
14865 4000c6e9:       8b 45 f0                mov    -0x10(%ebp),%eax
14866 4000c6ec:       8b 00                   mov    (%eax),%eax
14867 4000c6ee:       8b 00                   mov    (%eax),%eax
14868 4000c6f0:       89 02                   mov    %eax,(%edx)
14869 4000c6f2:       8b 45 f0                mov    -0x10(%ebp),%eax
14870 4000c6f5:       8b 00                   mov    (%eax),%eax
14871 4000c6f7:       8d 50 04                lea    0x4(%eax),%edx
14872 4000c6fa:       8b 45 f0                mov    -0x10(%ebp),%eax
14873 4000c6fd:       89 10                   mov    %edx,(%eax)
14874 4000c6ff:       e9 fe 00 00 00          jmp    4000c802 <rpc_poll+0x2a4>
14875 4000c704:       8b 45 fc                mov    -0x4(%ebp),%eax
14876 4000c707:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
14877 4000c70e:       ff 
14878 4000c70f:       3c 63                   cmp    $0x63,%al
14879 4000c711:       75 2a                   jne    4000c73d <rpc_poll+0x1df>
14880 4000c713:       8b 45 fc                mov    -0x4(%ebp),%eax
14881 4000c716:       c1 e0 02                shl    $0x2,%eax
14882 4000c719:       89 c2                   mov    %eax,%edx
14883 4000c71b:       03 55 f8                add    -0x8(%ebp),%edx
14884 4000c71e:       8b 45 f0                mov    -0x10(%ebp),%eax
14885 4000c721:       8b 00                   mov    (%eax),%eax
14886 4000c723:       0f b6 00                movzbl (%eax),%eax
14887 4000c726:       0f be c0                movsbl %al,%eax
14888 4000c729:       89 02                   mov    %eax,(%edx)
14889 4000c72b:       8b 45 f0                mov    -0x10(%ebp),%eax
14890 4000c72e:       8b 00                   mov    (%eax),%eax
14891 4000c730:       8d 50 01                lea    0x1(%eax),%edx
14892 4000c733:       8b 45 f0                mov    -0x10(%ebp),%eax
14893 4000c736:       89 10                   mov    %edx,(%eax)
14894 4000c738:       e9 c5 00 00 00          jmp    4000c802 <rpc_poll+0x2a4>
14895 4000c73d:       8b 45 fc                mov    -0x4(%ebp),%eax
14896 4000c740:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
14897 4000c747:       ff 
14898 4000c748:       3c 73                   cmp    $0x73,%al
14899 4000c74a:       75 28                   jne    4000c774 <rpc_poll+0x216>
14900 4000c74c:       8b 45 fc                mov    -0x4(%ebp),%eax
14901 4000c74f:       c1 e0 02                shl    $0x2,%eax
14902 4000c752:       89 c2                   mov    %eax,%edx
14903 4000c754:       03 55 f8                add    -0x8(%ebp),%edx
14904 4000c757:       8b 45 f0                mov    -0x10(%ebp),%eax
14905 4000c75a:       8b 00                   mov    (%eax),%eax
14906 4000c75c:       0f b7 00                movzwl (%eax),%eax
14907 4000c75f:       98                      cwtl   
14908 4000c760:       89 02                   mov    %eax,(%edx)
14909 4000c762:       8b 45 f0                mov    -0x10(%ebp),%eax
14910 4000c765:       8b 00                   mov    (%eax),%eax
14911 4000c767:       8d 50 02                lea    0x2(%eax),%edx
14912 4000c76a:       8b 45 f0                mov    -0x10(%ebp),%eax
14913 4000c76d:       89 10                   mov    %edx,(%eax)
14914 4000c76f:       e9 8e 00 00 00          jmp    4000c802 <rpc_poll+0x2a4>
14915 4000c774:       8b 45 fc                mov    -0x4(%ebp),%eax
14916 4000c777:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
14917 4000c77e:       ff 
14918 4000c77f:       3c 69                   cmp    $0x69,%al
14919 4000c781:       75 23                   jne    4000c7a6 <rpc_poll+0x248>
14920 4000c783:       8b 45 fc                mov    -0x4(%ebp),%eax
14921 4000c786:       c1 e0 02                shl    $0x2,%eax
14922 4000c789:       89 c2                   mov    %eax,%edx
14923 4000c78b:       03 55 f8                add    -0x8(%ebp),%edx
14924 4000c78e:       8b 45 f0                mov    -0x10(%ebp),%eax
14925 4000c791:       8b 00                   mov    (%eax),%eax
14926 4000c793:       8b 00                   mov    (%eax),%eax
14927 4000c795:       89 02                   mov    %eax,(%edx)
14928 4000c797:       8b 45 f0                mov    -0x10(%ebp),%eax
14929 4000c79a:       8b 00                   mov    (%eax),%eax
14930 4000c79c:       8d 50 04                lea    0x4(%eax),%edx
14931 4000c79f:       8b 45 f0                mov    -0x10(%ebp),%eax
14932 4000c7a2:       89 10                   mov    %edx,(%eax)
14933 4000c7a4:       eb 5c                   jmp    4000c802 <rpc_poll+0x2a4>
14934 4000c7a6:       8b 45 fc                mov    -0x4(%ebp),%eax
14935 4000c7a9:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
14936 4000c7b0:       ff 
14937 4000c7b1:       3c 6c                   cmp    $0x6c,%al
14938 4000c7b3:       75 23                   jne    4000c7d8 <rpc_poll+0x27a>
14939 4000c7b5:       8b 45 fc                mov    -0x4(%ebp),%eax
14940 4000c7b8:       c1 e0 02                shl    $0x2,%eax
14941 4000c7bb:       89 c2                   mov    %eax,%edx
14942 4000c7bd:       03 55 f8                add    -0x8(%ebp),%edx
14943 4000c7c0:       8b 45 f0                mov    -0x10(%ebp),%eax
14944 4000c7c3:       8b 00                   mov    (%eax),%eax
14945 4000c7c5:       8b 00                   mov    (%eax),%eax
14946 4000c7c7:       89 02                   mov    %eax,(%edx)
14947 4000c7c9:       8b 45 f0                mov    -0x10(%ebp),%eax
14948 4000c7cc:       8b 00                   mov    (%eax),%eax
14949 4000c7ce:       8d 50 04                lea    0x4(%eax),%edx
14950 4000c7d1:       8b 45 f0                mov    -0x10(%ebp),%eax
14951 4000c7d4:       89 10                   mov    %edx,(%eax)
14952 4000c7d6:       eb 2a                   jmp    4000c802 <rpc_poll+0x2a4>
14953 4000c7d8:       8b 45 fc                mov    -0x4(%ebp),%eax
14954 4000c7db:       0f b6 84 05 e8 fe ff    movzbl -0x118(%ebp,%eax,1),%eax
14955 4000c7e2:       ff 
14956 4000c7e3:       3c 24                   cmp    $0x24,%al
14957 4000c7e5:       75 1b                   jne    4000c802 <rpc_poll+0x2a4>
14958 4000c7e7:       8b 55 f8                mov    -0x8(%ebp),%edx
14959 4000c7ea:       8b 45 fc                mov    -0x4(%ebp),%eax
14960 4000c7ed:       c1 e0 02                shl    $0x2,%eax
14961 4000c7f0:       8d 04 02                lea    (%edx,%eax,1),%eax
14962 4000c7f3:       89 44 24 04             mov    %eax,0x4(%esp)
14963 4000c7f7:       8b 45 f0                mov    -0x10(%ebp),%eax
14964 4000c7fa:       89 04 24                mov    %eax,(%esp)
14965 4000c7fd:       e8 3d 17 00 00          call   4000df3f <unpackstr>
14966 4000c802:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
14967 4000c806:       8b 45 fc                mov    -0x4(%ebp),%eax
14968 4000c809:       3b 45 ec                cmp    -0x14(%ebp),%eax
14969 4000c80c:       0f 82 4b fe ff ff       jb     4000c65d <rpc_poll+0xff>
14970 4000c812:       8b 95 e4 fe ff ff       mov    -0x11c(%ebp),%edx
14971 4000c818:       8b 45 ec                mov    -0x14(%ebp),%eax
14972 4000c81b:       89 44 24 08             mov    %eax,0x8(%esp)
14973 4000c81f:       8b 45 f8                mov    -0x8(%ebp),%eax
14974 4000c822:       89 44 24 04             mov    %eax,0x4(%esp)
14975 4000c826:       89 14 24                mov    %edx,(%esp)
14976 4000c829:       e8 e2 15 00 00          call   4000de10 <dyn_call>
14977 4000c82e:       89 45 f4                mov    %eax,-0xc(%ebp)
14978 4000c831:       8b 45 f8                mov    -0x8(%ebp),%eax
14979 4000c834:       89 04 24                mov    %eax,(%esp)
14980 4000c837:       e8 4f b1 ff ff          call   4000798b <free>
14981 4000c83c:       8b 45 f0                mov    -0x10(%ebp),%eax
14982 4000c83f:       8b 40 04                mov    0x4(%eax),%eax
14983 4000c842:       89 44 24 10             mov    %eax,0x10(%esp)
14984 4000c846:       8b 45 f4                mov    -0xc(%ebp),%eax
14985 4000c849:       89 44 24 0c             mov    %eax,0xc(%esp)
14986 4000c84d:       8b 45 08                mov    0x8(%ebp),%eax
14987 4000c850:       89 44 24 08             mov    %eax,0x8(%esp)
14988 4000c854:       c7 44 24 04 03 00 00    movl   $0x3,0x4(%esp)
14989 4000c85b:       00 
14990 4000c85c:       c7 04 24 26 00 00 00    movl   $0x26,(%esp)
14991 4000c863:       e8 68 01 00 00          call   4000c9d0 <syscall_call>
14992 4000c868:       85 c0                   test   %eax,%eax
14993 4000c86a:       75 2f                   jne    4000c89b <rpc_poll+0x33d>
14994 4000c86c:       c7 05 10 1c 01 40 00    movl   $0x0,0x40011c10
14995 4000c873:       00 00 00 
14996 4000c876:       8b 45 f0                mov    -0x10(%ebp),%eax
14997 4000c879:       8b 40 04                mov    0x4(%eax),%eax
14998 4000c87c:       89 04 24                mov    %eax,(%esp)
14999 4000c87f:       e8 07 b1 ff ff          call   4000798b <free>
15000 4000c884:       8b 45 f0                mov    -0x10(%ebp),%eax
15001 4000c887:       89 04 24                mov    %eax,(%esp)
15002 4000c88a:       e8 fc b0 ff ff          call   4000798b <free>
15003 4000c88f:       c7 85 dc fe ff ff 00    movl   $0x0,-0x124(%ebp)
15004 4000c896:       00 00 00 
15005 4000c899:       eb 2d                   jmp    4000c8c8 <rpc_poll+0x36a>
15006 4000c89b:       8b 45 f0                mov    -0x10(%ebp),%eax
15007 4000c89e:       8b 40 04                mov    0x4(%eax),%eax
15008 4000c8a1:       89 04 24                mov    %eax,(%esp)
15009 4000c8a4:       e8 e2 b0 ff ff          call   4000798b <free>
15010 4000c8a9:       8b 45 f0                mov    -0x10(%ebp),%eax
15011 4000c8ac:       89 04 24                mov    %eax,(%esp)
15012 4000c8af:       e8 d7 b0 ff ff          call   4000798b <free>
15013 4000c8b4:       c7 05 10 1c 01 40 1c    movl   $0x1c,0x40011c10
15014 4000c8bb:       00 00 00 
15015 4000c8be:       c7 85 dc fe ff ff ff    movl   $0xffffffff,-0x124(%ebp)
15016 4000c8c5:       ff ff ff 
15017 4000c8c8:       8b 85 dc fe ff ff       mov    -0x124(%ebp),%eax
15018 4000c8ce:       c9                      leave  
15019 4000c8cf:       c3                      ret    
15021 4000c8d0 <rpc_mainloop>:
15022 4000c8d0:       55                      push   %ebp
15023 4000c8d1:       89 e5                   mov    %esp,%ebp
15024 4000c8d3:       83 ec 08                sub    $0x8,%esp
15025 4000c8d6:       e8 0d 00 00 00          call   4000c8e8 <init_ready>
15026 4000c8db:       8b 45 08                mov    0x8(%ebp),%eax
15027 4000c8de:       89 04 24                mov    %eax,(%esp)
15028 4000c8e1:       e8 78 fc ff ff          call   4000c55e <rpc_poll>
15029 4000c8e6:       eb f3                   jmp    4000c8db <rpc_mainloop+0xb>
15031 4000c8e8 <init_ready>:
15032 4000c8e8:       55                      push   %ebp
15033 4000c8e9:       89 e5                   mov    %esp,%ebp
15034 4000c8eb:       83 ec 08                sub    $0x8,%esp
15035 4000c8ee:       c7 44 24 04 0a 00 00    movl   $0xa,0x4(%esp)
15036 4000c8f5:       00 
15037 4000c8f6:       c7 04 24 01 00 00 00    movl   $0x1,(%esp)
15038 4000c8fd:       e8 02 00 00 00          call   4000c904 <kill>
15039 4000c902:       c9                      leave  
15040 4000c903:       c3                      ret    
15042 4000c904 <kill>:
15043 4000c904:       55                      push   %ebp
15044 4000c905:       89 e5                   mov    %esp,%ebp
15045 4000c907:       83 ec 18                sub    $0x18,%esp
15046 4000c90a:       8b 45 0c                mov    0xc(%ebp),%eax
15047 4000c90d:       89 44 24 0c             mov    %eax,0xc(%esp)
15048 4000c911:       8b 45 08                mov    0x8(%ebp),%eax
15049 4000c914:       89 44 24 08             mov    %eax,0x8(%esp)
15050 4000c918:       c7 44 24 04 02 00 00    movl   $0x2,0x4(%esp)
15051 4000c91f:       00 
15052 4000c920:       c7 04 24 4d 00 00 00    movl   $0x4d,(%esp)
15053 4000c927:       e8 a4 00 00 00          call   4000c9d0 <syscall_call>
15054 4000c92c:       c9                      leave  
15055 4000c92d:       c3                      ret    
15057 4000c92e <rpc_list>:
15058 4000c92e:       55                      push   %ebp
15059 4000c92f:       89 e5                   mov    %esp,%ebp
15060 4000c931:       83 ec 28                sub    $0x28,%esp
15061 4000c934:       e8 2b e7 ff ff          call   4000b064 <llist_create>
15062 4000c939:       89 45 f0                mov    %eax,-0x10(%ebp)
15063 4000c93c:       c7 45 f4 00 00 00 00    movl   $0x0,-0xc(%ebp)
15064 4000c943:       c7 44 24 10 00 00 00    movl   $0x0,0x10(%esp)
15065 4000c94a:       00 
15066 4000c94b:       c7 44 24 0c 00 00 00    movl   $0x0,0xc(%esp)
15067 4000c952:       00 
15068 4000c953:       8b 45 f4                mov    -0xc(%ebp),%eax
15069 4000c956:       89 44 24 08             mov    %eax,0x8(%esp)
15070 4000c95a:       c7 44 24 04 03 00 00    movl   $0x3,0x4(%esp)
15071 4000c961:       00 
15072 4000c962:       c7 04 24 27 00 00 00    movl   $0x27,(%esp)
15073 4000c969:       e8 62 00 00 00          call   4000c9d0 <syscall_call>
15074 4000c96e:       89 45 f8                mov    %eax,-0x8(%ebp)
15075 4000c971:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
15076 4000c975:       74 52                   je     4000c9c9 <rpc_list+0x9b>
15077 4000c977:       8b 45 f8                mov    -0x8(%ebp),%eax
15078 4000c97a:       89 04 24                mov    %eax,(%esp)
15079 4000c97d:       e8 52 ab ff ff          call   400074d4 <malloc>
15080 4000c982:       89 45 fc                mov    %eax,-0x4(%ebp)
15081 4000c985:       8b 45 f8                mov    -0x8(%ebp),%eax
15082 4000c988:       89 44 24 10             mov    %eax,0x10(%esp)
15083 4000c98c:       8b 45 fc                mov    -0x4(%ebp),%eax
15084 4000c98f:       89 44 24 0c             mov    %eax,0xc(%esp)
15085 4000c993:       8b 45 f4                mov    -0xc(%ebp),%eax
15086 4000c996:       89 44 24 08             mov    %eax,0x8(%esp)
15087 4000c99a:       c7 44 24 04 03 00 00    movl   $0x3,0x4(%esp)
15088 4000c9a1:       00 
15089 4000c9a2:       c7 04 24 27 00 00 00    movl   $0x27,(%esp)
15090 4000c9a9:       e8 22 00 00 00          call   4000c9d0 <syscall_call>
15091 4000c9ae:       8b 45 fc                mov    -0x4(%ebp),%eax
15092 4000c9b1:       89 44 24 04             mov    %eax,0x4(%esp)
15093 4000c9b5:       8b 45 f0                mov    -0x10(%ebp),%eax
15094 4000c9b8:       89 04 24                mov    %eax,(%esp)
15095 4000c9bb:       e8 1f e7 ff ff          call   4000b0df <llist_push>
15096 4000c9c0:       83 45 f4 01             addl   $0x1,-0xc(%ebp)
15097 4000c9c4:       e9 7a ff ff ff          jmp    4000c943 <rpc_list+0x15>
15098 4000c9c9:       8b 45 f0                mov    -0x10(%ebp),%eax
15099 4000c9cc:       c9                      leave  
15100 4000c9cd:       c3                      ret    
15101 4000c9ce:       90                      nop    
15102 4000c9cf:       90                      nop    
15104 4000c9d0 <syscall_call>:
15105 4000c9d0:       55                      push   %ebp
15106 4000c9d1:       89 e5                   mov    %esp,%ebp
15107 4000c9d3:       56                      push   %esi
15108 4000c9d4:       53                      push   %ebx
15109 4000c9d5:       83 ec 30                sub    $0x30,%esp
15110 4000c9d8:       89 e0                   mov    %esp,%eax
15111 4000c9da:       89 45 e4                mov    %eax,-0x1c(%ebp)
15112 4000c9dd:       8b 75 0c                mov    0xc(%ebp),%esi
15113 4000c9e0:       89 75 d0                mov    %esi,-0x30(%ebp)
15114 4000c9e3:       c7 45 d4 00 00 00 00    movl   $0x0,-0x2c(%ebp)
15115 4000c9ea:       8b 45 d0                mov    -0x30(%ebp),%eax
15116 4000c9ed:       80 e4 ff                and    $0xff,%ah
15117 4000c9f0:       8b 55 d4                mov    -0x2c(%ebp),%edx
15118 4000c9f3:       83 e2 0f                and    $0xf,%edx
15119 4000c9f6:       89 45 d0                mov    %eax,-0x30(%ebp)
15120 4000c9f9:       89 55 d4                mov    %edx,-0x2c(%ebp)
15121 4000c9fc:       8b 4d d0                mov    -0x30(%ebp),%ecx
15122 4000c9ff:       8b 5d d4                mov    -0x2c(%ebp),%ebx
15123 4000ca02:       0f a4 cb 05             shld   $0x5,%ecx,%ebx
15124 4000ca06:       c1 e1 05                shl    $0x5,%ecx
15125 4000ca09:       89 c8                   mov    %ecx,%eax
15126 4000ca0b:       80 e4 ff                and    $0xff,%ah
15127 4000ca0e:       89 da                   mov    %ebx,%edx
15128 4000ca10:       83 e2 0f                and    $0xf,%edx
15129 4000ca13:       89 c1                   mov    %eax,%ecx
15130 4000ca15:       89 d3                   mov    %edx,%ebx
15131 4000ca17:       89 75 d8                mov    %esi,-0x28(%ebp)
15132 4000ca1a:       c7 45 dc 00 00 00 00    movl   $0x0,-0x24(%ebp)
15133 4000ca21:       8b 45 d8                mov    -0x28(%ebp),%eax
15134 4000ca24:       80 e4 ff                and    $0xff,%ah
15135 4000ca27:       8b 55 dc                mov    -0x24(%ebp),%edx
15136 4000ca2a:       83 e2 0f                and    $0xf,%edx
15137 4000ca2d:       89 45 d8                mov    %eax,-0x28(%ebp)
15138 4000ca30:       89 55 dc                mov    %edx,-0x24(%ebp)
15139 4000ca33:       8b 4d d8                mov    -0x28(%ebp),%ecx
15140 4000ca36:       8b 5d dc                mov    -0x24(%ebp),%ebx
15141 4000ca39:       0f a4 cb 05             shld   $0x5,%ecx,%ebx
15142 4000ca3d:       c1 e1 05                shl    $0x5,%ecx
15143 4000ca40:       89 c8                   mov    %ecx,%eax
15144 4000ca42:       80 e4 ff                and    $0xff,%ah
15145 4000ca45:       89 da                   mov    %ebx,%edx
15146 4000ca47:       83 e2 0f                and    $0xf,%edx
15147 4000ca4a:       89 c1                   mov    %eax,%ecx
15148 4000ca4c:       89 d3                   mov    %edx,%ebx
15149 4000ca4e:       8d 04 b5 00 00 00 00    lea    0x0(,%esi,4),%eax
15150 4000ca55:       83 c0 0f                add    $0xf,%eax
15151 4000ca58:       83 c0 0f                add    $0xf,%eax
15152 4000ca5b:       c1 e8 04                shr    $0x4,%eax
15153 4000ca5e:       c1 e0 04                shl    $0x4,%eax
15154 4000ca61:       29 c4                   sub    %eax,%esp
15155 4000ca63:       89 65 e0                mov    %esp,-0x20(%ebp)
15156 4000ca66:       8b 45 e0                mov    -0x20(%ebp),%eax
15157 4000ca69:       83 c0 0f                add    $0xf,%eax
15158 4000ca6c:       c1 e8 04                shr    $0x4,%eax
15159 4000ca6f:       c1 e0 04                shl    $0x4,%eax
15160 4000ca72:       89 45 e0                mov    %eax,-0x20(%ebp)
15161 4000ca75:       8b 45 e0                mov    -0x20(%ebp),%eax
15162 4000ca78:       89 45 ec                mov    %eax,-0x14(%ebp)
15163 4000ca7b:       8d 45 10                lea    0x10(%ebp),%eax
15164 4000ca7e:       89 45 e8                mov    %eax,-0x18(%ebp)
15165 4000ca81:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
15166 4000ca88:       eb 1a                   jmp    4000caa4 <syscall_call+0xd4>
15167 4000ca8a:       8b 4d f0                mov    -0x10(%ebp),%ecx
15168 4000ca8d:       8b 55 e8                mov    -0x18(%ebp),%edx
15169 4000ca90:       8d 42 04                lea    0x4(%edx),%eax
15170 4000ca93:       89 45 e8                mov    %eax,-0x18(%ebp)
15171 4000ca96:       89 d0                   mov    %edx,%eax
15172 4000ca98:       8b 10                   mov    (%eax),%edx
15173 4000ca9a:       8b 45 ec                mov    -0x14(%ebp),%eax
15174 4000ca9d:       89 14 88                mov    %edx,(%eax,%ecx,4)
15175 4000caa0:       83 45 f0 01             addl   $0x1,-0x10(%ebp)
15176 4000caa4:       8b 45 f0                mov    -0x10(%ebp),%eax
15177 4000caa7:       3b 45 0c                cmp    0xc(%ebp),%eax
15178 4000caaa:       72 de                   jb     4000ca8a <syscall_call+0xba>
15179 4000caac:       8b 45 ec                mov    -0x14(%ebp),%eax
15180 4000caaf:       50                      push   %eax
15181 4000cab0:       8b 45 08                mov    0x8(%ebp),%eax
15182 4000cab3:       50                      push   %eax
15183 4000cab4:       cd 37                   int    $0x37
15184 4000cab6:       89 45 f4                mov    %eax,-0xc(%ebp)
15185 4000cab9:       b8 08 00 00 00          mov    $0x8,%eax
15186 4000cabe:       01 c4                   add    %eax,%esp
15187 4000cac0:       8b 45 f4                mov    -0xc(%ebp),%eax
15188 4000cac3:       8b 65 e4                mov    -0x1c(%ebp),%esp
15189 4000cac6:       8d 65 f8                lea    -0x8(%ebp),%esp
15190 4000cac9:       5b                      pop    %ebx
15191 4000caca:       5e                      pop    %esi
15192 4000cacb:       5d                      pop    %ebp
15193 4000cacc:       c3                      ret    
15194 4000cacd:       90                      nop    
15195 4000cace:       90                      nop    
15196 4000cacf:       90                      nop    
15198 4000cad0 <abort>:
15199 4000cad0:       55                      push   %ebp
15200 4000cad1:       89 e5                   mov    %esp,%ebp
15201 4000cad3:       83 ec 28                sub    $0x28,%esp
15202 4000cad6:       a1 18 1c 01 40          mov    0x40011c18,%eax
15203 4000cadb:       89 45 f8                mov    %eax,-0x8(%ebp)
15204 4000cade:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
15205 4000cae5:       00 
15206 4000cae6:       c7 04 24 28 00 00 00    movl   $0x28,(%esp)
15207 4000caed:       e8 de fe ff ff          call   4000c9d0 <syscall_call>
15208 4000caf2:       89 45 fc                mov    %eax,-0x4(%ebp)
15209 4000caf5:       8b 45 fc                mov    -0x4(%ebp),%eax
15210 4000caf8:       89 04 24                mov    %eax,(%esp)
15211 4000cafb:       e8 24 f2 ff ff          call   4000bd24 <getname>
15212 4000cb00:       89 c2                   mov    %eax,%edx
15213 4000cb02:       8b 45 fc                mov    -0x4(%ebp),%eax
15214 4000cb05:       89 44 24 0c             mov    %eax,0xc(%esp)
15215 4000cb09:       89 54 24 08             mov    %edx,0x8(%esp)
15216 4000cb0d:       c7 44 24 04 c4 f1 00    movl   $0x4000f1c4,0x4(%esp)
15217 4000cb14:       40 
15218 4000cb15:       8b 45 f8                mov    -0x8(%ebp),%eax
15219 4000cb18:       89 04 24                mov    %eax,(%esp)
15220 4000cb1b:       e8 98 78 ff ff          call   400043b8 <fprintf>
15221 4000cb20:       8b 45 00                mov    0x0(%ebp),%eax
15222 4000cb23:       8b 40 04                mov    0x4(%eax),%eax
15223 4000cb26:       89 44 24 08             mov    %eax,0x8(%esp)
15224 4000cb2a:       c7 44 24 04 e8 f1 00    movl   $0x4000f1e8,0x4(%esp)
15225 4000cb31:       40 
15226 4000cb32:       8b 45 f8                mov    -0x8(%ebp),%eax
15227 4000cb35:       89 04 24                mov    %eax,(%esp)
15228 4000cb38:       e8 7b 78 ff ff          call   400043b8 <fprintf>
15229 4000cb3d:       89 e8                   mov    %ebp,%eax
15230 4000cb3f:       89 44 24 08             mov    %eax,0x8(%esp)
15231 4000cb43:       c7 44 24 04 f9 f1 00    movl   $0x4000f1f9,0x4(%esp)
15232 4000cb4a:       40 
15233 4000cb4b:       8b 45 f8                mov    -0x8(%ebp),%eax
15234 4000cb4e:       89 04 24                mov    %eax,(%esp)
15235 4000cb51:       e8 62 78 ff ff          call   400043b8 <fprintf>
15236 4000cb56:       e8 ca 5f ff ff          call   40002b25 <_close_all_filehandles>
15237 4000cb5b:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
15238 4000cb62:       00 
15239 4000cb63:       c7 04 24 35 00 00 00    movl   $0x35,(%esp)
15240 4000cb6a:       e8 61 fe ff ff          call   4000c9d0 <syscall_call>
15241 4000cb6f:       c9                      leave  
15242 4000cb70:       c3                      ret    
15243 4000cb71:       90                      nop    
15244 4000cb72:       90                      nop    
15245 4000cb73:       90                      nop    
15247 4000cb74 <env_init>:
15248 4000cb74:       55                      push   %ebp
15249 4000cb75:       89 e5                   mov    %esp,%ebp
15250 4000cb77:       83 ec 08                sub    $0x8,%esp
15251 4000cb7a:       e8 e5 e4 ff ff          call   4000b064 <llist_create>
15252 4000cb7f:       a3 6c 0b 01 40          mov    %eax,0x40010b6c
15253 4000cb84:       c9                      leave  
15254 4000cb85:       c3                      ret    
15256 4000cb86 <_findenv>:
15257 4000cb86:       55                      push   %ebp
15258 4000cb87:       89 e5                   mov    %esp,%ebp
15259 4000cb89:       83 ec 28                sub    $0x28,%esp
15260 4000cb8c:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
15261 4000cb90:       74 71                   je     4000cc03 <_findenv+0x7d>
15262 4000cb92:       8b 45 08                mov    0x8(%ebp),%eax
15263 4000cb95:       89 04 24                mov    %eax,(%esp)
15264 4000cb98:       e8 87 de ff ff          call   4000aa24 <strlen>
15265 4000cb9d:       85 c0                   test   %eax,%eax
15266 4000cb9f:       74 62                   je     4000cc03 <_findenv+0x7d>
15267 4000cba1:       c7 44 24 04 3d 00 00    movl   $0x3d,0x4(%esp)
15268 4000cba8:       00 
15269 4000cba9:       8b 45 08                mov    0x8(%ebp),%eax
15270 4000cbac:       89 04 24                mov    %eax,(%esp)
15271 4000cbaf:       e8 f0 dc ff ff          call   4000a8a4 <strchr>
15272 4000cbb4:       85 c0                   test   %eax,%eax
15273 4000cbb6:       75 4b                   jne    4000cc03 <_findenv+0x7d>
15274 4000cbb8:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
15275 4000cbbf:       eb 24                   jmp    4000cbe5 <_findenv+0x5f>
15276 4000cbc1:       8b 45 fc                mov    -0x4(%ebp),%eax
15277 4000cbc4:       8b 10                   mov    (%eax),%edx
15278 4000cbc6:       8b 45 08                mov    0x8(%ebp),%eax
15279 4000cbc9:       89 44 24 04             mov    %eax,0x4(%esp)
15280 4000cbcd:       89 14 24                mov    %edx,(%esp)
15281 4000cbd0:       e8 2f dd ff ff          call   4000a904 <strcmp>
15282 4000cbd5:       85 c0                   test   %eax,%eax
15283 4000cbd7:       75 08                   jne    4000cbe1 <_findenv+0x5b>
15284 4000cbd9:       8b 45 f8                mov    -0x8(%ebp),%eax
15285 4000cbdc:       89 45 ec                mov    %eax,-0x14(%ebp)
15286 4000cbdf:       eb 33                   jmp    4000cc14 <_findenv+0x8e>
15287 4000cbe1:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
15288 4000cbe5:       8b 45 f8                mov    -0x8(%ebp),%eax
15289 4000cbe8:       8b 15 6c 0b 01 40       mov    0x40010b6c,%edx
15290 4000cbee:       89 44 24 04             mov    %eax,0x4(%esp)
15291 4000cbf2:       89 14 24                mov    %edx,(%esp)
15292 4000cbf5:       e8 1d e6 ff ff          call   4000b217 <llist_get>
15293 4000cbfa:       89 45 fc                mov    %eax,-0x4(%ebp)
15294 4000cbfd:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
15295 4000cc01:       75 be                   jne    4000cbc1 <_findenv+0x3b>
15296 4000cc03:       c7 05 10 1c 01 40 1c    movl   $0x1c,0x40011c10
15297 4000cc0a:       00 00 00 
15298 4000cc0d:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
15299 4000cc14:       8b 45 ec                mov    -0x14(%ebp),%eax
15300 4000cc17:       c9                      leave  
15301 4000cc18:       c3                      ret    
15303 4000cc19 <getenv>:
15304 4000cc19:       55                      push   %ebp
15305 4000cc1a:       89 e5                   mov    %esp,%ebp
15306 4000cc1c:       83 ec 28                sub    $0x28,%esp
15307 4000cc1f:       8b 45 08                mov    0x8(%ebp),%eax
15308 4000cc22:       89 04 24                mov    %eax,(%esp)
15309 4000cc25:       e8 5c ff ff ff          call   4000cb86 <_findenv>
15310 4000cc2a:       8b 15 6c 0b 01 40       mov    0x40010b6c,%edx
15311 4000cc30:       89 44 24 04             mov    %eax,0x4(%esp)
15312 4000cc34:       89 14 24                mov    %edx,(%esp)
15313 4000cc37:       e8 db e5 ff ff          call   4000b217 <llist_get>
15314 4000cc3c:       89 45 fc                mov    %eax,-0x4(%ebp)
15315 4000cc3f:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
15316 4000cc43:       75 09                   jne    4000cc4e <getenv+0x35>
15317 4000cc45:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
15318 4000cc4c:       eb 09                   jmp    4000cc57 <getenv+0x3e>
15319 4000cc4e:       8b 45 fc                mov    -0x4(%ebp),%eax
15320 4000cc51:       8b 40 04                mov    0x4(%eax),%eax
15321 4000cc54:       89 45 ec                mov    %eax,-0x14(%ebp)
15322 4000cc57:       8b 45 ec                mov    -0x14(%ebp),%eax
15323 4000cc5a:       c9                      leave  
15324 4000cc5b:       c3                      ret    
15326 4000cc5c <setenv>:
15327 4000cc5c:       55                      push   %ebp
15328 4000cc5d:       89 e5                   mov    %esp,%ebp
15329 4000cc5f:       83 ec 28                sub    $0x28,%esp
15330 4000cc62:       8b 45 08                mov    0x8(%ebp),%eax
15331 4000cc65:       89 04 24                mov    %eax,(%esp)
15332 4000cc68:       e8 19 ff ff ff          call   4000cb86 <_findenv>
15333 4000cc6d:       8b 15 6c 0b 01 40       mov    0x40010b6c,%edx
15334 4000cc73:       89 44 24 04             mov    %eax,0x4(%esp)
15335 4000cc77:       89 14 24                mov    %edx,(%esp)
15336 4000cc7a:       e8 98 e5 ff ff          call   4000b217 <llist_get>
15337 4000cc7f:       89 45 fc                mov    %eax,-0x4(%ebp)
15338 4000cc82:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
15339 4000cc86:       75 4b                   jne    4000ccd3 <setenv+0x77>
15340 4000cc88:       c7 04 24 08 00 00 00    movl   $0x8,(%esp)
15341 4000cc8f:       e8 40 a8 ff ff          call   400074d4 <malloc>
15342 4000cc94:       89 45 fc                mov    %eax,-0x4(%ebp)
15343 4000cc97:       8b 45 08                mov    0x8(%ebp),%eax
15344 4000cc9a:       89 04 24                mov    %eax,(%esp)
15345 4000cc9d:       e8 37 dd ff ff          call   4000a9d9 <strdup>
15346 4000cca2:       89 c2                   mov    %eax,%edx
15347 4000cca4:       8b 45 fc                mov    -0x4(%ebp),%eax
15348 4000cca7:       89 10                   mov    %edx,(%eax)
15349 4000cca9:       8b 45 0c                mov    0xc(%ebp),%eax
15350 4000ccac:       89 04 24                mov    %eax,(%esp)
15351 4000ccaf:       e8 25 dd ff ff          call   4000a9d9 <strdup>
15352 4000ccb4:       89 c2                   mov    %eax,%edx
15353 4000ccb6:       8b 45 fc                mov    -0x4(%ebp),%eax
15354 4000ccb9:       89 50 04                mov    %edx,0x4(%eax)
15355 4000ccbc:       8b 15 6c 0b 01 40       mov    0x40010b6c,%edx
15356 4000ccc2:       8b 45 fc                mov    -0x4(%ebp),%eax
15357 4000ccc5:       89 44 24 04             mov    %eax,0x4(%esp)
15358 4000ccc9:       89 14 24                mov    %edx,(%esp)
15359 4000cccc:       e8 0e e4 ff ff          call   4000b0df <llist_push>
15360 4000ccd1:       eb 32                   jmp    4000cd05 <setenv+0xa9>
15361 4000ccd3:       83 7d 10 00             cmpl   $0x0,0x10(%ebp)
15362 4000ccd7:       74 23                   je     4000ccfc <setenv+0xa0>
15363 4000ccd9:       8b 45 fc                mov    -0x4(%ebp),%eax
15364 4000ccdc:       8b 40 04                mov    0x4(%eax),%eax
15365 4000ccdf:       89 04 24                mov    %eax,(%esp)
15366 4000cce2:       e8 a4 ac ff ff          call   4000798b <free>
15367 4000cce7:       8b 45 0c                mov    0xc(%ebp),%eax
15368 4000ccea:       89 04 24                mov    %eax,(%esp)
15369 4000cced:       e8 e7 dc ff ff          call   4000a9d9 <strdup>
15370 4000ccf2:       89 c2                   mov    %eax,%edx
15371 4000ccf4:       8b 45 fc                mov    -0x4(%ebp),%eax
15372 4000ccf7:       89 50 04                mov    %edx,0x4(%eax)
15373 4000ccfa:       eb 09                   jmp    4000cd05 <setenv+0xa9>
15374 4000ccfc:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
15375 4000cd03:       eb 07                   jmp    4000cd0c <setenv+0xb0>
15376 4000cd05:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
15377 4000cd0c:       8b 45 ec                mov    -0x14(%ebp),%eax
15378 4000cd0f:       c9                      leave  
15379 4000cd10:       c3                      ret    
15381 4000cd11 <unsetenv>:
15382 4000cd11:       55                      push   %ebp
15383 4000cd12:       89 e5                   mov    %esp,%ebp
15384 4000cd14:       83 ec 28                sub    $0x28,%esp
15385 4000cd17:       8b 45 08                mov    0x8(%ebp),%eax
15386 4000cd1a:       89 04 24                mov    %eax,(%esp)
15387 4000cd1d:       e8 64 fe ff ff          call   4000cb86 <_findenv>
15388 4000cd22:       89 45 f8                mov    %eax,-0x8(%ebp)
15389 4000cd25:       83 7d f8 ff             cmpl   $0xffffffff,-0x8(%ebp)
15390 4000cd29:       74 47                   je     4000cd72 <unsetenv+0x61>
15391 4000cd2b:       8b 45 f8                mov    -0x8(%ebp),%eax
15392 4000cd2e:       8b 15 6c 0b 01 40       mov    0x40010b6c,%edx
15393 4000cd34:       89 44 24 04             mov    %eax,0x4(%esp)
15394 4000cd38:       89 14 24                mov    %edx,(%esp)
15395 4000cd3b:       e8 a9 e5 ff ff          call   4000b2e9 <llist_remove>
15396 4000cd40:       89 45 fc                mov    %eax,-0x4(%ebp)
15397 4000cd43:       8b 45 fc                mov    -0x4(%ebp),%eax
15398 4000cd46:       8b 00                   mov    (%eax),%eax
15399 4000cd48:       89 04 24                mov    %eax,(%esp)
15400 4000cd4b:       e8 3b ac ff ff          call   4000798b <free>
15401 4000cd50:       8b 45 fc                mov    -0x4(%ebp),%eax
15402 4000cd53:       8b 40 04                mov    0x4(%eax),%eax
15403 4000cd56:       89 04 24                mov    %eax,(%esp)
15404 4000cd59:       e8 2d ac ff ff          call   4000798b <free>
15405 4000cd5e:       8b 45 fc                mov    -0x4(%ebp),%eax
15406 4000cd61:       89 04 24                mov    %eax,(%esp)
15407 4000cd64:       e8 22 ac ff ff          call   4000798b <free>
15408 4000cd69:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
15409 4000cd70:       eb 11                   jmp    4000cd83 <unsetenv+0x72>
15410 4000cd72:       c7 05 10 1c 01 40 1c    movl   $0x1c,0x40011c10
15411 4000cd79:       00 00 00 
15412 4000cd7c:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
15413 4000cd83:       8b 45 ec                mov    -0x14(%ebp),%eax
15414 4000cd86:       c9                      leave  
15415 4000cd87:       c3                      ret    
15417 4000cd88 <printf>:
15418 4000cd88:       55                      push   %ebp
15419 4000cd89:       89 e5                   mov    %esp,%ebp
15420 4000cd8b:       83 ec 28                sub    $0x28,%esp
15421 4000cd8e:       8d 45 0c                lea    0xc(%ebp),%eax
15422 4000cd91:       89 45 f8                mov    %eax,-0x8(%ebp)
15423 4000cd94:       8b 45 f8                mov    -0x8(%ebp),%eax
15424 4000cd97:       8b 15 0c 1c 01 40       mov    0x40011c0c,%edx
15425 4000cd9d:       89 44 24 08             mov    %eax,0x8(%esp)
15426 4000cda1:       8b 45 08                mov    0x8(%ebp),%eax
15427 4000cda4:       89 44 24 04             mov    %eax,0x4(%esp)
15428 4000cda8:       89 14 24                mov    %edx,(%esp)
15429 4000cdab:       e8 04 cc ff ff          call   400099b4 <vfprintf>
15430 4000cdb0:       89 45 fc                mov    %eax,-0x4(%ebp)
15431 4000cdb3:       8b 45 fc                mov    -0x4(%ebp),%eax
15432 4000cdb6:       c9                      leave  
15433 4000cdb7:       c3                      ret    
15435 4000cdb8 <pwd_init>:
15436 4000cdb8:       55                      push   %ebp
15437 4000cdb9:       89 e5                   mov    %esp,%ebp
15438 4000cdbb:       5d                      pop    %ebp
15439 4000cdbc:       c3                      ret    
15441 4000cdbd <getpwnam>:
15442 4000cdbd:       55                      push   %ebp
15443 4000cdbe:       89 e5                   mov    %esp,%ebp
15444 4000cdc0:       83 ec 28                sub    $0x28,%esp
15445 4000cdc3:       a1 70 0b 01 40          mov    0x40010b70,%eax
15446 4000cdc8:       85 c0                   test   %eax,%eax
15447 4000cdca:       75 05                   jne    4000cdd1 <getpwnam+0x14>
15448 4000cdcc:       e8 e7 ff ff ff          call   4000cdb8 <pwd_init>
15449 4000cdd1:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
15450 4000cdd8:       eb 24                   jmp    4000cdfe <getpwnam+0x41>
15451 4000cdda:       8b 45 fc                mov    -0x4(%ebp),%eax
15452 4000cddd:       8b 10                   mov    (%eax),%edx
15453 4000cddf:       8b 45 08                mov    0x8(%ebp),%eax
15454 4000cde2:       89 44 24 04             mov    %eax,0x4(%esp)
15455 4000cde6:       89 14 24                mov    %edx,(%esp)
15456 4000cde9:       e8 16 db ff ff          call   4000a904 <strcmp>
15457 4000cdee:       85 c0                   test   %eax,%eax
15458 4000cdf0:       75 08                   jne    4000cdfa <getpwnam+0x3d>
15459 4000cdf2:       8b 45 fc                mov    -0x4(%ebp),%eax
15460 4000cdf5:       89 45 ec                mov    %eax,-0x14(%ebp)
15461 4000cdf8:       eb 28                   jmp    4000ce22 <getpwnam+0x65>
15462 4000cdfa:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
15463 4000cdfe:       a1 70 0b 01 40          mov    0x40010b70,%eax
15464 4000ce03:       8b 55 f8                mov    -0x8(%ebp),%edx
15465 4000ce06:       89 54 24 04             mov    %edx,0x4(%esp)
15466 4000ce0a:       89 04 24                mov    %eax,(%esp)
15467 4000ce0d:       e8 05 e4 ff ff          call   4000b217 <llist_get>
15468 4000ce12:       89 45 fc                mov    %eax,-0x4(%ebp)
15469 4000ce15:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
15470 4000ce19:       75 bf                   jne    4000cdda <getpwnam+0x1d>
15471 4000ce1b:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
15472 4000ce22:       8b 45 ec                mov    -0x14(%ebp),%eax
15473 4000ce25:       c9                      leave  
15474 4000ce26:       c3                      ret    
15476 4000ce27 <getpwuid>:
15477 4000ce27:       55                      push   %ebp
15478 4000ce28:       89 e5                   mov    %esp,%ebp
15479 4000ce2a:       83 ec 28                sub    $0x28,%esp
15480 4000ce2d:       a1 70 0b 01 40          mov    0x40010b70,%eax
15481 4000ce32:       85 c0                   test   %eax,%eax
15482 4000ce34:       75 05                   jne    4000ce3b <getpwuid+0x14>
15483 4000ce36:       e8 7d ff ff ff          call   4000cdb8 <pwd_init>
15484 4000ce3b:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
15485 4000ce42:       eb 17                   jmp    4000ce5b <getpwuid+0x34>
15486 4000ce44:       8b 45 fc                mov    -0x4(%ebp),%eax
15487 4000ce47:       8b 40 04                mov    0x4(%eax),%eax
15488 4000ce4a:       3b 45 08                cmp    0x8(%ebp),%eax
15489 4000ce4d:       75 08                   jne    4000ce57 <getpwuid+0x30>
15490 4000ce4f:       8b 45 fc                mov    -0x4(%ebp),%eax
15491 4000ce52:       89 45 ec                mov    %eax,-0x14(%ebp)
15492 4000ce55:       eb 28                   jmp    4000ce7f <getpwuid+0x58>
15493 4000ce57:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
15494 4000ce5b:       a1 70 0b 01 40          mov    0x40010b70,%eax
15495 4000ce60:       8b 55 f8                mov    -0x8(%ebp),%edx
15496 4000ce63:       89 54 24 04             mov    %edx,0x4(%esp)
15497 4000ce67:       89 04 24                mov    %eax,(%esp)
15498 4000ce6a:       e8 a8 e3 ff ff          call   4000b217 <llist_get>
15499 4000ce6f:       89 45 fc                mov    %eax,-0x4(%ebp)
15500 4000ce72:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
15501 4000ce76:       75 cc                   jne    4000ce44 <getpwuid+0x1d>
15502 4000ce78:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
15503 4000ce7f:       8b 45 ec                mov    -0x14(%ebp),%eax
15504 4000ce82:       c9                      leave  
15505 4000ce83:       c3                      ret    
15507 4000ce84 <getpwent>:
15508 4000ce84:       55                      push   %ebp
15509 4000ce85:       89 e5                   mov    %esp,%ebp
15510 4000ce87:       83 ec 08                sub    $0x8,%esp
15511 4000ce8a:       a1 74 0b 01 40          mov    0x40010b74,%eax
15512 4000ce8f:       89 c2                   mov    %eax,%edx
15513 4000ce91:       83 c0 01                add    $0x1,%eax
15514 4000ce94:       a3 74 0b 01 40          mov    %eax,0x40010b74
15515 4000ce99:       a1 70 0b 01 40          mov    0x40010b70,%eax
15516 4000ce9e:       89 54 24 04             mov    %edx,0x4(%esp)
15517 4000cea2:       89 04 24                mov    %eax,(%esp)
15518 4000cea5:       e8 6d e3 ff ff          call   4000b217 <llist_get>
15519 4000ceaa:       c9                      leave  
15520 4000ceab:       c3                      ret    
15522 4000ceac <setpwent>:
15523 4000ceac:       55                      push   %ebp
15524 4000cead:       89 e5                   mov    %esp,%ebp
15525 4000ceaf:       c7 05 74 0b 01 40 00    movl   $0x0,0x40010b74
15526 4000ceb6:       00 00 00 
15527 4000ceb9:       5d                      pop    %ebp
15528 4000ceba:       c3                      ret    
15529 4000cebb:       90                      nop    
15531 4000cebc <sprintf>:
15532 4000cebc:       55                      push   %ebp
15533 4000cebd:       89 e5                   mov    %esp,%ebp
15534 4000cebf:       83 ec 28                sub    $0x28,%esp
15535 4000cec2:       8d 45 10                lea    0x10(%ebp),%eax
15536 4000cec5:       89 45 f8                mov    %eax,-0x8(%ebp)
15537 4000cec8:       8b 45 f8                mov    -0x8(%ebp),%eax
15538 4000cecb:       89 44 24 0c             mov    %eax,0xc(%esp)
15539 4000cecf:       8b 45 0c                mov    0xc(%ebp),%eax
15540 4000ced2:       89 44 24 08             mov    %eax,0x8(%esp)
15541 4000ced6:       c7 44 24 04 ff ff ff    movl   $0xffffffff,0x4(%esp)
15542 4000cedd:       ff 
15543 4000cede:       8b 45 08                mov    0x8(%ebp),%eax
15544 4000cee1:       89 04 24                mov    %eax,(%esp)
15545 4000cee4:       e8 e0 ce ff ff          call   40009dc9 <vsnprintf>
15546 4000cee9:       89 45 fc                mov    %eax,-0x4(%ebp)
15547 4000ceec:       8b 45 fc                mov    -0x4(%ebp),%eax
15548 4000ceef:       c9                      leave  
15549 4000cef0:       c3                      ret    
15550 4000cef1:       90                      nop    
15551 4000cef2:       90                      nop    
15552 4000cef3:       90                      nop    
15554 4000cef4 <create_stream>:
15555 4000cef4:       55                      push   %ebp
15556 4000cef5:       89 e5                   mov    %esp,%ebp
15557 4000cef7:       83 ec 18                sub    $0x18,%esp
15558 4000cefa:       c7 04 24 1c 00 00 00    movl   $0x1c,(%esp)
15559 4000cf01:       e8 ce a5 ff ff          call   400074d4 <malloc>
15560 4000cf06:       89 45 fc                mov    %eax,-0x4(%ebp)
15561 4000cf09:       8b 55 fc                mov    -0x4(%ebp),%edx
15562 4000cf0c:       8b 45 08                mov    0x8(%ebp),%eax
15563 4000cf0f:       89 02                   mov    %eax,(%edx)
15564 4000cf11:       8b 55 fc                mov    -0x4(%ebp),%edx
15565 4000cf14:       8b 45 0c                mov    0xc(%ebp),%eax
15566 4000cf17:       89 42 08                mov    %eax,0x8(%edx)
15567 4000cf1a:       8b 45 fc                mov    -0x4(%ebp),%eax
15568 4000cf1d:       c7 40 04 00 00 00 00    movl   $0x0,0x4(%eax)
15569 4000cf24:       8b 45 fc                mov    -0x4(%ebp),%eax
15570 4000cf27:       c7 40 0c 00 00 00 00    movl   $0x0,0xc(%eax)
15571 4000cf2e:       c7 04 24 00 08 00 00    movl   $0x800,(%esp)
15572 4000cf35:       e8 9a a5 ff ff          call   400074d4 <malloc>
15573 4000cf3a:       89 c2                   mov    %eax,%edx
15574 4000cf3c:       8b 45 fc                mov    -0x4(%ebp),%eax
15575 4000cf3f:       89 50 10                mov    %edx,0x10(%eax)
15576 4000cf42:       8b 45 fc                mov    -0x4(%ebp),%eax
15577 4000cf45:       8b 50 10                mov    0x10(%eax),%edx
15578 4000cf48:       8b 45 fc                mov    -0x4(%ebp),%eax
15579 4000cf4b:       89 50 14                mov    %edx,0x14(%eax)
15580 4000cf4e:       8b 45 fc                mov    -0x4(%ebp),%eax
15581 4000cf51:       c7 40 18 01 00 00 00    movl   $0x1,0x18(%eax)
15582 4000cf58:       8b 45 fc                mov    -0x4(%ebp),%eax
15583 4000cf5b:       c9                      leave  
15584 4000cf5c:       c3                      ret    
15586 4000cf5d <stdio_exit>:
15587 4000cf5d:       55                      push   %ebp
15588 4000cf5e:       89 e5                   mov    %esp,%ebp
15589 4000cf60:       83 ec 08                sub    $0x8,%esp
15590 4000cf63:       a1 0c 1c 01 40          mov    0x40011c0c,%eax
15591 4000cf68:       89 04 24                mov    %eax,(%esp)
15592 4000cf6b:       e8 1c 03 00 00          call   4000d28c <fflush>
15593 4000cf70:       a1 18 1c 01 40          mov    0x40011c18,%eax
15594 4000cf75:       89 04 24                mov    %eax,(%esp)
15595 4000cf78:       e8 0f 03 00 00          call   4000d28c <fflush>
15596 4000cf7d:       a1 14 1c 01 40          mov    0x40011c14,%eax
15597 4000cf82:       89 04 24                mov    %eax,(%esp)
15598 4000cf85:       e8 cd 01 00 00          call   4000d157 <fclose>
15599 4000cf8a:       a1 0c 1c 01 40          mov    0x40011c0c,%eax
15600 4000cf8f:       89 04 24                mov    %eax,(%esp)
15601 4000cf92:       e8 c0 01 00 00          call   4000d157 <fclose>
15602 4000cf97:       a1 18 1c 01 40          mov    0x40011c18,%eax
15603 4000cf9c:       89 04 24                mov    %eax,(%esp)
15604 4000cf9f:       e8 b3 01 00 00          call   4000d157 <fclose>
15605 4000cfa4:       c9                      leave  
15606 4000cfa5:       c3                      ret    
15608 4000cfa6 <stdio_init>:
15609 4000cfa6:       55                      push   %ebp
15610 4000cfa7:       89 e5                   mov    %esp,%ebp
15611 4000cfa9:       83 ec 08                sub    $0x8,%esp
15612 4000cfac:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
15613 4000cfb3:       00 
15614 4000cfb4:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
15615 4000cfbb:       e8 34 ff ff ff          call   4000cef4 <create_stream>
15616 4000cfc0:       a3 14 1c 01 40          mov    %eax,0x40011c14
15617 4000cfc5:       c7 44 24 04 02 00 00    movl   $0x2,0x4(%esp)
15618 4000cfcc:       00 
15619 4000cfcd:       c7 04 24 01 00 00 00    movl   $0x1,(%esp)
15620 4000cfd4:       e8 1b ff ff ff          call   4000cef4 <create_stream>
15621 4000cfd9:       a3 0c 1c 01 40          mov    %eax,0x40011c0c
15622 4000cfde:       c7 44 24 04 02 00 00    movl   $0x2,0x4(%esp)
15623 4000cfe5:       00 
15624 4000cfe6:       c7 04 24 02 00 00 00    movl   $0x2,(%esp)
15625 4000cfed:       e8 02 ff ff ff          call   4000cef4 <create_stream>
15626 4000cff2:       a3 18 1c 01 40          mov    %eax,0x40011c18
15627 4000cff7:       b8 5d cf 00 40          mov    $0x4000cf5d,%eax
15628 4000cffc:       89 04 24                mov    %eax,(%esp)
15629 4000cfff:       e8 10 c4 ff ff          call   40009414 <atexit>
15630 4000d004:       c9                      leave  
15631 4000d005:       c3                      ret    
15633 4000d006 <oflag_str2num>:
15634 4000d006:       55                      push   %ebp
15635 4000d007:       89 e5                   mov    %esp,%ebp
15636 4000d009:       83 ec 10                sub    $0x10,%esp
15637 4000d00c:       8b 45 08                mov    0x8(%ebp),%eax
15638 4000d00f:       0f b6 00                movzbl (%eax),%eax
15639 4000d012:       3c 72                   cmp    $0x72,%al
15640 4000d014:       75 09                   jne    4000d01f <oflag_str2num+0x19>
15641 4000d016:       c7 45 fc 01 00 00 00    movl   $0x1,-0x4(%ebp)
15642 4000d01d:       eb 2d                   jmp    4000d04c <oflag_str2num+0x46>
15643 4000d01f:       8b 45 08                mov    0x8(%ebp),%eax
15644 4000d022:       0f b6 00                movzbl (%eax),%eax
15645 4000d025:       3c 77                   cmp    $0x77,%al
15646 4000d027:       75 09                   jne    4000d032 <oflag_str2num+0x2c>
15647 4000d029:       c7 45 fc 26 00 00 00    movl   $0x26,-0x4(%ebp)
15648 4000d030:       eb 1a                   jmp    4000d04c <oflag_str2num+0x46>
15649 4000d032:       8b 45 08                mov    0x8(%ebp),%eax
15650 4000d035:       0f b6 00                movzbl (%eax),%eax
15651 4000d038:       3c 61                   cmp    $0x61,%al
15652 4000d03a:       75 09                   jne    4000d045 <oflag_str2num+0x3f>
15653 4000d03c:       c7 45 fc 64 00 00 00    movl   $0x64,-0x4(%ebp)
15654 4000d043:       eb 07                   jmp    4000d04c <oflag_str2num+0x46>
15655 4000d045:       c7 45 fc ff ff ff ff    movl   $0xffffffff,-0x4(%ebp)
15656 4000d04c:       8b 45 08                mov    0x8(%ebp),%eax
15657 4000d04f:       83 c0 01                add    $0x1,%eax
15658 4000d052:       0f b6 00                movzbl (%eax),%eax
15659 4000d055:       3c 2b                   cmp    $0x2b,%al
15660 4000d057:       75 0a                   jne    4000d063 <oflag_str2num+0x5d>
15661 4000d059:       83 7d fc ff             cmpl   $0xffffffff,-0x4(%ebp)
15662 4000d05d:       74 04                   je     4000d063 <oflag_str2num+0x5d>
15663 4000d05f:       83 4d fc 03             orl    $0x3,-0x4(%ebp)
15664 4000d063:       8b 45 fc                mov    -0x4(%ebp),%eax
15665 4000d066:       c9                      leave  
15666 4000d067:       c3                      ret    
15668 4000d068 <tmpnam>:
15669 4000d068:       55                      push   %ebp
15670 4000d069:       89 e5                   mov    %esp,%ebp
15671 4000d06b:       83 ec 28                sub    $0x28,%esp
15672 4000d06e:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
15673 4000d072:       75 21                   jne    4000d095 <tmpnam+0x2d>
15674 4000d074:       c7 44 24 08 00 04 00    movl   $0x400,0x8(%esp)
15675 4000d07b:       00 
15676 4000d07c:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
15677 4000d083:       00 
15678 4000d084:       c7 04 24 80 0b 01 40    movl   $0x40010b80,(%esp)
15679 4000d08b:       e8 b9 d7 ff ff          call   4000a849 <memset>
15680 4000d090:       89 45 ec                mov    %eax,-0x14(%ebp)
15681 4000d093:       eb 06                   jmp    4000d09b <tmpnam+0x33>
15682 4000d095:       8b 45 08                mov    0x8(%ebp),%eax
15683 4000d098:       89 45 ec                mov    %eax,-0x14(%ebp)
15684 4000d09b:       8b 45 ec                mov    -0x14(%ebp),%eax
15685 4000d09e:       89 45 fc                mov    %eax,-0x4(%ebp)
15686 4000d0a1:       a1 80 1b 01 40          mov    0x40011b80,%eax
15687 4000d0a6:       89 c2                   mov    %eax,%edx
15688 4000d0a8:       83 c0 01                add    $0x1,%eax
15689 4000d0ab:       a3 80 1b 01 40          mov    %eax,0x40011b80
15690 4000d0b0:       89 54 24 10             mov    %edx,0x10(%esp)
15691 4000d0b4:       c7 44 24 0c 0d f2 00    movl   $0x4000f20d,0xc(%esp)
15692 4000d0bb:       40 
15693 4000d0bc:       c7 44 24 08 12 f2 00    movl   $0x4000f212,0x8(%esp)
15694 4000d0c3:       40 
15695 4000d0c4:       c7 44 24 04 00 04 00    movl   $0x400,0x4(%esp)
15696 4000d0cb:       00 
15697 4000d0cc:       8b 45 fc                mov    -0x4(%ebp),%eax
15698 4000d0cf:       89 04 24                mov    %eax,(%esp)
15699 4000d0d2:       e8 75 11 00 00          call   4000e24c <snprintf>
15700 4000d0d7:       8b 45 fc                mov    -0x4(%ebp),%eax
15701 4000d0da:       c9                      leave  
15702 4000d0db:       c3                      ret    
15704 4000d0dc <clearerr>:
15705 4000d0dc:       55                      push   %ebp
15706 4000d0dd:       89 e5                   mov    %esp,%ebp
15707 4000d0df:       8b 45 08                mov    0x8(%ebp),%eax
15708 4000d0e2:       c7 40 04 00 00 00 00    movl   $0x0,0x4(%eax)
15709 4000d0e9:       5d                      pop    %ebp
15710 4000d0ea:       c3                      ret    
15712 4000d0eb <feof>:
15713 4000d0eb:       55                      push   %ebp
15714 4000d0ec:       89 e5                   mov    %esp,%ebp
15715 4000d0ee:       83 ec 04                sub    $0x4,%esp
15716 4000d0f1:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
15717 4000d0f5:       74 14                   je     4000d10b <feof+0x20>
15718 4000d0f7:       8b 45 08                mov    0x8(%ebp),%eax
15719 4000d0fa:       8b 00                   mov    (%eax),%eax
15720 4000d0fc:       85 c0                   test   %eax,%eax
15721 4000d0fe:       78 0b                   js     4000d10b <feof+0x20>
15722 4000d100:       8b 45 08                mov    0x8(%ebp),%eax
15723 4000d103:       8b 40 0c                mov    0xc(%eax),%eax
15724 4000d106:       89 45 fc                mov    %eax,-0x4(%ebp)
15725 4000d109:       eb 11                   jmp    4000d11c <feof+0x31>
15726 4000d10b:       c7 05 10 1c 01 40 08    movl   $0x8,0x40011c10
15727 4000d112:       00 00 00 
15728 4000d115:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
15729 4000d11c:       8b 45 fc                mov    -0x4(%ebp),%eax
15730 4000d11f:       c9                      leave  
15731 4000d120:       c3                      ret    
15733 4000d121 <ferror>:
15734 4000d121:       55                      push   %ebp
15735 4000d122:       89 e5                   mov    %esp,%ebp
15736 4000d124:       83 ec 04                sub    $0x4,%esp
15737 4000d127:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
15738 4000d12b:       74 14                   je     4000d141 <ferror+0x20>
15739 4000d12d:       8b 45 08                mov    0x8(%ebp),%eax
15740 4000d130:       8b 00                   mov    (%eax),%eax
15741 4000d132:       85 c0                   test   %eax,%eax
15742 4000d134:       78 0b                   js     4000d141 <ferror+0x20>
15743 4000d136:       8b 45 08                mov    0x8(%ebp),%eax
15744 4000d139:       8b 40 04                mov    0x4(%eax),%eax
15745 4000d13c:       89 45 fc                mov    %eax,-0x4(%ebp)
15746 4000d13f:       eb 11                   jmp    4000d152 <ferror+0x31>
15747 4000d141:       c7 05 10 1c 01 40 08    movl   $0x8,0x40011c10
15748 4000d148:       00 00 00 
15749 4000d14b:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
15750 4000d152:       8b 45 fc                mov    -0x4(%ebp),%eax
15751 4000d155:       c9                      leave  
15752 4000d156:       c3                      ret    
15754 4000d157 <fclose>:
15755 4000d157:       55                      push   %ebp
15756 4000d158:       89 e5                   mov    %esp,%ebp
15757 4000d15a:       83 ec 08                sub    $0x8,%esp
15758 4000d15d:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
15759 4000d161:       74 44                   je     4000d1a7 <fclose+0x50>
15760 4000d163:       8b 45 08                mov    0x8(%ebp),%eax
15761 4000d166:       8b 00                   mov    (%eax),%eax
15762 4000d168:       85 c0                   test   %eax,%eax
15763 4000d16a:       78 3b                   js     4000d1a7 <fclose+0x50>
15764 4000d16c:       8b 45 08                mov    0x8(%ebp),%eax
15765 4000d16f:       89 04 24                mov    %eax,(%esp)
15766 4000d172:       e8 15 01 00 00          call   4000d28c <fflush>
15767 4000d177:       85 c0                   test   %eax,%eax
15768 4000d179:       75 36                   jne    4000d1b1 <fclose+0x5a>
15769 4000d17b:       8b 45 08                mov    0x8(%ebp),%eax
15770 4000d17e:       8b 00                   mov    (%eax),%eax
15771 4000d180:       89 04 24                mov    %eax,(%esp)
15772 4000d183:       e8 fc 59 ff ff          call   40002b84 <close>
15773 4000d188:       85 c0                   test   %eax,%eax
15774 4000d18a:       75 25                   jne    4000d1b1 <fclose+0x5a>
15775 4000d18c:       8b 45 08                mov    0x8(%ebp),%eax
15776 4000d18f:       8b 40 10                mov    0x10(%eax),%eax
15777 4000d192:       89 04 24                mov    %eax,(%esp)
15778 4000d195:       e8 f1 a7 ff ff          call   4000798b <free>
15779 4000d19a:       8b 45 08                mov    0x8(%ebp),%eax
15780 4000d19d:       89 04 24                mov    %eax,(%esp)
15781 4000d1a0:       e8 e6 a7 ff ff          call   4000798b <free>
15782 4000d1a5:       eb 0a                   jmp    4000d1b1 <fclose+0x5a>
15783 4000d1a7:       c7 05 10 1c 01 40 08    movl   $0x8,0x40011c10
15784 4000d1ae:       00 00 00 
15785 4000d1b1:       b8 ff ff ff ff          mov    $0xffffffff,%eax
15786 4000d1b6:       c9                      leave  
15787 4000d1b7:       c3                      ret    
15789 4000d1b8 <fdopen>:
15790 4000d1b8:       55                      push   %ebp
15791 4000d1b9:       89 e5                   mov    %esp,%ebp
15792 4000d1bb:       83 ec 08                sub    $0x8,%esp
15793 4000d1be:       8b 45 0c                mov    0xc(%ebp),%eax
15794 4000d1c1:       89 04 24                mov    %eax,(%esp)
15795 4000d1c4:       e8 3d fe ff ff          call   4000d006 <oflag_str2num>
15796 4000d1c9:       89 44 24 04             mov    %eax,0x4(%esp)
15797 4000d1cd:       8b 45 08                mov    0x8(%ebp),%eax
15798 4000d1d0:       89 04 24                mov    %eax,(%esp)
15799 4000d1d3:       e8 1c fd ff ff          call   4000cef4 <create_stream>
15800 4000d1d8:       c9                      leave  
15801 4000d1d9:       c3                      ret    
15803 4000d1da <fileno>:
15804 4000d1da:       55                      push   %ebp
15805 4000d1db:       89 e5                   mov    %esp,%ebp
15806 4000d1dd:       83 ec 04                sub    $0x4,%esp
15807 4000d1e0:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
15808 4000d1e4:       74 13                   je     4000d1f9 <fileno+0x1f>
15809 4000d1e6:       8b 45 08                mov    0x8(%ebp),%eax
15810 4000d1e9:       8b 00                   mov    (%eax),%eax
15811 4000d1eb:       85 c0                   test   %eax,%eax
15812 4000d1ed:       78 0a                   js     4000d1f9 <fileno+0x1f>
15813 4000d1ef:       8b 45 08                mov    0x8(%ebp),%eax
15814 4000d1f2:       8b 00                   mov    (%eax),%eax
15815 4000d1f4:       89 45 fc                mov    %eax,-0x4(%ebp)
15816 4000d1f7:       eb 11                   jmp    4000d20a <fileno+0x30>
15817 4000d1f9:       c7 05 10 1c 01 40 08    movl   $0x8,0x40011c10
15818 4000d200:       00 00 00 
15819 4000d203:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
15820 4000d20a:       8b 45 fc                mov    -0x4(%ebp),%eax
15821 4000d20d:       c9                      leave  
15822 4000d20e:       c3                      ret    
15824 4000d20f <fopen>:
15825 4000d20f:       55                      push   %ebp
15826 4000d210:       89 e5                   mov    %esp,%ebp
15827 4000d212:       83 ec 28                sub    $0x28,%esp
15828 4000d215:       8b 45 0c                mov    0xc(%ebp),%eax
15829 4000d218:       89 04 24                mov    %eax,(%esp)
15830 4000d21b:       e8 e6 fd ff ff          call   4000d006 <oflag_str2num>
15831 4000d220:       89 45 f8                mov    %eax,-0x8(%ebp)
15832 4000d223:       83 7d f8 00             cmpl   $0x0,-0x8(%ebp)
15833 4000d227:       7e 57                   jle    4000d280 <fopen+0x71>
15834 4000d229:       c7 44 24 08 ff 01 00    movl   $0x1ff,0x8(%esp)
15835 4000d230:       00 
15836 4000d231:       8b 45 f8                mov    -0x8(%ebp),%eax
15837 4000d234:       89 44 24 04             mov    %eax,0x4(%esp)
15838 4000d238:       8b 45 08                mov    0x8(%ebp),%eax
15839 4000d23b:       89 04 24                mov    %eax,(%esp)
15840 4000d23e:       e8 be 56 ff ff          call   40002901 <open>
15841 4000d243:       89 45 fc                mov    %eax,-0x4(%ebp)
15842 4000d246:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
15843 4000d24a:       78 34                   js     4000d280 <fopen+0x71>
15844 4000d24c:       8b 45 f8                mov    -0x8(%ebp),%eax
15845 4000d24f:       83 e0 20                and    $0x20,%eax
15846 4000d252:       85 c0                   test   %eax,%eax
15847 4000d254:       74 13                   je     4000d269 <fopen+0x5a>
15848 4000d256:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
15849 4000d25d:       00 
15850 4000d25e:       8b 45 fc                mov    -0x4(%ebp),%eax
15851 4000d261:       89 04 24                mov    %eax,(%esp)
15852 4000d264:       e8 72 61 ff ff          call   400033db <ftruncate>
15853 4000d269:       8b 45 f8                mov    -0x8(%ebp),%eax
15854 4000d26c:       89 44 24 04             mov    %eax,0x4(%esp)
15855 4000d270:       8b 45 fc                mov    -0x4(%ebp),%eax
15856 4000d273:       89 04 24                mov    %eax,(%esp)
15857 4000d276:       e8 79 fc ff ff          call   4000cef4 <create_stream>
15858 4000d27b:       89 45 ec                mov    %eax,-0x14(%ebp)
15859 4000d27e:       eb 07                   jmp    4000d287 <fopen+0x78>
15860 4000d280:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
15861 4000d287:       8b 45 ec                mov    -0x14(%ebp),%eax
15862 4000d28a:       c9                      leave  
15863 4000d28b:       c3                      ret    
15865 4000d28c <fflush>:
15866 4000d28c:       55                      push   %ebp
15867 4000d28d:       89 e5                   mov    %esp,%ebp
15868 4000d28f:       83 ec 28                sub    $0x28,%esp
15869 4000d292:       8b 45 08                mov    0x8(%ebp),%eax
15870 4000d295:       8b 40 18                mov    0x18(%eax),%eax
15871 4000d298:       85 c0                   test   %eax,%eax
15872 4000d29a:       74 78                   je     4000d314 <fflush+0x88>
15873 4000d29c:       8b 45 08                mov    0x8(%ebp),%eax
15874 4000d29f:       8b 40 14                mov    0x14(%eax),%eax
15875 4000d2a2:       89 c2                   mov    %eax,%edx
15876 4000d2a4:       8b 45 08                mov    0x8(%ebp),%eax
15877 4000d2a7:       8b 40 10                mov    0x10(%eax),%eax
15878 4000d2aa:       89 d1                   mov    %edx,%ecx
15879 4000d2ac:       29 c1                   sub    %eax,%ecx
15880 4000d2ae:       89 c8                   mov    %ecx,%eax
15881 4000d2b0:       89 c2                   mov    %eax,%edx
15882 4000d2b2:       8b 45 08                mov    0x8(%ebp),%eax
15883 4000d2b5:       8b 48 10                mov    0x10(%eax),%ecx
15884 4000d2b8:       8b 45 08                mov    0x8(%ebp),%eax
15885 4000d2bb:       8b 00                   mov    (%eax),%eax
15886 4000d2bd:       89 54 24 08             mov    %edx,0x8(%esp)
15887 4000d2c1:       89 4c 24 04             mov    %ecx,0x4(%esp)
15888 4000d2c5:       89 04 24                mov    %eax,(%esp)
15889 4000d2c8:       e8 e8 5c ff ff          call   40002fb5 <write>
15890 4000d2cd:       89 45 fc                mov    %eax,-0x4(%ebp)
15891 4000d2d0:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
15892 4000d2d4:       7e 2a                   jle    4000d300 <fflush+0x74>
15893 4000d2d6:       8b 45 08                mov    0x8(%ebp),%eax
15894 4000d2d9:       8b 40 14                mov    0x14(%eax),%eax
15895 4000d2dc:       89 c2                   mov    %eax,%edx
15896 4000d2de:       8b 45 08                mov    0x8(%ebp),%eax
15897 4000d2e1:       8b 40 10                mov    0x10(%eax),%eax
15898 4000d2e4:       89 d1                   mov    %edx,%ecx
15899 4000d2e6:       29 c1                   sub    %eax,%ecx
15900 4000d2e8:       89 c8                   mov    %ecx,%eax
15901 4000d2ea:       3b 45 fc                cmp    -0x4(%ebp),%eax
15902 4000d2ed:       7e 11                   jle    4000d300 <fflush+0x74>
15903 4000d2ef:       8b 45 08                mov    0x8(%ebp),%eax
15904 4000d2f2:       c7 40 0c 01 00 00 00    movl   $0x1,0xc(%eax)
15905 4000d2f9:       c7 45 fc ff ff ff ff    movl   $0xffffffff,-0x4(%ebp)
15906 4000d300:       8b 45 08                mov    0x8(%ebp),%eax
15907 4000d303:       8b 50 10                mov    0x10(%eax),%edx
15908 4000d306:       8b 45 08                mov    0x8(%ebp),%eax
15909 4000d309:       89 50 14                mov    %edx,0x14(%eax)
15910 4000d30c:       8b 45 fc                mov    -0x4(%ebp),%eax
15911 4000d30f:       89 45 ec                mov    %eax,-0x14(%ebp)
15912 4000d312:       eb 07                   jmp    4000d31b <fflush+0x8f>
15913 4000d314:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
15914 4000d31b:       8b 45 ec                mov    -0x14(%ebp),%eax
15915 4000d31e:       c9                      leave  
15916 4000d31f:       c3                      ret    
15918 4000d320 <puts>:
15919 4000d320:       55                      push   %ebp
15920 4000d321:       89 e5                   mov    %esp,%ebp
15921 4000d323:       83 ec 18                sub    $0x18,%esp
15922 4000d326:       a1 0c 1c 01 40          mov    0x40011c0c,%eax
15923 4000d32b:       89 44 24 04             mov    %eax,0x4(%esp)
15924 4000d32f:       8b 45 08                mov    0x8(%ebp),%eax
15925 4000d332:       89 04 24                mov    %eax,(%esp)
15926 4000d335:       e8 1e 00 00 00          call   4000d358 <fputs>
15927 4000d33a:       89 45 fc                mov    %eax,-0x4(%ebp)
15928 4000d33d:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
15929 4000d341:       7e 10                   jle    4000d353 <puts+0x33>
15930 4000d343:       c7 04 24 0a 00 00 00    movl   $0xa,(%esp)
15931 4000d34a:       e8 34 00 00 00          call   4000d383 <putchar>
15932 4000d34f:       83 45 fc 01             addl   $0x1,-0x4(%ebp)
15933 4000d353:       8b 45 fc                mov    -0x4(%ebp),%eax
15934 4000d356:       c9                      leave  
15935 4000d357:       c3                      ret    
15937 4000d358 <fputs>:
15938 4000d358:       55                      push   %ebp
15939 4000d359:       89 e5                   mov    %esp,%ebp
15940 4000d35b:       83 ec 18                sub    $0x18,%esp
15941 4000d35e:       8b 45 08                mov    0x8(%ebp),%eax
15942 4000d361:       89 04 24                mov    %eax,(%esp)
15943 4000d364:       e8 bb d6 ff ff          call   4000aa24 <strlen>
15944 4000d369:       89 c2                   mov    %eax,%edx
15945 4000d36b:       8b 45 0c                mov    0xc(%ebp),%eax
15946 4000d36e:       89 44 24 08             mov    %eax,0x8(%esp)
15947 4000d372:       89 54 24 04             mov    %edx,0x4(%esp)
15948 4000d376:       8b 45 08                mov    0x8(%ebp),%eax
15949 4000d379:       89 04 24                mov    %eax,(%esp)
15950 4000d37c:       e8 5d 00 00 00          call   4000d3de <_fwrite>
15951 4000d381:       c9                      leave  
15952 4000d382:       c3                      ret    
15954 4000d383 <putchar>:
15955 4000d383:       55                      push   %ebp
15956 4000d384:       89 e5                   mov    %esp,%ebp
15957 4000d386:       83 ec 08                sub    $0x8,%esp
15958 4000d389:       a1 0c 1c 01 40          mov    0x40011c0c,%eax
15959 4000d38e:       89 44 24 04             mov    %eax,0x4(%esp)
15960 4000d392:       8b 45 08                mov    0x8(%ebp),%eax
15961 4000d395:       89 04 24                mov    %eax,(%esp)
15962 4000d398:       e8 02 00 00 00          call   4000d39f <fputc>
15963 4000d39d:       c9                      leave  
15964 4000d39e:       c3                      ret    
15966 4000d39f <fputc>:
15967 4000d39f:       55                      push   %ebp
15968 4000d3a0:       89 e5                   mov    %esp,%ebp
15969 4000d3a2:       83 ec 28                sub    $0x28,%esp
15970 4000d3a5:       8b 45 08                mov    0x8(%ebp),%eax
15971 4000d3a8:       88 45 ff                mov    %al,-0x1(%ebp)
15972 4000d3ab:       8b 45 0c                mov    0xc(%ebp),%eax
15973 4000d3ae:       89 44 24 08             mov    %eax,0x8(%esp)
15974 4000d3b2:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
15975 4000d3b9:       00 
15976 4000d3ba:       8d 45 ff                lea    -0x1(%ebp),%eax
15977 4000d3bd:       89 04 24                mov    %eax,(%esp)
15978 4000d3c0:       e8 19 00 00 00          call   4000d3de <_fwrite>
15979 4000d3c5:       83 f8 01                cmp    $0x1,%eax
15980 4000d3c8:       75 08                   jne    4000d3d2 <fputc+0x33>
15981 4000d3ca:       8b 45 08                mov    0x8(%ebp),%eax
15982 4000d3cd:       89 45 ec                mov    %eax,-0x14(%ebp)
15983 4000d3d0:       eb 07                   jmp    4000d3d9 <fputc+0x3a>
15984 4000d3d2:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
15985 4000d3d9:       8b 45 ec                mov    -0x14(%ebp),%eax
15986 4000d3dc:       c9                      leave  
15987 4000d3dd:       c3                      ret    
15989 4000d3de <_fwrite>:
15990 4000d3de:       55                      push   %ebp
15991 4000d3df:       89 e5                   mov    %esp,%ebp
15992 4000d3e1:       83 ec 28                sub    $0x28,%esp
15993 4000d3e4:       83 7d 0c 00             cmpl   $0x0,0xc(%ebp)
15994 4000d3e8:       75 0c                   jne    4000d3f6 <_fwrite+0x18>
15995 4000d3ea:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
15996 4000d3f1:       e9 3c 01 00 00          jmp    4000d532 <_fwrite+0x154>
15997 4000d3f6:       83 7d 10 00             cmpl   $0x0,0x10(%ebp)
15998 4000d3fa:       0f 84 21 01 00 00       je     4000d521 <_fwrite+0x143>
15999 4000d400:       8b 45 10                mov    0x10(%ebp),%eax
16000 4000d403:       8b 00                   mov    (%eax),%eax
16001 4000d405:       85 c0                   test   %eax,%eax
16002 4000d407:       0f 88 14 01 00 00       js     4000d521 <_fwrite+0x143>
16003 4000d40d:       8b 45 10                mov    0x10(%ebp),%eax
16004 4000d410:       8b 40 08                mov    0x8(%eax),%eax
16005 4000d413:       83 e0 02                and    $0x2,%eax
16006 4000d416:       85 c0                   test   %eax,%eax
16007 4000d418:       0f 84 f0 00 00 00       je     4000d50e <_fwrite+0x130>
16008 4000d41e:       8b 45 10                mov    0x10(%ebp),%eax
16009 4000d421:       8b 40 18                mov    0x18(%eax),%eax
16010 4000d424:       85 c0                   test   %eax,%eax
16011 4000d426:       0f 84 93 00 00 00       je     4000d4bf <_fwrite+0xe1>
16012 4000d42c:       8b 45 10                mov    0x10(%ebp),%eax
16013 4000d42f:       8b 40 14                mov    0x14(%eax),%eax
16014 4000d432:       89 c2                   mov    %eax,%edx
16015 4000d434:       03 55 0c                add    0xc(%ebp),%edx
16016 4000d437:       8b 45 10                mov    0x10(%ebp),%eax
16017 4000d43a:       8b 40 10                mov    0x10(%eax),%eax
16018 4000d43d:       05 00 08 00 00          add    $0x800,%eax
16019 4000d442:       39 c2                   cmp    %eax,%edx
16020 4000d444:       76 0b                   jbe    4000d451 <_fwrite+0x73>
16021 4000d446:       8b 45 10                mov    0x10(%ebp),%eax
16022 4000d449:       89 04 24                mov    %eax,(%esp)
16023 4000d44c:       e8 3b fe ff ff          call   4000d28c <fflush>
16024 4000d451:       81 7d 0c 00 08 00 00    cmpl   $0x800,0xc(%ebp)
16025 4000d458:       76 07                   jbe    4000d461 <_fwrite+0x83>
16026 4000d45a:       c7 45 0c 00 08 00 00    movl   $0x800,0xc(%ebp)
16027 4000d461:       8b 45 10                mov    0x10(%ebp),%eax
16028 4000d464:       8b 50 14                mov    0x14(%eax),%edx
16029 4000d467:       8b 45 0c                mov    0xc(%ebp),%eax
16030 4000d46a:       89 44 24 08             mov    %eax,0x8(%esp)
16031 4000d46e:       8b 45 08                mov    0x8(%ebp),%eax
16032 4000d471:       89 44 24 04             mov    %eax,0x4(%esp)
16033 4000d475:       89 14 24                mov    %edx,(%esp)
16034 4000d478:       e8 ef d1 ff ff          call   4000a66c <memcpy>
16035 4000d47d:       8b 45 10                mov    0x10(%ebp),%eax
16036 4000d480:       8b 40 14                mov    0x14(%eax),%eax
16037 4000d483:       89 c2                   mov    %eax,%edx
16038 4000d485:       03 55 0c                add    0xc(%ebp),%edx
16039 4000d488:       8b 45 10                mov    0x10(%ebp),%eax
16040 4000d48b:       89 50 14                mov    %edx,0x14(%eax)
16041 4000d48e:       8b 45 0c                mov    0xc(%ebp),%eax
16042 4000d491:       89 44 24 08             mov    %eax,0x8(%esp)
16043 4000d495:       c7 44 24 04 0a 00 00    movl   $0xa,0x4(%esp)
16044 4000d49c:       00 
16045 4000d49d:       8b 45 08                mov    0x8(%ebp),%eax
16046 4000d4a0:       89 04 24                mov    %eax,(%esp)
16047 4000d4a3:       e8 74 d0 ff ff          call   4000a51c <memchr>
16048 4000d4a8:       85 c0                   test   %eax,%eax
16049 4000d4aa:       74 0b                   je     4000d4b7 <_fwrite+0xd9>
16050 4000d4ac:       8b 45 10                mov    0x10(%ebp),%eax
16051 4000d4af:       89 04 24                mov    %eax,(%esp)
16052 4000d4b2:       e8 d5 fd ff ff          call   4000d28c <fflush>
16053 4000d4b7:       8b 45 0c                mov    0xc(%ebp),%eax
16054 4000d4ba:       89 45 ec                mov    %eax,-0x14(%ebp)
16055 4000d4bd:       eb 73                   jmp    4000d532 <_fwrite+0x154>
16056 4000d4bf:       8b 45 10                mov    0x10(%ebp),%eax
16057 4000d4c2:       8b 10                   mov    (%eax),%edx
16058 4000d4c4:       8b 45 0c                mov    0xc(%ebp),%eax
16059 4000d4c7:       89 44 24 08             mov    %eax,0x8(%esp)
16060 4000d4cb:       8b 45 08                mov    0x8(%ebp),%eax
16061 4000d4ce:       89 44 24 04             mov    %eax,0x4(%esp)
16062 4000d4d2:       89 14 24                mov    %edx,(%esp)
16063 4000d4d5:       e8 db 5a ff ff          call   40002fb5 <write>
16064 4000d4da:       89 45 fc                mov    %eax,-0x4(%ebp)
16065 4000d4dd:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
16066 4000d4e1:       7e 23                   jle    4000d506 <_fwrite+0x128>
16067 4000d4e3:       8b 45 10                mov    0x10(%ebp),%eax
16068 4000d4e6:       8b 40 14                mov    0x14(%eax),%eax
16069 4000d4e9:       89 c2                   mov    %eax,%edx
16070 4000d4eb:       8b 45 10                mov    0x10(%ebp),%eax
16071 4000d4ee:       8b 40 10                mov    0x10(%eax),%eax
16072 4000d4f1:       89 d1                   mov    %edx,%ecx
16073 4000d4f3:       29 c1                   sub    %eax,%ecx
16074 4000d4f5:       89 c8                   mov    %ecx,%eax
16075 4000d4f7:       3b 45 fc                cmp    -0x4(%ebp),%eax
16076 4000d4fa:       7e 0a                   jle    4000d506 <_fwrite+0x128>
16077 4000d4fc:       8b 45 10                mov    0x10(%ebp),%eax
16078 4000d4ff:       c7 40 0c 01 00 00 00    movl   $0x1,0xc(%eax)
16079 4000d506:       8b 45 fc                mov    -0x4(%ebp),%eax
16080 4000d509:       89 45 ec                mov    %eax,-0x14(%ebp)
16081 4000d50c:       eb 24                   jmp    4000d532 <_fwrite+0x154>
16082 4000d50e:       8b 45 10                mov    0x10(%ebp),%eax
16083 4000d511:       c7 40 0c 01 00 00 00    movl   $0x1,0xc(%eax)
16084 4000d518:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
16085 4000d51f:       eb 11                   jmp    4000d532 <_fwrite+0x154>
16086 4000d521:       c7 05 10 1c 01 40 08    movl   $0x8,0x40011c10
16087 4000d528:       00 00 00 
16088 4000d52b:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
16089 4000d532:       8b 45 ec                mov    -0x14(%ebp),%eax
16090 4000d535:       c9                      leave  
16091 4000d536:       c3                      ret    
16093 4000d537 <fgets>:
16094 4000d537:       55                      push   %ebp
16095 4000d538:       89 e5                   mov    %esp,%ebp
16096 4000d53a:       83 ec 18                sub    $0x18,%esp
16097 4000d53d:       83 7d 10 00             cmpl   $0x0,0x10(%ebp)
16098 4000d541:       0f 84 8f 00 00 00       je     4000d5d6 <fgets+0x9f>
16099 4000d547:       8b 45 10                mov    0x10(%ebp),%eax
16100 4000d54a:       8b 00                   mov    (%eax),%eax
16101 4000d54c:       85 c0                   test   %eax,%eax
16102 4000d54e:       0f 88 82 00 00 00       js     4000d5d6 <fgets+0x9f>
16103 4000d554:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
16104 4000d55b:       eb 5d                   jmp    4000d5ba <fgets+0x83>
16105 4000d55d:       8b 45 10                mov    0x10(%ebp),%eax
16106 4000d560:       89 04 24                mov    %eax,(%esp)
16107 4000d563:       e8 84 00 00 00          call   4000d5ec <fgetc>
16108 4000d568:       89 45 fc                mov    %eax,-0x4(%ebp)
16109 4000d56b:       83 7d fc ff             cmpl   $0xffffffff,-0x4(%ebp)
16110 4000d56f:       74 54                   je     4000d5c5 <fgets+0x8e>
16111 4000d571:       8b 45 f8                mov    -0x8(%ebp),%eax
16112 4000d574:       89 c2                   mov    %eax,%edx
16113 4000d576:       03 55 08                add    0x8(%ebp),%edx
16114 4000d579:       8b 45 fc                mov    -0x4(%ebp),%eax
16115 4000d57c:       88 02                   mov    %al,(%edx)
16116 4000d57e:       a1 10 1c 01 40          mov    0x40011c10,%eax
16117 4000d583:       85 c0                   test   %eax,%eax
16118 4000d585:       7e 15                   jle    4000d59c <fgets+0x65>
16119 4000d587:       8b 15 10 1c 01 40       mov    0x40011c10,%edx
16120 4000d58d:       8b 45 10                mov    0x10(%ebp),%eax
16121 4000d590:       89 50 04                mov    %edx,0x4(%eax)
16122 4000d593:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
16123 4000d59a:       eb 4b                   jmp    4000d5e7 <fgets+0xb0>
16124 4000d59c:       8b 45 f8                mov    -0x8(%ebp),%eax
16125 4000d59f:       03 45 08                add    0x8(%ebp),%eax
16126 4000d5a2:       0f b6 00                movzbl (%eax),%eax
16127 4000d5a5:       84 c0                   test   %al,%al
16128 4000d5a7:       74 1c                   je     4000d5c5 <fgets+0x8e>
16129 4000d5a9:       8b 45 f8                mov    -0x8(%ebp),%eax
16130 4000d5ac:       03 45 08                add    0x8(%ebp),%eax
16131 4000d5af:       0f b6 00                movzbl (%eax),%eax
16132 4000d5b2:       3c 0a                   cmp    $0xa,%al
16133 4000d5b4:       74 0f                   je     4000d5c5 <fgets+0x8e>
16134 4000d5b6:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
16135 4000d5ba:       8b 45 0c                mov    0xc(%ebp),%eax
16136 4000d5bd:       83 e8 01                sub    $0x1,%eax
16137 4000d5c0:       3b 45 f8                cmp    -0x8(%ebp),%eax
16138 4000d5c3:       7f 98                   jg     4000d55d <fgets+0x26>
16139 4000d5c5:       8b 45 f8                mov    -0x8(%ebp),%eax
16140 4000d5c8:       03 45 08                add    0x8(%ebp),%eax
16141 4000d5cb:       c6 00 00                movb   $0x0,(%eax)
16142 4000d5ce:       8b 45 08                mov    0x8(%ebp),%eax
16143 4000d5d1:       89 45 ec                mov    %eax,-0x14(%ebp)
16144 4000d5d4:       eb 11                   jmp    4000d5e7 <fgets+0xb0>
16145 4000d5d6:       c7 05 10 1c 01 40 08    movl   $0x8,0x40011c10
16146 4000d5dd:       00 00 00 
16147 4000d5e0:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
16148 4000d5e7:       8b 45 ec                mov    -0x14(%ebp),%eax
16149 4000d5ea:       c9                      leave  
16150 4000d5eb:       c3                      ret    
16152 4000d5ec <fgetc>:
16153 4000d5ec:       55                      push   %ebp
16154 4000d5ed:       89 e5                   mov    %esp,%ebp
16155 4000d5ef:       83 ec 28                sub    $0x28,%esp
16156 4000d5f2:       c6 45 ff ff             movb   $0xff,-0x1(%ebp)
16157 4000d5f6:       8b 45 08                mov    0x8(%ebp),%eax
16158 4000d5f9:       89 44 24 08             mov    %eax,0x8(%esp)
16159 4000d5fd:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
16160 4000d604:       00 
16161 4000d605:       8d 45 ff                lea    -0x1(%ebp),%eax
16162 4000d608:       89 04 24                mov    %eax,(%esp)
16163 4000d60b:       e8 1b 00 00 00          call   4000d62b <_fread>
16164 4000d610:       0f b6 45 ff             movzbl -0x1(%ebp),%eax
16165 4000d614:       3c ff                   cmp    $0xff,%al
16166 4000d616:       75 0a                   jne    4000d622 <fgetc+0x36>
16167 4000d618:       8b 45 08                mov    0x8(%ebp),%eax
16168 4000d61b:       c7 40 0c 01 00 00 00    movl   $0x1,0xc(%eax)
16169 4000d622:       0f b6 45 ff             movzbl -0x1(%ebp),%eax
16170 4000d626:       0f be c0                movsbl %al,%eax
16171 4000d629:       c9                      leave  
16172 4000d62a:       c3                      ret    
16174 4000d62b <_fread>:
16175 4000d62b:       55                      push   %ebp
16176 4000d62c:       89 e5                   mov    %esp,%ebp
16177 4000d62e:       83 ec 28                sub    $0x28,%esp
16178 4000d631:       83 7d 10 00             cmpl   $0x0,0x10(%ebp)
16179 4000d635:       74 50                   je     4000d687 <_fread+0x5c>
16180 4000d637:       8b 45 10                mov    0x10(%ebp),%eax
16181 4000d63a:       8b 00                   mov    (%eax),%eax
16182 4000d63c:       85 c0                   test   %eax,%eax
16183 4000d63e:       78 47                   js     4000d687 <_fread+0x5c>
16184 4000d640:       8b 45 10                mov    0x10(%ebp),%eax
16185 4000d643:       8b 10                   mov    (%eax),%edx
16186 4000d645:       8b 45 0c                mov    0xc(%ebp),%eax
16187 4000d648:       89 44 24 08             mov    %eax,0x8(%esp)
16188 4000d64c:       8b 45 08                mov    0x8(%ebp),%eax
16189 4000d64f:       89 44 24 04             mov    %eax,0x4(%esp)
16190 4000d653:       89 14 24                mov    %edx,(%esp)
16191 4000d656:       e8 1c 58 ff ff          call   40002e77 <read>
16192 4000d65b:       89 45 fc                mov    %eax,-0x4(%ebp)
16193 4000d65e:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
16194 4000d662:       7e 1a                   jle    4000d67e <_fread+0x53>
16195 4000d664:       8b 45 fc                mov    -0x4(%ebp),%eax
16196 4000d667:       3b 45 0c                cmp    0xc(%ebp),%eax
16197 4000d66a:       73 0a                   jae    4000d676 <_fread+0x4b>
16198 4000d66c:       8b 45 10                mov    0x10(%ebp),%eax
16199 4000d66f:       c7 40 0c 01 00 00 00    movl   $0x1,0xc(%eax)
16200 4000d676:       8b 45 fc                mov    -0x4(%ebp),%eax
16201 4000d679:       89 45 ec                mov    %eax,-0x14(%ebp)
16202 4000d67c:       eb 1a                   jmp    4000d698 <_fread+0x6d>
16203 4000d67e:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
16204 4000d685:       eb 11                   jmp    4000d698 <_fread+0x6d>
16205 4000d687:       c7 05 10 1c 01 40 08    movl   $0x8,0x40011c10
16206 4000d68e:       00 00 00 
16207 4000d691:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
16208 4000d698:       8b 45 ec                mov    -0x14(%ebp),%eax
16209 4000d69b:       c9                      leave  
16210 4000d69c:       c3                      ret    
16212 4000d69d <fgetpos>:
16213 4000d69d:       55                      push   %ebp
16214 4000d69e:       89 e5                   mov    %esp,%ebp
16215 4000d6a0:       83 ec 08                sub    $0x8,%esp
16216 4000d6a3:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
16217 4000d6a7:       74 24                   je     4000d6cd <fgetpos+0x30>
16218 4000d6a9:       8b 45 08                mov    0x8(%ebp),%eax
16219 4000d6ac:       8b 00                   mov    (%eax),%eax
16220 4000d6ae:       85 c0                   test   %eax,%eax
16221 4000d6b0:       78 1b                   js     4000d6cd <fgetpos+0x30>
16222 4000d6b2:       8b 45 08                mov    0x8(%ebp),%eax
16223 4000d6b5:       89 04 24                mov    %eax,(%esp)
16224 4000d6b8:       e8 26 00 00 00          call   4000d6e3 <ftello>
16225 4000d6bd:       89 c2                   mov    %eax,%edx
16226 4000d6bf:       8b 45 0c                mov    0xc(%ebp),%eax
16227 4000d6c2:       89 10                   mov    %edx,(%eax)
16228 4000d6c4:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
16229 4000d6cb:       eb 11                   jmp    4000d6de <fgetpos+0x41>
16230 4000d6cd:       c7 05 10 1c 01 40 08    movl   $0x8,0x40011c10
16231 4000d6d4:       00 00 00 
16232 4000d6d7:       c7 45 fc ff ff ff ff    movl   $0xffffffff,-0x4(%ebp)
16233 4000d6de:       8b 45 fc                mov    -0x4(%ebp),%eax
16234 4000d6e1:       c9                      leave  
16235 4000d6e2:       c3                      ret    
16237 4000d6e3 <ftello>:
16238 4000d6e3:       55                      push   %ebp
16239 4000d6e4:       89 e5                   mov    %esp,%ebp
16240 4000d6e6:       83 ec 18                sub    $0x18,%esp
16241 4000d6e9:       8b 45 08                mov    0x8(%ebp),%eax
16242 4000d6ec:       8b 00                   mov    (%eax),%eax
16243 4000d6ee:       c7 44 24 08 01 00 00    movl   $0x1,0x8(%esp)
16244 4000d6f5:       00 
16245 4000d6f6:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
16246 4000d6fd:       00 
16247 4000d6fe:       89 04 24                mov    %eax,(%esp)
16248 4000d701:       e8 65 59 ff ff          call   4000306b <lseek>
16249 4000d706:       c9                      leave  
16250 4000d707:       c3                      ret    
16252 4000d708 <fsetpos>:
16253 4000d708:       55                      push   %ebp
16254 4000d709:       89 e5                   mov    %esp,%ebp
16255 4000d70b:       83 ec 18                sub    $0x18,%esp
16256 4000d70e:       83 7d 08 00             cmpl   $0x0,0x8(%ebp)
16257 4000d712:       74 2e                   je     4000d742 <fsetpos+0x3a>
16258 4000d714:       8b 45 08                mov    0x8(%ebp),%eax
16259 4000d717:       8b 00                   mov    (%eax),%eax
16260 4000d719:       85 c0                   test   %eax,%eax
16261 4000d71b:       78 25                   js     4000d742 <fsetpos+0x3a>
16262 4000d71d:       8b 45 0c                mov    0xc(%ebp),%eax
16263 4000d720:       8b 00                   mov    (%eax),%eax
16264 4000d722:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
16265 4000d729:       00 
16266 4000d72a:       89 44 24 04             mov    %eax,0x4(%esp)
16267 4000d72e:       8b 45 08                mov    0x8(%ebp),%eax
16268 4000d731:       89 04 24                mov    %eax,(%esp)
16269 4000d734:       e8 1f 00 00 00          call   4000d758 <fseeko>
16270 4000d739:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
16271 4000d740:       eb 11                   jmp    4000d753 <fsetpos+0x4b>
16272 4000d742:       c7 05 10 1c 01 40 08    movl   $0x8,0x40011c10
16273 4000d749:       00 00 00 
16274 4000d74c:       c7 45 fc ff ff ff ff    movl   $0xffffffff,-0x4(%ebp)
16275 4000d753:       8b 45 fc                mov    -0x4(%ebp),%eax
16276 4000d756:       c9                      leave  
16277 4000d757:       c3                      ret    
16279 4000d758 <fseeko>:
16280 4000d758:       55                      push   %ebp
16281 4000d759:       89 e5                   mov    %esp,%ebp
16282 4000d75b:       83 ec 18                sub    $0x18,%esp
16283 4000d75e:       8b 45 08                mov    0x8(%ebp),%eax
16284 4000d761:       89 04 24                mov    %eax,(%esp)
16285 4000d764:       e8 23 fb ff ff          call   4000d28c <fflush>
16286 4000d769:       8b 45 08                mov    0x8(%ebp),%eax
16287 4000d76c:       8b 10                   mov    (%eax),%edx
16288 4000d76e:       8b 45 10                mov    0x10(%ebp),%eax
16289 4000d771:       89 44 24 08             mov    %eax,0x8(%esp)
16290 4000d775:       8b 45 0c                mov    0xc(%ebp),%eax
16291 4000d778:       89 44 24 04             mov    %eax,0x4(%esp)
16292 4000d77c:       89 14 24                mov    %edx,(%esp)
16293 4000d77f:       e8 e7 58 ff ff          call   4000306b <lseek>
16294 4000d784:       3b 45 0c                cmp    0xc(%ebp),%eax
16295 4000d787:       75 09                   jne    4000d792 <fseeko+0x3a>
16296 4000d789:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
16297 4000d790:       eb 07                   jmp    4000d799 <fseeko+0x41>
16298 4000d792:       c7 45 fc ff ff ff ff    movl   $0xffffffff,-0x4(%ebp)
16299 4000d799:       8b 45 fc                mov    -0x4(%ebp),%eax
16300 4000d79c:       c9                      leave  
16301 4000d79d:       c3                      ret    
16303 4000d79e <freopen>:
16304 4000d79e:       55                      push   %ebp
16305 4000d79f:       89 e5                   mov    %esp,%ebp
16306 4000d7a1:       83 ec 18                sub    $0x18,%esp
16307 4000d7a4:       83 7d 10 00             cmpl   $0x0,0x10(%ebp)
16308 4000d7a8:       74 6c                   je     4000d816 <freopen+0x78>
16309 4000d7aa:       8b 45 10                mov    0x10(%ebp),%eax
16310 4000d7ad:       8b 00                   mov    (%eax),%eax
16311 4000d7af:       85 c0                   test   %eax,%eax
16312 4000d7b1:       78 63                   js     4000d816 <freopen+0x78>
16313 4000d7b3:       8b 45 10                mov    0x10(%ebp),%eax
16314 4000d7b6:       89 04 24                mov    %eax,(%esp)
16315 4000d7b9:       e8 ce fa ff ff          call   4000d28c <fflush>
16316 4000d7be:       8b 45 10                mov    0x10(%ebp),%eax
16317 4000d7c1:       8b 00                   mov    (%eax),%eax
16318 4000d7c3:       89 04 24                mov    %eax,(%esp)
16319 4000d7c6:       e8 b9 53 ff ff          call   40002b84 <close>
16320 4000d7cb:       8b 45 0c                mov    0xc(%ebp),%eax
16321 4000d7ce:       89 04 24                mov    %eax,(%esp)
16322 4000d7d1:       e8 30 f8 ff ff          call   4000d006 <oflag_str2num>
16323 4000d7d6:       89 c2                   mov    %eax,%edx
16324 4000d7d8:       8b 45 10                mov    0x10(%ebp),%eax
16325 4000d7db:       89 50 08                mov    %edx,0x8(%eax)
16326 4000d7de:       8b 45 10                mov    0x10(%ebp),%eax
16327 4000d7e1:       c7 40 0c 00 00 00 00    movl   $0x0,0xc(%eax)
16328 4000d7e8:       8b 45 10                mov    0x10(%ebp),%eax
16329 4000d7eb:       c7 40 04 00 00 00 00    movl   $0x0,0x4(%eax)
16330 4000d7f2:       8b 45 10                mov    0x10(%ebp),%eax
16331 4000d7f5:       8b 40 08                mov    0x8(%eax),%eax
16332 4000d7f8:       89 44 24 04             mov    %eax,0x4(%esp)
16333 4000d7fc:       8b 45 08                mov    0x8(%ebp),%eax
16334 4000d7ff:       89 04 24                mov    %eax,(%esp)
16335 4000d802:       e8 fa 50 ff ff          call   40002901 <open>
16336 4000d807:       89 c2                   mov    %eax,%edx
16337 4000d809:       8b 45 10                mov    0x10(%ebp),%eax
16338 4000d80c:       89 10                   mov    %edx,(%eax)
16339 4000d80e:       8b 45 10                mov    0x10(%ebp),%eax
16340 4000d811:       89 45 fc                mov    %eax,-0x4(%ebp)
16341 4000d814:       eb 11                   jmp    4000d827 <freopen+0x89>
16342 4000d816:       c7 05 10 1c 01 40 08    movl   $0x8,0x40011c10
16343 4000d81d:       00 00 00 
16344 4000d820:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
16345 4000d827:       8b 45 fc                mov    -0x4(%ebp),%eax
16346 4000d82a:       c9                      leave  
16347 4000d82b:       c3                      ret    
16349 4000d82c <fscanf>:
16350 4000d82c:       55                      push   %ebp
16351 4000d82d:       89 e5                   mov    %esp,%ebp
16352 4000d82f:       b8 00 00 00 00          mov    $0x0,%eax
16353 4000d834:       5d                      pop    %ebp
16354 4000d835:       c3                      ret    
16356 4000d836 <ungetc>:
16357 4000d836:       55                      push   %ebp
16358 4000d837:       89 e5                   mov    %esp,%ebp
16359 4000d839:       b8 00 00 00 00          mov    $0x0,%eax
16360 4000d83e:       5d                      pop    %ebp
16361 4000d83f:       c3                      ret    
16363 4000d840 <is_leapyear>:
16364 4000d840:       55                      push   %ebp
16365 4000d841:       89 e5                   mov    %esp,%ebp
16366 4000d843:       83 ec 10                sub    $0x10,%esp
16367 4000d846:       8b 4d 08                mov    0x8(%ebp),%ecx
16368 4000d849:       c7 45 f0 1f 85 eb 51    movl   $0x51eb851f,-0x10(%ebp)
16369 4000d850:       8b 45 f0                mov    -0x10(%ebp),%eax
16370 4000d853:       f7 e1                   mul    %ecx
16371 4000d855:       89 d0                   mov    %edx,%eax
16372 4000d857:       c1 e8 07                shr    $0x7,%eax
16373 4000d85a:       89 45 f4                mov    %eax,-0xc(%ebp)
16374 4000d85d:       69 45 f4 90 01 00 00    imul   $0x190,-0xc(%ebp),%eax
16375 4000d864:       89 ca                   mov    %ecx,%edx
16376 4000d866:       29 c2                   sub    %eax,%edx
16377 4000d868:       89 55 f4                mov    %edx,-0xc(%ebp)
16378 4000d86b:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
16379 4000d86f:       75 09                   jne    4000d87a <is_leapyear+0x3a>
16380 4000d871:       c7 45 f8 01 00 00 00    movl   $0x1,-0x8(%ebp)
16381 4000d878:       eb 4b                   jmp    4000d8c5 <is_leapyear+0x85>
16382 4000d87a:       8b 4d 08                mov    0x8(%ebp),%ecx
16383 4000d87d:       c7 45 f0 1f 85 eb 51    movl   $0x51eb851f,-0x10(%ebp)
16384 4000d884:       8b 45 f0                mov    -0x10(%ebp),%eax
16385 4000d887:       f7 e1                   mul    %ecx
16386 4000d889:       89 d0                   mov    %edx,%eax
16387 4000d88b:       c1 e8 05                shr    $0x5,%eax
16388 4000d88e:       89 45 fc                mov    %eax,-0x4(%ebp)
16389 4000d891:       6b 45 fc 64             imul   $0x64,-0x4(%ebp),%eax
16390 4000d895:       89 ca                   mov    %ecx,%edx
16391 4000d897:       29 c2                   sub    %eax,%edx
16392 4000d899:       89 55 fc                mov    %edx,-0x4(%ebp)
16393 4000d89c:       83 7d fc 00             cmpl   $0x0,-0x4(%ebp)
16394 4000d8a0:       75 09                   jne    4000d8ab <is_leapyear+0x6b>
16395 4000d8a2:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
16396 4000d8a9:       eb 1a                   jmp    4000d8c5 <is_leapyear+0x85>
16397 4000d8ab:       8b 45 08                mov    0x8(%ebp),%eax
16398 4000d8ae:       83 e0 03                and    $0x3,%eax
16399 4000d8b1:       85 c0                   test   %eax,%eax
16400 4000d8b3:       75 09                   jne    4000d8be <is_leapyear+0x7e>
16401 4000d8b5:       c7 45 f8 01 00 00 00    movl   $0x1,-0x8(%ebp)
16402 4000d8bc:       eb 07                   jmp    4000d8c5 <is_leapyear+0x85>
16403 4000d8be:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
16404 4000d8c5:       8b 45 f8                mov    -0x8(%ebp),%eax
16405 4000d8c8:       c9                      leave  
16406 4000d8c9:       c3                      ret    
16408 4000d8ca <getyday>:
16409 4000d8ca:       55                      push   %ebp
16410 4000d8cb:       89 e5                   mov    %esp,%ebp
16411 4000d8cd:       83 ec 38                sub    $0x38,%esp
16412 4000d8d0:       c7 45 d0 1f 00 00 00    movl   $0x1f,-0x30(%ebp)
16413 4000d8d7:       c7 45 d4 3b 00 00 00    movl   $0x3b,-0x2c(%ebp)
16414 4000d8de:       c7 45 d8 5a 00 00 00    movl   $0x5a,-0x28(%ebp)
16415 4000d8e5:       c7 45 dc 78 00 00 00    movl   $0x78,-0x24(%ebp)
16416 4000d8ec:       c7 45 e0 97 00 00 00    movl   $0x97,-0x20(%ebp)
16417 4000d8f3:       c7 45 e4 b5 00 00 00    movl   $0xb5,-0x1c(%ebp)
16418 4000d8fa:       c7 45 e8 d4 00 00 00    movl   $0xd4,-0x18(%ebp)
16419 4000d901:       c7 45 ec f3 00 00 00    movl   $0xf3,-0x14(%ebp)
16420 4000d908:       c7 45 f0 11 01 00 00    movl   $0x111,-0x10(%ebp)
16421 4000d90f:       c7 45 f4 30 01 00 00    movl   $0x130,-0xc(%ebp)
16422 4000d916:       c7 45 f8 4e 01 00 00    movl   $0x14e,-0x8(%ebp)
16423 4000d91d:       c7 45 fc 6d 01 00 00    movl   $0x16d,-0x4(%ebp)
16424 4000d924:       8b 45 08                mov    0x8(%ebp),%eax
16425 4000d927:       8b 40 10                mov    0x10(%eax),%eax
16426 4000d92a:       85 c0                   test   %eax,%eax
16427 4000d92c:       7e 12                   jle    4000d940 <getyday+0x76>
16428 4000d92e:       8b 45 08                mov    0x8(%ebp),%eax
16429 4000d931:       8b 40 10                mov    0x10(%eax),%eax
16430 4000d934:       83 e8 01                sub    $0x1,%eax
16431 4000d937:       8b 44 85 d0             mov    -0x30(%ebp,%eax,4),%eax
16432 4000d93b:       89 45 cc                mov    %eax,-0x34(%ebp)
16433 4000d93e:       eb 07                   jmp    4000d947 <getyday+0x7d>
16434 4000d940:       c7 45 cc 00 00 00 00    movl   $0x0,-0x34(%ebp)
16435 4000d947:       8b 45 08                mov    0x8(%ebp),%eax
16436 4000d94a:       8b 40 0c                mov    0xc(%eax),%eax
16437 4000d94d:       03 45 cc                add    -0x34(%ebp),%eax
16438 4000d950:       89 c2                   mov    %eax,%edx
16439 4000d952:       8b 45 08                mov    0x8(%ebp),%eax
16440 4000d955:       89 50 1c                mov    %edx,0x1c(%eax)
16441 4000d958:       8b 45 08                mov    0x8(%ebp),%eax
16442 4000d95b:       8b 40 14                mov    0x14(%eax),%eax
16443 4000d95e:       05 6c 07 00 00          add    $0x76c,%eax
16444 4000d963:       89 04 24                mov    %eax,(%esp)
16445 4000d966:       e8 d5 fe ff ff          call   4000d840 <is_leapyear>
16446 4000d96b:       85 c0                   test   %eax,%eax
16447 4000d96d:       74 0f                   je     4000d97e <getyday+0xb4>
16448 4000d96f:       8b 45 08                mov    0x8(%ebp),%eax
16449 4000d972:       8b 40 1c                mov    0x1c(%eax),%eax
16450 4000d975:       8d 50 01                lea    0x1(%eax),%edx
16451 4000d978:       8b 45 08                mov    0x8(%ebp),%eax
16452 4000d97b:       89 50 1c                mov    %edx,0x1c(%eax)
16453 4000d97e:       c9                      leave  
16454 4000d97f:       c3                      ret    
16456 4000d980 <getwday>:
16457 4000d980:       55                      push   %ebp
16458 4000d981:       89 e5                   mov    %esp,%ebp
16459 4000d983:       53                      push   %ebx
16460 4000d984:       83 ec 50                sub    $0x50,%esp
16461 4000d987:       c7 45 d0 01 00 00 00    movl   $0x1,-0x30(%ebp)
16462 4000d98e:       c7 45 d4 06 00 00 00    movl   $0x6,-0x2c(%ebp)
16463 4000d995:       c7 45 d8 04 00 00 00    movl   $0x4,-0x28(%ebp)
16464 4000d99c:       c7 45 dc 02 00 00 00    movl   $0x2,-0x24(%ebp)
16465 4000d9a3:       8b 45 08                mov    0x8(%ebp),%eax
16466 4000d9a6:       8b 40 14                mov    0x14(%eax),%eax
16467 4000d9a9:       05 6c 07 00 00          add    $0x76c,%eax
16468 4000d9ae:       89 45 e0                mov    %eax,-0x20(%ebp)
16469 4000d9b1:       8b 55 e0                mov    -0x20(%ebp),%edx
16470 4000d9b4:       c7 45 b0 1f 85 eb 51    movl   $0x51eb851f,-0x50(%ebp)
16471 4000d9bb:       8b 45 b0                mov    -0x50(%ebp),%eax
16472 4000d9be:       f7 e2                   mul    %edx
16473 4000d9c0:       89 d0                   mov    %edx,%eax
16474 4000d9c2:       c1 e8 05                shr    $0x5,%eax
16475 4000d9c5:       83 e0 03                and    $0x3,%eax
16476 4000d9c8:       89 45 e4                mov    %eax,-0x1c(%ebp)
16477 4000d9cb:       8b 4d e0                mov    -0x20(%ebp),%ecx
16478 4000d9ce:       c7 45 b0 1f 85 eb 51    movl   $0x51eb851f,-0x50(%ebp)
16479 4000d9d5:       8b 45 b0                mov    -0x50(%ebp),%eax
16480 4000d9d8:       f7 e1                   mul    %ecx
16481 4000d9da:       89 d3                   mov    %edx,%ebx
16482 4000d9dc:       c1 eb 05                shr    $0x5,%ebx
16483 4000d9df:       89 5d b4                mov    %ebx,-0x4c(%ebp)
16484 4000d9e2:       6b 45 b4 64             imul   $0x64,-0x4c(%ebp),%eax
16485 4000d9e6:       89 ca                   mov    %ecx,%edx
16486 4000d9e8:       29 c2                   sub    %eax,%edx
16487 4000d9ea:       89 55 b4                mov    %edx,-0x4c(%ebp)
16488 4000d9ed:       c7 45 b0 ab aa aa aa    movl   $0xaaaaaaab,-0x50(%ebp)
16489 4000d9f4:       8b 45 b0                mov    -0x50(%ebp),%eax
16490 4000d9f7:       f7 65 b4                mull   -0x4c(%ebp)
16491 4000d9fa:       89 d0                   mov    %edx,%eax
16492 4000d9fc:       c1 e8 03                shr    $0x3,%eax
16493 4000d9ff:       89 45 e8                mov    %eax,-0x18(%ebp)
16494 4000da02:       8b 4d e0                mov    -0x20(%ebp),%ecx
16495 4000da05:       c7 45 b0 1f 85 eb 51    movl   $0x51eb851f,-0x50(%ebp)
16496 4000da0c:       8b 45 b0                mov    -0x50(%ebp),%eax
16497 4000da0f:       f7 e1                   mul    %ecx
16498 4000da11:       89 d3                   mov    %edx,%ebx
16499 4000da13:       c1 eb 05                shr    $0x5,%ebx
16500 4000da16:       89 5d b8                mov    %ebx,-0x48(%ebp)
16501 4000da19:       6b 45 b8 64             imul   $0x64,-0x48(%ebp),%eax
16502 4000da1d:       89 ca                   mov    %ecx,%edx
16503 4000da1f:       29 c2                   sub    %eax,%edx
16504 4000da21:       89 55 b8                mov    %edx,-0x48(%ebp)
16505 4000da24:       c7 45 b0 ab aa aa aa    movl   $0xaaaaaaab,-0x50(%ebp)
16506 4000da2b:       8b 45 b0                mov    -0x50(%ebp),%eax
16507 4000da2e:       f7 65 b8                mull   -0x48(%ebp)
16508 4000da31:       89 d0                   mov    %edx,%eax
16509 4000da33:       c1 e8 03                shr    $0x3,%eax
16510 4000da36:       89 45 ec                mov    %eax,-0x14(%ebp)
16511 4000da39:       8b 55 ec                mov    -0x14(%ebp),%edx
16512 4000da3c:       89 d0                   mov    %edx,%eax
16513 4000da3e:       01 c0                   add    %eax,%eax
16514 4000da40:       01 d0                   add    %edx,%eax
16515 4000da42:       c1 e0 02                shl    $0x2,%eax
16516 4000da45:       8b 55 b8                mov    -0x48(%ebp),%edx
16517 4000da48:       29 c2                   sub    %eax,%edx
16518 4000da4a:       89 d0                   mov    %edx,%eax
16519 4000da4c:       89 45 ec                mov    %eax,-0x14(%ebp)
16520 4000da4f:       8b 45 ec                mov    -0x14(%ebp),%eax
16521 4000da52:       c1 e8 02                shr    $0x2,%eax
16522 4000da55:       89 45 f0                mov    %eax,-0x10(%ebp)
16523 4000da58:       8b 45 e4                mov    -0x1c(%ebp),%eax
16524 4000da5b:       8b 5c 85 d0             mov    -0x30(%ebp,%eax,4),%ebx
16525 4000da5f:       8b 55 ec                mov    -0x14(%ebp),%edx
16526 4000da62:       8b 45 e8                mov    -0x18(%ebp),%eax
16527 4000da65:       01 d0                   add    %edx,%eax
16528 4000da67:       89 c1                   mov    %eax,%ecx
16529 4000da69:       03 4d f0                add    -0x10(%ebp),%ecx
16530 4000da6c:       c7 45 b0 25 49 92 24    movl   $0x24924925,-0x50(%ebp)
16531 4000da73:       8b 45 b0                mov    -0x50(%ebp),%eax
16532 4000da76:       f7 e1                   mul    %ecx
16533 4000da78:       89 c8                   mov    %ecx,%eax
16534 4000da7a:       29 d0                   sub    %edx,%eax
16535 4000da7c:       d1 e8                   shr    %eax
16536 4000da7e:       8d 04 02                lea    (%edx,%eax,1),%eax
16537 4000da81:       89 c2                   mov    %eax,%edx
16538 4000da83:       c1 ea 02                shr    $0x2,%edx
16539 4000da86:       89 55 bc                mov    %edx,-0x44(%ebp)
16540 4000da89:       8b 45 bc                mov    -0x44(%ebp),%eax
16541 4000da8c:       c1 e0 03                shl    $0x3,%eax
16542 4000da8f:       2b 45 bc                sub    -0x44(%ebp),%eax
16543 4000da92:       89 ca                   mov    %ecx,%edx
16544 4000da94:       29 c2                   sub    %eax,%edx
16545 4000da96:       89 55 bc                mov    %edx,-0x44(%ebp)
16546 4000da99:       8b 45 bc                mov    -0x44(%ebp),%eax
16547 4000da9c:       8d 0c 03                lea    (%ebx,%eax,1),%ecx
16548 4000da9f:       c7 45 b0 25 49 92 24    movl   $0x24924925,-0x50(%ebp)
16549 4000daa6:       8b 45 b0                mov    -0x50(%ebp),%eax
16550 4000daa9:       f7 e1                   mul    %ecx
16551 4000daab:       89 c8                   mov    %ecx,%eax
16552 4000daad:       29 d0                   sub    %edx,%eax
16553 4000daaf:       d1 e8                   shr    %eax
16554 4000dab1:       8d 04 02                lea    (%edx,%eax,1),%eax
16555 4000dab4:       c1 e8 02                shr    $0x2,%eax
16556 4000dab7:       89 45 f4                mov    %eax,-0xc(%ebp)
16557 4000daba:       8b 55 f4                mov    -0xc(%ebp),%edx
16558 4000dabd:       89 d0                   mov    %edx,%eax
16559 4000dabf:       c1 e0 03                shl    $0x3,%eax
16560 4000dac2:       29 d0                   sub    %edx,%eax
16561 4000dac4:       89 ca                   mov    %ecx,%edx
16562 4000dac6:       29 c2                   sub    %eax,%edx
16563 4000dac8:       89 d0                   mov    %edx,%eax
16564 4000daca:       89 45 f4                mov    %eax,-0xc(%ebp)
16565 4000dacd:       8b 45 e0                mov    -0x20(%ebp),%eax
16566 4000dad0:       89 04 24                mov    %eax,(%esp)
16567 4000dad3:       e8 68 fd ff ff          call   4000d840 <is_leapyear>
16568 4000dad8:       83 f8 c5                cmp    $0xffffffc5,%eax
16569 4000dadb:       74 09                   je     4000dae6 <getwday+0x166>
16570 4000dadd:       c7 45 c0 06 00 00 00    movl   $0x6,-0x40(%ebp)
16571 4000dae4:       eb 07                   jmp    4000daed <getwday+0x16d>
16572 4000dae6:       c7 45 c0 07 00 00 00    movl   $0x7,-0x40(%ebp)
16573 4000daed:       8b 45 c0                mov    -0x40(%ebp),%eax
16574 4000daf0:       03 45 f4                add    -0xc(%ebp),%eax
16575 4000daf3:       89 45 f8                mov    %eax,-0x8(%ebp)
16576 4000daf6:       8b 45 08                mov    0x8(%ebp),%eax
16577 4000daf9:       8b 48 1c                mov    0x1c(%eax),%ecx
16578 4000dafc:       c7 45 b0 93 24 49 92    movl   $0x92492493,-0x50(%ebp)
16579 4000db03:       8b 45 b0                mov    -0x50(%ebp),%eax
16580 4000db06:       f7 e9                   imul   %ecx
16581 4000db08:       8d 04 0a                lea    (%edx,%ecx,1),%eax
16582 4000db0b:       89 c2                   mov    %eax,%edx
16583 4000db0d:       c1 fa 02                sar    $0x2,%edx
16584 4000db10:       89 c8                   mov    %ecx,%eax
16585 4000db12:       c1 f8 1f                sar    $0x1f,%eax
16586 4000db15:       89 d3                   mov    %edx,%ebx
16587 4000db17:       29 c3                   sub    %eax,%ebx
16588 4000db19:       89 5d c4                mov    %ebx,-0x3c(%ebp)
16589 4000db1c:       8b 45 c4                mov    -0x3c(%ebp),%eax
16590 4000db1f:       c1 e0 03                shl    $0x3,%eax
16591 4000db22:       2b 45 c4                sub    -0x3c(%ebp),%eax
16592 4000db25:       89 ca                   mov    %ecx,%edx
16593 4000db27:       29 c2                   sub    %eax,%edx
16594 4000db29:       89 55 c4                mov    %edx,-0x3c(%ebp)
16595 4000db2c:       8b 45 c4                mov    -0x3c(%ebp),%eax
16596 4000db2f:       89 c1                   mov    %eax,%ecx
16597 4000db31:       03 4d f8                add    -0x8(%ebp),%ecx
16598 4000db34:       c7 45 b0 25 49 92 24    movl   $0x24924925,-0x50(%ebp)
16599 4000db3b:       8b 45 b0                mov    -0x50(%ebp),%eax
16600 4000db3e:       f7 e1                   mul    %ecx
16601 4000db40:       89 c8                   mov    %ecx,%eax
16602 4000db42:       29 d0                   sub    %edx,%eax
16603 4000db44:       d1 e8                   shr    %eax
16604 4000db46:       8d 04 02                lea    (%edx,%eax,1),%eax
16605 4000db49:       89 c2                   mov    %eax,%edx
16606 4000db4b:       c1 ea 02                shr    $0x2,%edx
16607 4000db4e:       89 55 c8                mov    %edx,-0x38(%ebp)
16608 4000db51:       8b 45 c8                mov    -0x38(%ebp),%eax
16609 4000db54:       c1 e0 03                shl    $0x3,%eax
16610 4000db57:       2b 45 c8                sub    -0x38(%ebp),%eax
16611 4000db5a:       89 cb                   mov    %ecx,%ebx
16612 4000db5c:       29 c3                   sub    %eax,%ebx
16613 4000db5e:       89 5d c8                mov    %ebx,-0x38(%ebp)
16614 4000db61:       8b 45 c8                mov    -0x38(%ebp),%eax
16615 4000db64:       83 e8 01                sub    $0x1,%eax
16616 4000db67:       89 c2                   mov    %eax,%edx
16617 4000db69:       8b 45 08                mov    0x8(%ebp),%eax
16618 4000db6c:       89 50 18                mov    %edx,0x18(%eax)
16619 4000db6f:       83 c4 50                add    $0x50,%esp
16620 4000db72:       5b                      pop    %ebx
16621 4000db73:       5d                      pop    %ebp
16622 4000db74:       c3                      ret    
16624 4000db75 <gettimeofday>:
16625 4000db75:       55                      push   %ebp
16626 4000db76:       89 e5                   mov    %esp,%ebp
16627 4000db78:       57                      push   %edi
16628 4000db79:       56                      push   %esi
16629 4000db7a:       53                      push   %ebx
16630 4000db7b:       83 ec 6c                sub    $0x6c,%esp
16631 4000db7e:       a1 84 1b 01 40          mov    0x40011b84,%eax
16632 4000db83:       85 c0                   test   %eax,%eax
16633 4000db85:       0f 85 f0 01 00 00       jne    4000dd7b <gettimeofday+0x206>
16634 4000db8b:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
16635 4000db92:       e8 29 04 00 00          call   4000dfc0 <cmos_read>
16636 4000db97:       c1 f8 04                sar    $0x4,%eax
16637 4000db9a:       89 c2                   mov    %eax,%edx
16638 4000db9c:       83 e2 0f                and    $0xf,%edx
16639 4000db9f:       89 d0                   mov    %edx,%eax
16640 4000dba1:       c1 e0 02                shl    $0x2,%eax
16641 4000dba4:       01 d0                   add    %edx,%eax
16642 4000dba6:       01 c0                   add    %eax,%eax
16643 4000dba8:       89 c3                   mov    %eax,%ebx
16644 4000dbaa:       c7 04 24 00 00 00 00    movl   $0x0,(%esp)
16645 4000dbb1:       e8 0a 04 00 00          call   4000dfc0 <cmos_read>
16646 4000dbb6:       83 e0 0f                and    $0xf,%eax
16647 4000dbb9:       01 c3                   add    %eax,%ebx
16648 4000dbbb:       89 5d a8                mov    %ebx,-0x58(%ebp)
16649 4000dbbe:       c7 04 24 02 00 00 00    movl   $0x2,(%esp)
16650 4000dbc5:       e8 f6 03 00 00          call   4000dfc0 <cmos_read>
16651 4000dbca:       c1 f8 04                sar    $0x4,%eax
16652 4000dbcd:       89 c2                   mov    %eax,%edx
16653 4000dbcf:       83 e2 0f                and    $0xf,%edx
16654 4000dbd2:       89 d0                   mov    %edx,%eax
16655 4000dbd4:       c1 e0 02                shl    $0x2,%eax
16656 4000dbd7:       01 d0                   add    %edx,%eax
16657 4000dbd9:       01 c0                   add    %eax,%eax
16658 4000dbdb:       89 c3                   mov    %eax,%ebx
16659 4000dbdd:       c7 04 24 02 00 00 00    movl   $0x2,(%esp)
16660 4000dbe4:       e8 d7 03 00 00          call   4000dfc0 <cmos_read>
16661 4000dbe9:       83 e0 0f                and    $0xf,%eax
16662 4000dbec:       01 c3                   add    %eax,%ebx
16663 4000dbee:       89 5d ac                mov    %ebx,-0x54(%ebp)
16664 4000dbf1:       c7 04 24 04 00 00 00    movl   $0x4,(%esp)
16665 4000dbf8:       e8 c3 03 00 00          call   4000dfc0 <cmos_read>
16666 4000dbfd:       c1 f8 04                sar    $0x4,%eax
16667 4000dc00:       89 c2                   mov    %eax,%edx
16668 4000dc02:       83 e2 0f                and    $0xf,%edx
16669 4000dc05:       89 d0                   mov    %edx,%eax
16670 4000dc07:       c1 e0 02                shl    $0x2,%eax
16671 4000dc0a:       01 d0                   add    %edx,%eax
16672 4000dc0c:       01 c0                   add    %eax,%eax
16673 4000dc0e:       89 c3                   mov    %eax,%ebx
16674 4000dc10:       c7 04 24 04 00 00 00    movl   $0x4,(%esp)
16675 4000dc17:       e8 a4 03 00 00          call   4000dfc0 <cmos_read>
16676 4000dc1c:       83 e0 0f                and    $0xf,%eax
16677 4000dc1f:       01 c3                   add    %eax,%ebx
16678 4000dc21:       89 5d b0                mov    %ebx,-0x50(%ebp)
16679 4000dc24:       c7 04 24 07 00 00 00    movl   $0x7,(%esp)
16680 4000dc2b:       e8 90 03 00 00          call   4000dfc0 <cmos_read>
16681 4000dc30:       c1 f8 04                sar    $0x4,%eax
16682 4000dc33:       89 c2                   mov    %eax,%edx
16683 4000dc35:       83 e2 0f                and    $0xf,%edx
16684 4000dc38:       89 d0                   mov    %edx,%eax
16685 4000dc3a:       c1 e0 02                shl    $0x2,%eax
16686 4000dc3d:       01 d0                   add    %edx,%eax
16687 4000dc3f:       01 c0                   add    %eax,%eax
16688 4000dc41:       89 c3                   mov    %eax,%ebx
16689 4000dc43:       c7 04 24 07 00 00 00    movl   $0x7,(%esp)
16690 4000dc4a:       e8 71 03 00 00          call   4000dfc0 <cmos_read>
16691 4000dc4f:       83 e0 0f                and    $0xf,%eax
16692 4000dc52:       01 c3                   add    %eax,%ebx
16693 4000dc54:       89 5d b4                mov    %ebx,-0x4c(%ebp)
16694 4000dc57:       c7 04 24 08 00 00 00    movl   $0x8,(%esp)
16695 4000dc5e:       e8 5d 03 00 00          call   4000dfc0 <cmos_read>
16696 4000dc63:       c1 f8 04                sar    $0x4,%eax
16697 4000dc66:       89 c2                   mov    %eax,%edx
16698 4000dc68:       83 e2 0f                and    $0xf,%edx
16699 4000dc6b:       89 d0                   mov    %edx,%eax
16700 4000dc6d:       c1 e0 02                shl    $0x2,%eax
16701 4000dc70:       01 d0                   add    %edx,%eax
16702 4000dc72:       01 c0                   add    %eax,%eax
16703 4000dc74:       89 c3                   mov    %eax,%ebx
16704 4000dc76:       c7 04 24 08 00 00 00    movl   $0x8,(%esp)
16705 4000dc7d:       e8 3e 03 00 00          call   4000dfc0 <cmos_read>
16706 4000dc82:       83 e0 0f                and    $0xf,%eax
16707 4000dc85:       8d 04 03                lea    (%ebx,%eax,1),%eax
16708 4000dc88:       83 e8 01                sub    $0x1,%eax
16709 4000dc8b:       89 45 b8                mov    %eax,-0x48(%ebp)
16710 4000dc8e:       c7 04 24 09 00 00 00    movl   $0x9,(%esp)
16711 4000dc95:       e8 26 03 00 00          call   4000dfc0 <cmos_read>
16712 4000dc9a:       c1 f8 04                sar    $0x4,%eax
16713 4000dc9d:       89 c2                   mov    %eax,%edx
16714 4000dc9f:       83 e2 0f                and    $0xf,%edx
16715 4000dca2:       89 d0                   mov    %edx,%eax
16716 4000dca4:       c1 e0 02                shl    $0x2,%eax
16717 4000dca7:       01 d0                   add    %edx,%eax
16718 4000dca9:       01 c0                   add    %eax,%eax
16719 4000dcab:       89 c6                   mov    %eax,%esi
16720 4000dcad:       c7 04 24 32 00 00 00    movl   $0x32,(%esp)
16721 4000dcb4:       e8 07 03 00 00          call   4000dfc0 <cmos_read>
16722 4000dcb9:       c1 f8 04                sar    $0x4,%eax
16723 4000dcbc:       89 c2                   mov    %eax,%edx
16724 4000dcbe:       83 e2 0f                and    $0xf,%edx
16725 4000dcc1:       89 d0                   mov    %edx,%eax
16726 4000dcc3:       c1 e0 02                shl    $0x2,%eax
16727 4000dcc6:       01 d0                   add    %edx,%eax
16728 4000dcc8:       01 c0                   add    %eax,%eax
16729 4000dcca:       89 c3                   mov    %eax,%ebx
16730 4000dccc:       c7 04 24 32 00 00 00    movl   $0x32,(%esp)
16731 4000dcd3:       e8 e8 02 00 00          call   4000dfc0 <cmos_read>
16732 4000dcd8:       83 e0 0f                and    $0xf,%eax
16733 4000dcdb:       8d 04 03                lea    (%ebx,%eax,1),%eax
16734 4000dcde:       6b c0 64                imul   $0x64,%eax,%eax
16735 4000dce1:       8d 1c 06                lea    (%esi,%eax,1),%ebx
16736 4000dce4:       c7 04 24 09 00 00 00    movl   $0x9,(%esp)
16737 4000dceb:       e8 d0 02 00 00          call   4000dfc0 <cmos_read>
16738 4000dcf0:       83 e0 0f                and    $0xf,%eax
16739 4000dcf3:       8d 04 03                lea    (%ebx,%eax,1),%eax
16740 4000dcf6:       2d 6c 07 00 00          sub    $0x76c,%eax
16741 4000dcfb:       89 45 bc                mov    %eax,-0x44(%ebp)
16742 4000dcfe:       8d 45 d0                lea    -0x30(%ebp),%eax
16743 4000dd01:       89 45 a4                mov    %eax,-0x5c(%ebp)
16744 4000dd04:       c7 45 a0 00 00 00 00    movl   $0x0,-0x60(%ebp)
16745 4000dd0b:       b8 24 00 00 00          mov    $0x24,%eax
16746 4000dd10:       83 f8 04                cmp    $0x4,%eax
16747 4000dd13:       72 12                   jb     4000dd27 <gettimeofday+0x1b2>
16748 4000dd15:       c7 45 9c 09 00 00 00    movl   $0x9,-0x64(%ebp)
16749 4000dd1c:       8b 7d a4                mov    -0x5c(%ebp),%edi
16750 4000dd1f:       8b 4d 9c                mov    -0x64(%ebp),%ecx
16751 4000dd22:       8b 45 a0                mov    -0x60(%ebp),%eax
16752 4000dd25:       f3 ab                   rep stos %eax,%es:(%edi)
16753 4000dd27:       8b 45 a8                mov    -0x58(%ebp),%eax
16754 4000dd2a:       89 45 d0                mov    %eax,-0x30(%ebp)
16755 4000dd2d:       8b 55 ac                mov    -0x54(%ebp),%edx
16756 4000dd30:       89 55 d4                mov    %edx,-0x2c(%ebp)
16757 4000dd33:       8b 4d b0                mov    -0x50(%ebp),%ecx
16758 4000dd36:       89 4d d8                mov    %ecx,-0x28(%ebp)
16759 4000dd39:       8b 7d b4                mov    -0x4c(%ebp),%edi
16760 4000dd3c:       89 7d dc                mov    %edi,-0x24(%ebp)
16761 4000dd3f:       8b 45 b8                mov    -0x48(%ebp),%eax
16762 4000dd42:       89 45 e0                mov    %eax,-0x20(%ebp)
16763 4000dd45:       8b 55 bc                mov    -0x44(%ebp),%edx
16764 4000dd48:       89 55 e4                mov    %edx,-0x1c(%ebp)
16765 4000dd4b:       8d 45 d0                lea    -0x30(%ebp),%eax
16766 4000dd4e:       89 04 24                mov    %eax,(%esp)
16767 4000dd51:       e8 74 fb ff ff          call   4000d8ca <getyday>
16768 4000dd56:       8d 45 d0                lea    -0x30(%ebp),%eax
16769 4000dd59:       89 04 24                mov    %eax,(%esp)
16770 4000dd5c:       e8 1f fc ff ff          call   4000d980 <getwday>
16771 4000dd61:       8d 45 d0                lea    -0x30(%ebp),%eax
16772 4000dd64:       89 04 24                mov    %eax,(%esp)
16773 4000dd67:       e8 04 ba ff ff          call   40009770 <mktime>
16774 4000dd6c:       a3 84 1b 01 40          mov    %eax,0x40011b84
16775 4000dd71:       e8 f8 ba ff ff          call   4000986e <clock>
16776 4000dd76:       a3 88 1b 01 40          mov    %eax,0x40011b88
16777 4000dd7b:       e8 ee ba ff ff          call   4000986e <clock>
16778 4000dd80:       89 c2                   mov    %eax,%edx
16779 4000dd82:       a1 88 1b 01 40          mov    0x40011b88,%eax
16780 4000dd87:       29 c2                   sub    %eax,%edx
16781 4000dd89:       c7 45 98 1f 85 eb 51    movl   $0x51eb851f,-0x68(%ebp)
16782 4000dd90:       8b 45 98                mov    -0x68(%ebp),%eax
16783 4000dd93:       f7 e2                   mul    %edx
16784 4000dd95:       c1 ea 05                shr    $0x5,%edx
16785 4000dd98:       a1 84 1b 01 40          mov    0x40011b84,%eax
16786 4000dd9d:       01 c2                   add    %eax,%edx
16787 4000dd9f:       8b 45 08                mov    0x8(%ebp),%eax
16788 4000dda2:       89 10                   mov    %edx,(%eax)
16789 4000dda4:       e8 c5 ba ff ff          call   4000986e <clock>
16790 4000dda9:       89 c2                   mov    %eax,%edx
16791 4000ddab:       a1 88 1b 01 40          mov    0x40011b88,%eax
16792 4000ddb0:       89 d1                   mov    %edx,%ecx
16793 4000ddb2:       29 c1                   sub    %eax,%ecx
16794 4000ddb4:       89 c8                   mov    %ecx,%eax
16795 4000ddb6:       69 d0 40 42 0f 00       imul   $0xf4240,%eax,%edx
16796 4000ddbc:       c7 45 98 1f 85 eb 51    movl   $0x51eb851f,-0x68(%ebp)
16797 4000ddc3:       8b 45 98                mov    -0x68(%ebp),%eax
16798 4000ddc6:       f7 e2                   mul    %edx
16799 4000ddc8:       89 d1                   mov    %edx,%ecx
16800 4000ddca:       c1 e9 05                shr    $0x5,%ecx
16801 4000ddcd:       c7 45 98 83 de 1b 43    movl   $0x431bde83,-0x68(%ebp)
16802 4000ddd4:       8b 45 98                mov    -0x68(%ebp),%eax
16803 4000ddd7:       f7 e1                   mul    %ecx
16804 4000ddd9:       89 d7                   mov    %edx,%edi
16805 4000dddb:       c1 ef 12                shr    $0x12,%edi
16806 4000ddde:       89 7d c0                mov    %edi,-0x40(%ebp)
16807 4000dde1:       69 45 c0 40 42 0f 00    imul   $0xf4240,-0x40(%ebp),%eax
16808 4000dde8:       89 ca                   mov    %ecx,%edx
16809 4000ddea:       29 c2                   sub    %eax,%edx
16810 4000ddec:       89 55 c0                mov    %edx,-0x40(%ebp)
16811 4000ddef:       8b 55 c0                mov    -0x40(%ebp),%edx
16812 4000ddf2:       8b 45 08                mov    0x8(%ebp),%eax
16813 4000ddf5:       89 50 04                mov    %edx,0x4(%eax)
16814 4000ddf8:       b8 00 00 00 00          mov    $0x0,%eax
16815 4000ddfd:       83 c4 6c                add    $0x6c,%esp
16816 4000de00:       5b                      pop    %ebx
16817 4000de01:       5e                      pop    %esi
16818 4000de02:       5f                      pop    %edi
16819 4000de03:       5d                      pop    %ebp
16820 4000de04:       c3                      ret    
16821 4000de05:       90                      nop    
16822 4000de06:       90                      nop    
16823 4000de07:       90                      nop    
16824 4000de08:       90                      nop    
16825 4000de09:       90                      nop    
16826 4000de0a:       90                      nop    
16827 4000de0b:       90                      nop    
16828 4000de0c:       90                      nop    
16829 4000de0d:       90                      nop    
16830 4000de0e:       90                      nop    
16831 4000de0f:       90                      nop    
16833 4000de10 <dyn_call>:
16834 4000de10:       55                      push   %ebp
16835 4000de11:       53                      push   %ebx
16836 4000de12:       89 e5                   mov    %esp,%ebp
16837 4000de14:       8b 45 0c                mov    0xc(%ebp),%eax
16838 4000de17:       8b 5d 10                mov    0x10(%ebp),%ebx
16839 4000de1a:       8b 55 14                mov    0x14(%ebp),%edx
16840 4000de1d:       50                      push   %eax
16841 4000de1e:       52                      push   %edx
16842 4000de1f:       b8 04 00 00 00          mov    $0x4,%eax
16843 4000de24:       f7 e2                   mul    %edx
16844 4000de26:       01 c3                   add    %eax,%ebx
16845 4000de28:       5a                      pop    %edx
16846 4000de29:       58                      pop    %eax
16847 4000de2a:       09 d2                   or     %edx,%edx
16848 4000de2c:       74 0c                   je     4000de3a <dyn_call.lpe>
16849 4000de2e:       89 d1                   mov    %edx,%ecx
16851 4000de30 <dyn_call.lpb>:
16852 4000de30:       81 eb 04 00 00 00       sub    $0x4,%ebx
16853 4000de36:       ff 33                   pushl  (%ebx)
16854 4000de38:       e2 f6                   loop   4000de30 <dyn_call.lpb>
16856 4000de3a <dyn_call.lpe>:
16857 4000de3a:       ff d0                   call   *%eax
16858 4000de3c:       89 ec                   mov    %ebp,%esp
16859 4000de3e:       5b                      pop    %ebx
16860 4000de3f:       5d                      pop    %ebp
16861 4000de40:       c3                      ret    
16862 4000de41:       90                      nop    
16863 4000de42:       90                      nop    
16864 4000de43:       90                      nop    
16866 4000de44 <pack_create>:
16867 4000de44:       55                      push   %ebp
16868 4000de45:       89 e5                   mov    %esp,%ebp
16869 4000de47:       83 ec 18                sub    $0x18,%esp
16870 4000de4a:       c7 04 24 08 00 00 00    movl   $0x8,(%esp)
16871 4000de51:       e8 7e 96 ff ff          call   400074d4 <malloc>
16872 4000de56:       89 45 fc                mov    %eax,-0x4(%ebp)
16873 4000de59:       8b 55 fc                mov    -0x4(%ebp),%edx
16874 4000de5c:       8b 45 08                mov    0x8(%ebp),%eax
16875 4000de5f:       89 42 04                mov    %eax,0x4(%edx)
16876 4000de62:       8b 55 fc                mov    -0x4(%ebp),%edx
16877 4000de65:       8b 45 08                mov    0x8(%ebp),%eax
16878 4000de68:       89 02                   mov    %eax,(%edx)
16879 4000de6a:       8b 45 fc                mov    -0x4(%ebp),%eax
16880 4000de6d:       c9                      leave  
16881 4000de6e:       c3                      ret    
16883 4000de6f <packstr>:
16884 4000de6f:       55                      push   %ebp
16885 4000de70:       89 e5                   mov    %esp,%ebp
16886 4000de72:       53                      push   %ebx
16887 4000de73:       83 ec 14                sub    $0x14,%esp
16888 4000de76:       8b 45 08                mov    0x8(%ebp),%eax
16889 4000de79:       8b 00                   mov    (%eax),%eax
16890 4000de7b:       89 c2                   mov    %eax,%edx
16891 4000de7d:       8b 45 0c                mov    0xc(%ebp),%eax
16892 4000de80:       89 44 24 04             mov    %eax,0x4(%esp)
16893 4000de84:       89 14 24                mov    %edx,(%esp)
16894 4000de87:       e8 05 cb ff ff          call   4000a991 <strcpy>
16895 4000de8c:       8b 45 08                mov    0x8(%ebp),%eax
16896 4000de8f:       8b 18                   mov    (%eax),%ebx
16897 4000de91:       8b 45 0c                mov    0xc(%ebp),%eax
16898 4000de94:       89 04 24                mov    %eax,(%esp)
16899 4000de97:       e8 88 cb ff ff          call   4000aa24 <strlen>
16900 4000de9c:       83 c0 01                add    $0x1,%eax
16901 4000de9f:       8d 14 03                lea    (%ebx,%eax,1),%edx
16902 4000dea2:       8b 45 08                mov    0x8(%ebp),%eax
16903 4000dea5:       89 10                   mov    %edx,(%eax)
16904 4000dea7:       83 c4 14                add    $0x14,%esp
16905 4000deaa:       5b                      pop    %ebx
16906 4000deab:       5d                      pop    %ebp
16907 4000deac:       c3                      ret    
16909 4000dead <packnstr>:
16910 4000dead:       55                      push   %ebp
16911 4000deae:       89 e5                   mov    %esp,%ebp
16912 4000deb0:       53                      push   %ebx
16913 4000deb1:       83 ec 14                sub    $0x14,%esp
16914 4000deb4:       8b 45 08                mov    0x8(%ebp),%eax
16915 4000deb7:       8b 00                   mov    (%eax),%eax
16916 4000deb9:       89 c2                   mov    %eax,%edx
16917 4000debb:       8b 45 10                mov    0x10(%ebp),%eax
16918 4000debe:       89 44 24 08             mov    %eax,0x8(%esp)
16919 4000dec2:       8b 45 0c                mov    0xc(%ebp),%eax
16920 4000dec5:       89 44 24 04             mov    %eax,0x4(%esp)
16921 4000dec9:       89 14 24                mov    %edx,(%esp)
16922 4000decc:       e8 93 cc ff ff          call   4000ab64 <strncpy>
16923 4000ded1:       8b 45 08                mov    0x8(%ebp),%eax
16924 4000ded4:       8b 18                   mov    (%eax),%ebx
16925 4000ded6:       8b 45 08                mov    0x8(%ebp),%eax
16926 4000ded9:       8b 00                   mov    (%eax),%eax
16927 4000dedb:       89 04 24                mov    %eax,(%esp)
16928 4000dede:       e8 41 cb ff ff          call   4000aa24 <strlen>
16929 4000dee3:       83 c0 01                add    $0x1,%eax
16930 4000dee6:       8d 14 03                lea    (%ebx,%eax,1),%edx
16931 4000dee9:       8b 45 08                mov    0x8(%ebp),%eax
16932 4000deec:       89 10                   mov    %edx,(%eax)
16933 4000deee:       83 c4 14                add    $0x14,%esp
16934 4000def1:       5b                      pop    %ebx
16935 4000def2:       5d                      pop    %ebp
16936 4000def3:       c3                      ret    
16938 4000def4 <packdata>:
16939 4000def4:       55                      push   %ebp
16940 4000def5:       89 e5                   mov    %esp,%ebp
16941 4000def7:       83 ec 18                sub    $0x18,%esp
16942 4000defa:       8b 45 08                mov    0x8(%ebp),%eax
16943 4000defd:       8b 00                   mov    (%eax),%eax
16944 4000deff:       89 c2                   mov    %eax,%edx
16945 4000df01:       8b 45 10                mov    0x10(%ebp),%eax
16946 4000df04:       89 02                   mov    %eax,(%edx)
16947 4000df06:       8b 45 08                mov    0x8(%ebp),%eax
16948 4000df09:       8b 00                   mov    (%eax),%eax
16949 4000df0b:       8d 50 04                lea    0x4(%eax),%edx
16950 4000df0e:       8b 45 08                mov    0x8(%ebp),%eax
16951 4000df11:       89 10                   mov    %edx,(%eax)
16952 4000df13:       8b 45 08                mov    0x8(%ebp),%eax
16953 4000df16:       8b 10                   mov    (%eax),%edx
16954 4000df18:       8b 45 10                mov    0x10(%ebp),%eax
16955 4000df1b:       89 44 24 08             mov    %eax,0x8(%esp)
16956 4000df1f:       8b 45 0c                mov    0xc(%ebp),%eax
16957 4000df22:       89 44 24 04             mov    %eax,0x4(%esp)
16958 4000df26:       89 14 24                mov    %edx,(%esp)
16959 4000df29:       e8 3e c7 ff ff          call   4000a66c <memcpy>
16960 4000df2e:       8b 45 08                mov    0x8(%ebp),%eax
16961 4000df31:       8b 00                   mov    (%eax),%eax
16962 4000df33:       89 c2                   mov    %eax,%edx
16963 4000df35:       03 55 10                add    0x10(%ebp),%edx
16964 4000df38:       8b 45 08                mov    0x8(%ebp),%eax
16965 4000df3b:       89 10                   mov    %edx,(%eax)
16966 4000df3d:       c9                      leave  
16967 4000df3e:       c3                      ret    
16969 4000df3f <unpackstr>:
16970 4000df3f:       55                      push   %ebp
16971 4000df40:       89 e5                   mov    %esp,%ebp
16972 4000df42:       53                      push   %ebx
16973 4000df43:       83 ec 04                sub    $0x4,%esp
16974 4000df46:       8b 45 08                mov    0x8(%ebp),%eax
16975 4000df49:       8b 00                   mov    (%eax),%eax
16976 4000df4b:       89 c2                   mov    %eax,%edx
16977 4000df4d:       8b 45 0c                mov    0xc(%ebp),%eax
16978 4000df50:       89 10                   mov    %edx,(%eax)
16979 4000df52:       8b 45 08                mov    0x8(%ebp),%eax
16980 4000df55:       8b 18                   mov    (%eax),%ebx
16981 4000df57:       8b 45 08                mov    0x8(%ebp),%eax
16982 4000df5a:       8b 00                   mov    (%eax),%eax
16983 4000df5c:       89 04 24                mov    %eax,(%esp)
16984 4000df5f:       e8 c0 ca ff ff          call   4000aa24 <strlen>
16985 4000df64:       83 c0 01                add    $0x1,%eax
16986 4000df67:       8d 14 03                lea    (%ebx,%eax,1),%edx
16987 4000df6a:       8b 45 08                mov    0x8(%ebp),%eax
16988 4000df6d:       89 10                   mov    %edx,(%eax)
16989 4000df6f:       83 c4 04                add    $0x4,%esp
16990 4000df72:       5b                      pop    %ebx
16991 4000df73:       5d                      pop    %ebp
16992 4000df74:       c3                      ret    
16994 4000df75 <unpackdata>:
16995 4000df75:       55                      push   %ebp
16996 4000df76:       89 e5                   mov    %esp,%ebp
16997 4000df78:       83 ec 28                sub    $0x28,%esp
16998 4000df7b:       8b 45 08                mov    0x8(%ebp),%eax
16999 4000df7e:       8b 00                   mov    (%eax),%eax
17000 4000df80:       8b 00                   mov    (%eax),%eax
17001 4000df82:       89 45 fc                mov    %eax,-0x4(%ebp)
17002 4000df85:       8b 45 08                mov    0x8(%ebp),%eax
17003 4000df88:       8b 00                   mov    (%eax),%eax
17004 4000df8a:       8d 50 04                lea    0x4(%eax),%edx
17005 4000df8d:       8b 45 08                mov    0x8(%ebp),%eax
17006 4000df90:       89 10                   mov    %edx,(%eax)
17007 4000df92:       8b 55 fc                mov    -0x4(%ebp),%edx
17008 4000df95:       8b 45 08                mov    0x8(%ebp),%eax
17009 4000df98:       8b 00                   mov    (%eax),%eax
17010 4000df9a:       89 54 24 08             mov    %edx,0x8(%esp)
17011 4000df9e:       89 44 24 04             mov    %eax,0x4(%esp)
17012 4000dfa2:       8b 45 0c                mov    0xc(%ebp),%eax
17013 4000dfa5:       89 04 24                mov    %eax,(%esp)
17014 4000dfa8:       e8 bf c6 ff ff          call   4000a66c <memcpy>
17015 4000dfad:       8b 45 08                mov    0x8(%ebp),%eax
17016 4000dfb0:       8b 10                   mov    (%eax),%edx
17017 4000dfb2:       8b 45 fc                mov    -0x4(%ebp),%eax
17018 4000dfb5:       01 c2                   add    %eax,%edx
17019 4000dfb7:       8b 45 08                mov    0x8(%ebp),%eax
17020 4000dfba:       89 10                   mov    %edx,(%eax)
17021 4000dfbc:       c9                      leave  
17022 4000dfbd:       c3                      ret    
17023 4000dfbe:       90                      nop    
17024 4000dfbf:       90                      nop    
17026 4000dfc0 <cmos_read>:
17027 4000dfc0:       55                      push   %ebp
17028 4000dfc1:       89 e5                   mov    %esp,%ebp
17029 4000dfc3:       83 ec 18                sub    $0x18,%esp
17030 4000dfc6:       c7 04 24 70 00 00 00    movl   $0x70,(%esp)
17031 4000dfcd:       e8 55 00 00 00          call   4000e027 <inb>
17032 4000dfd2:       89 c2                   mov    %eax,%edx
17033 4000dfd4:       83 e2 80                and    $0xffffff80,%edx
17034 4000dfd7:       8b 45 08                mov    0x8(%ebp),%eax
17035 4000dfda:       83 e0 7f                and    $0x7f,%eax
17036 4000dfdd:       09 d0                   or     %edx,%eax
17037 4000dfdf:       0f b6 c0                movzbl %al,%eax
17038 4000dfe2:       89 44 24 04             mov    %eax,0x4(%esp)
17039 4000dfe6:       c7 04 24 70 00 00 00    movl   $0x70,(%esp)
17040 4000dfed:       e8 17 00 00 00          call   4000e009 <outb>
17041 4000dff2:       c7 04 24 71 00 00 00    movl   $0x71,(%esp)
17042 4000dff9:       e8 29 00 00 00          call   4000e027 <inb>
17043 4000dffe:       0f b6 c0                movzbl %al,%eax
17044 4000e001:       89 45 fc                mov    %eax,-0x4(%ebp)
17045 4000e004:       8b 45 fc                mov    -0x4(%ebp),%eax
17046 4000e007:       c9                      leave  
17047 4000e008:       c3                      ret    
17049 4000e009 <outb>:
17050 4000e009:       55                      push   %ebp
17051 4000e00a:       89 e5                   mov    %esp,%ebp
17052 4000e00c:       83 ec 08                sub    $0x8,%esp
17053 4000e00f:       8b 45 08                mov    0x8(%ebp),%eax
17054 4000e012:       8b 55 0c                mov    0xc(%ebp),%edx
17055 4000e015:       66 89 45 fc             mov    %ax,-0x4(%ebp)
17056 4000e019:       88 55 f8                mov    %dl,-0x8(%ebp)
17057 4000e01c:       0f b6 45 f8             movzbl -0x8(%ebp),%eax
17058 4000e020:       0f b7 55 fc             movzwl -0x4(%ebp),%edx
17059 4000e024:       ee                      out    %al,(%dx)
17060 4000e025:       c9                      leave  
17061 4000e026:       c3                      ret    
17063 4000e027 <inb>:
17064 4000e027:       55                      push   %ebp
17065 4000e028:       89 e5                   mov    %esp,%ebp
17066 4000e02a:       83 ec 14                sub    $0x14,%esp
17067 4000e02d:       8b 45 08                mov    0x8(%ebp),%eax
17068 4000e030:       66 89 45 ec             mov    %ax,-0x14(%ebp)
17069 4000e034:       0f b7 55 ec             movzwl -0x14(%ebp),%edx
17070 4000e038:       ec                      in     (%dx),%al
17071 4000e039:       88 45 ff                mov    %al,-0x1(%ebp)
17072 4000e03c:       0f b6 45 ff             movzbl -0x1(%ebp),%eax
17073 4000e040:       c9                      leave  
17074 4000e041:       c3                      ret    
17076 4000e042 <cmos_write>:
17077 4000e042:       55                      push   %ebp
17078 4000e043:       89 e5                   mov    %esp,%ebp
17079 4000e045:       83 ec 08                sub    $0x8,%esp
17080 4000e048:       c7 04 24 70 00 00 00    movl   $0x70,(%esp)
17081 4000e04f:       e8 d3 ff ff ff          call   4000e027 <inb>
17082 4000e054:       89 c2                   mov    %eax,%edx
17083 4000e056:       83 e2 80                and    $0xffffff80,%edx
17084 4000e059:       8b 45 08                mov    0x8(%ebp),%eax
17085 4000e05c:       83 e0 7f                and    $0x7f,%eax
17086 4000e05f:       09 d0                   or     %edx,%eax
17087 4000e061:       0f b6 c0                movzbl %al,%eax
17088 4000e064:       89 44 24 04             mov    %eax,0x4(%esp)
17089 4000e068:       c7 04 24 70 00 00 00    movl   $0x70,(%esp)
17090 4000e06f:       e8 95 ff ff ff          call   4000e009 <outb>
17091 4000e074:       8b 45 0c                mov    0xc(%ebp),%eax
17092 4000e077:       0f b6 c0                movzbl %al,%eax
17093 4000e07a:       89 44 24 04             mov    %eax,0x4(%esp)
17094 4000e07e:       c7 04 24 71 00 00 00    movl   $0x71,(%esp)
17095 4000e085:       e8 7f ff ff ff          call   4000e009 <outb>
17096 4000e08a:       c9                      leave  
17097 4000e08b:       c3                      ret    
17099 4000e08c <_irq_init>:
17100 4000e08c:       55                      push   %ebp
17101 4000e08d:       89 e5                   mov    %esp,%ebp
17102 4000e08f:       53                      push   %ebx
17103 4000e090:       83 ec 14                sub    $0x14,%esp
17104 4000e093:       c7 45 f8 00 00 00 00    movl   $0x0,-0x8(%ebp)
17105 4000e09a:       eb 13                   jmp    4000e0af <_irq_init+0x23>
17106 4000e09c:       8b 5d f8                mov    -0x8(%ebp),%ebx
17107 4000e09f:       e8 c0 cf ff ff          call   4000b064 <llist_create>
17108 4000e0a4:       89 04 9d c0 1b 01 40    mov    %eax,0x40011bc0(,%ebx,4)
17109 4000e0ab:       83 45 f8 01             addl   $0x1,-0x8(%ebp)
17110 4000e0af:       83 7d f8 0f             cmpl   $0xf,-0x8(%ebp)
17111 4000e0b3:       76 e7                   jbe    4000e09c <_irq_init+0x10>
17112 4000e0b5:       b8 00 00 00 00          mov    $0x0,%eax
17113 4000e0ba:       83 c4 14                add    $0x14,%esp
17114 4000e0bd:       5b                      pop    %ebx
17115 4000e0be:       5d                      pop    %ebp
17116 4000e0bf:       c3                      ret    
17118 4000e0c0 <irq_reghandler>:
17119 4000e0c0:       55                      push   %ebp
17120 4000e0c1:       89 e5                   mov    %esp,%ebp
17121 4000e0c3:       83 ec 28                sub    $0x28,%esp
17122 4000e0c6:       83 7d 08 0f             cmpl   $0xf,0x8(%ebp)
17123 4000e0ca:       0f 87 92 00 00 00       ja     4000e162 <irq_reghandler+0xa2>
17124 4000e0d0:       8b 45 08                mov    0x8(%ebp),%eax
17125 4000e0d3:       8b 04 85 c0 1b 01 40    mov    0x40011bc0(,%eax,4),%eax
17126 4000e0da:       89 04 24                mov    %eax,(%esp)
17127 4000e0dd:       e8 d1 cf ff ff          call   4000b0b3 <llist_size>
17128 4000e0e2:       85 c0                   test   %eax,%eax
17129 4000e0e4:       75 31                   jne    4000e117 <irq_reghandler+0x57>
17130 4000e0e6:       c7 44 24 0c 40 f2 00    movl   $0x4000f240,0xc(%esp)
17131 4000e0ed:       40 
17132 4000e0ee:       8b 45 08                mov    0x8(%ebp),%eax
17133 4000e0f1:       89 44 24 08             mov    %eax,0x8(%esp)
17134 4000e0f5:       c7 44 24 04 02 00 00    movl   $0x2,0x4(%esp)
17135 4000e0fc:       00 
17136 4000e0fd:       c7 04 24 4a 00 00 00    movl   $0x4a,(%esp)
17137 4000e104:       e8 c7 e8 ff ff          call   4000c9d0 <syscall_call>
17138 4000e109:       83 f8 ff                cmp    $0xffffffff,%eax
17139 4000e10c:       75 09                   jne    4000e117 <irq_reghandler+0x57>
17140 4000e10e:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
17141 4000e115:       eb 52                   jmp    4000e169 <irq_reghandler+0xa9>
17142 4000e117:       c7 04 24 0c 00 00 00    movl   $0xc,(%esp)
17143 4000e11e:       e8 b1 93 ff ff          call   400074d4 <malloc>
17144 4000e123:       89 45 fc                mov    %eax,-0x4(%ebp)
17145 4000e126:       8b 55 fc                mov    -0x4(%ebp),%edx
17146 4000e129:       8b 45 0c                mov    0xc(%ebp),%eax
17147 4000e12c:       89 02                   mov    %eax,(%edx)
17148 4000e12e:       8b 55 fc                mov    -0x4(%ebp),%edx
17149 4000e131:       8b 45 10                mov    0x10(%ebp),%eax
17150 4000e134:       89 42 04                mov    %eax,0x4(%edx)
17151 4000e137:       8b 55 fc                mov    -0x4(%ebp),%edx
17152 4000e13a:       8b 45 14                mov    0x14(%ebp),%eax
17153 4000e13d:       89 42 08                mov    %eax,0x8(%edx)
17154 4000e140:       8b 45 08                mov    0x8(%ebp),%eax
17155 4000e143:       8b 14 85 c0 1b 01 40    mov    0x40011bc0(,%eax,4),%edx
17156 4000e14a:       8b 45 fc                mov    -0x4(%ebp),%eax
17157 4000e14d:       89 44 24 04             mov    %eax,0x4(%esp)
17158 4000e151:       89 14 24                mov    %edx,(%esp)
17159 4000e154:       e8 86 cf ff ff          call   4000b0df <llist_push>
17160 4000e159:       c7 45 ec 00 00 00 00    movl   $0x0,-0x14(%ebp)
17161 4000e160:       eb 07                   jmp    4000e169 <irq_reghandler+0xa9>
17162 4000e162:       c7 45 ec ff ff ff ff    movl   $0xffffffff,-0x14(%ebp)
17163 4000e169:       8b 45 ec                mov    -0x14(%ebp),%eax
17164 4000e16c:       c9                      leave  
17165 4000e16d:       c3                      ret    
17167 4000e16e <_irq_handler>:
17168 4000e16e:       55                      push   %ebp
17169 4000e16f:       89 e5                   mov    %esp,%ebp
17170 4000e171:       83 ec 18                sub    $0x18,%esp
17171 4000e174:       83 7d 08 0f             cmpl   $0xf,0x8(%ebp)
17172 4000e178:       0f 87 8f 00 00 00       ja     4000e20d <_irq_handler+0x9f>
17173 4000e17e:       a1 a0 1b 01 40          mov    0x40011ba0,%eax
17174 4000e183:       85 c0                   test   %eax,%eax
17175 4000e185:       0f 85 82 00 00 00       jne    4000e20d <_irq_handler+0x9f>
17176 4000e18b:       c7 45 f0 00 00 00 00    movl   $0x0,-0x10(%ebp)
17177 4000e192:       eb 57                   jmp    4000e1eb <_irq_handler+0x7d>
17178 4000e194:       c7 05 a0 1b 01 40 01    movl   $0x1,0x40011ba0
17179 4000e19b:       00 00 00 
17180 4000e19e:       8b 45 f4                mov    -0xc(%ebp),%eax
17181 4000e1a1:       8b 40 08                mov    0x8(%eax),%eax
17182 4000e1a4:       85 c0                   test   %eax,%eax
17183 4000e1a6:       74 1f                   je     4000e1c7 <_irq_handler+0x59>
17184 4000e1a8:       8b 45 f4                mov    -0xc(%ebp),%eax
17185 4000e1ab:       8b 00                   mov    (%eax),%eax
17186 4000e1ad:       89 45 f8                mov    %eax,-0x8(%ebp)
17187 4000e1b0:       8b 45 f4                mov    -0xc(%ebp),%eax
17188 4000e1b3:       8b 40 04                mov    0x4(%eax),%eax
17189 4000e1b6:       89 44 24 04             mov    %eax,0x4(%esp)
17190 4000e1ba:       8b 45 08                mov    0x8(%ebp),%eax
17191 4000e1bd:       89 04 24                mov    %eax,(%esp)
17192 4000e1c0:       8b 45 f8                mov    -0x8(%ebp),%eax
17193 4000e1c3:       ff d0                   call   *%eax
17194 4000e1c5:       eb 16                   jmp    4000e1dd <_irq_handler+0x6f>
17195 4000e1c7:       8b 45 f4                mov    -0xc(%ebp),%eax
17196 4000e1ca:       8b 00                   mov    (%eax),%eax
17197 4000e1cc:       89 45 fc                mov    %eax,-0x4(%ebp)
17198 4000e1cf:       8b 45 f4                mov    -0xc(%ebp),%eax
17199 4000e1d2:       8b 40 04                mov    0x4(%eax),%eax
17200 4000e1d5:       89 04 24                mov    %eax,(%esp)
17201 4000e1d8:       8b 45 fc                mov    -0x4(%ebp),%eax
17202 4000e1db:       ff d0                   call   *%eax
17203 4000e1dd:       c7 05 a0 1b 01 40 00    movl   $0x0,0x40011ba0
17204 4000e1e4:       00 00 00 
17205 4000e1e7:       83 45 f0 01             addl   $0x1,-0x10(%ebp)
17206 4000e1eb:       8b 45 08                mov    0x8(%ebp),%eax
17207 4000e1ee:       8b 14 85 c0 1b 01 40    mov    0x40011bc0(,%eax,4),%edx
17208 4000e1f5:       8b 45 f0                mov    -0x10(%ebp),%eax
17209 4000e1f8:       89 44 24 04             mov    %eax,0x4(%esp)
17210 4000e1fc:       89 14 24                mov    %edx,(%esp)
17211 4000e1ff:       e8 13 d0 ff ff          call   4000b217 <llist_get>
17212 4000e204:       89 45 f4                mov    %eax,-0xc(%ebp)
17213 4000e207:       83 7d f4 00             cmpl   $0x0,-0xc(%ebp)
17214 4000e20b:       75 87                   jne    4000e194 <_irq_handler+0x26>
17215 4000e20d:       c9                      leave  
17216 4000e20e:       c3                      ret    
17218 4000e20f <irq_sleep>:
17219 4000e20f:       55                      push   %ebp
17220 4000e210:       89 e5                   mov    %esp,%ebp
17221 4000e212:       83 ec 18                sub    $0x18,%esp
17222 4000e215:       83 7d 08 0f             cmpl   $0xf,0x8(%ebp)
17223 4000e219:       77 24                   ja     4000e23f <irq_sleep+0x30>
17224 4000e21b:       8b 45 08                mov    0x8(%ebp),%eax
17225 4000e21e:       89 44 24 08             mov    %eax,0x8(%esp)
17226 4000e222:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
17227 4000e229:       00 
17228 4000e22a:       c7 04 24 4b 00 00 00    movl   $0x4b,(%esp)
17229 4000e231:       e8 9a e7 ff ff          call   4000c9d0 <syscall_call>
17230 4000e236:       c7 45 fc 00 00 00 00    movl   $0x0,-0x4(%ebp)
17231 4000e23d:       eb 07                   jmp    4000e246 <irq_sleep+0x37>
17232 4000e23f:       c7 45 fc ff ff ff ff    movl   $0xffffffff,-0x4(%ebp)
17233 4000e246:       8b 45 fc                mov    -0x4(%ebp),%eax
17234 4000e249:       c9                      leave  
17235 4000e24a:       c3                      ret    
17236 4000e24b:       90                      nop    
17238 4000e24c <snprintf>:
17239 4000e24c:       55                      push   %ebp
17240 4000e24d:       89 e5                   mov    %esp,%ebp
17241 4000e24f:       83 ec 28                sub    $0x28,%esp
17242 4000e252:       8d 45 14                lea    0x14(%ebp),%eax
17243 4000e255:       89 45 f8                mov    %eax,-0x8(%ebp)
17244 4000e258:       8b 45 f8                mov    -0x8(%ebp),%eax
17245 4000e25b:       89 44 24 0c             mov    %eax,0xc(%esp)
17246 4000e25f:       8b 45 10                mov    0x10(%ebp),%eax
17247 4000e262:       89 44 24 08             mov    %eax,0x8(%esp)
17248 4000e266:       8b 45 0c                mov    0xc(%ebp),%eax
17249 4000e269:       89 44 24 04             mov    %eax,0x4(%esp)
17250 4000e26d:       8b 45 08                mov    0x8(%ebp),%eax
17251 4000e270:       89 04 24                mov    %eax,(%esp)
17252 4000e273:       e8 51 bb ff ff          call   40009dc9 <vsnprintf>
17253 4000e278:       89 45 fc                mov    %eax,-0x4(%ebp)
17254 4000e27b:       8b 45 fc                mov    -0x4(%ebp),%eax
17255 4000e27e:       c9                      leave  
17256 4000e27f:       c3                      ret    
17258 4000e280 <__udivdi3>:
17259 #endif
17261 #ifdef L_udivdi3
17262 UDWtype
17263 __udivdi3 (UDWtype n, UDWtype d)
17265 4000e280:       55                      push   %ebp
17266 4000e281:       89 e5                   mov    %esp,%ebp
17267 4000e283:       57                      push   %edi
17268 4000e284:       56                      push   %esi
17269 4000e285:       83 ec 20                sub    $0x20,%esp
17270 4000e288:       c7 45 e0 00 00 00 00    movl   $0x0,-0x20(%ebp)
17271 4000e28f:       8b 45 10                mov    0x10(%ebp),%eax
17272 4000e292:       8b 55 14                mov    0x14(%ebp),%edx
17273   DWunion rr;
17274   UWtype d0, d1, n0, n1, n2;
17275   UWtype q0, q1;
17276   UWtype b, bm;
17278   d0 = dd.s.low;
17279 4000e295:       89 45 f4                mov    %eax,-0xc(%ebp)
17280 4000e298:       89 c1                   mov    %eax,%ecx
17281   d1 = dd.s.high;
17282   n0 = nn.s.low;
17283 4000e29a:       8b 45 08                mov    0x8(%ebp),%eax
17284 4000e29d:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
17285   UWtype d0, d1, n0, n1, n2;
17286   UWtype q0, q1;
17287   UWtype b, bm;
17289   d0 = dd.s.low;
17290   d1 = dd.s.high;
17291 4000e2a4:       89 d7                   mov    %edx,%edi
17292   n0 = nn.s.low;
17293 4000e2a6:       89 45 ec                mov    %eax,-0x14(%ebp)
17294   n1 = nn.s.high;
17295 4000e2a9:       8b 75 0c                mov    0xc(%ebp),%esi
17297 #if !UDIV_NEEDS_NORMALIZATION
17298   if (d1 == 0)
17299 4000e2ac:       85 d2                   test   %edx,%edx
17300 4000e2ae:       75 30                   jne    4000e2e0 <__udivdi3+0x60>
17301     {
17302       if (d0 > n1)
17303 4000e2b0:       39 f1                   cmp    %esi,%ecx
17304 4000e2b2:       0f 86 a8 00 00 00       jbe    4000e360 <__udivdi3+0xe0>
17305         {
17306           /* 0q = nn / 0D */
17308           udiv_qrnnd (q0, n0, n1, n0, d0);
17309 4000e2b8:       89 f2                   mov    %esi,%edx
17310 4000e2ba:       f7 f1                   div    %ecx
17311 4000e2bc:       89 c1                   mov    %eax,%ecx
17312 4000e2be:       31 c0                   xor    %eax,%eax
17313                 }
17314             }
17315         }
17316     }
17318   const DWunion ww = {{.low = q0, .high = q1}};
17319 4000e2c0:       89 4d e0                mov    %ecx,-0x20(%ebp)
17320 4000e2c3:       89 45 e4                mov    %eax,-0x1c(%ebp)
17321 #ifdef L_udivdi3
17322 UDWtype
17323 __udivdi3 (UDWtype n, UDWtype d)
17325   return __udivmoddi4 (n, d, (UDWtype *) 0);
17327 4000e2c6:       8b 45 e0                mov    -0x20(%ebp),%eax
17328 4000e2c9:       8b 55 e4                mov    -0x1c(%ebp),%edx
17329 4000e2cc:       83 c4 20                add    $0x20,%esp
17330 4000e2cf:       5e                      pop    %esi
17331 4000e2d0:       5f                      pop    %edi
17332 4000e2d1:       5d                      pop    %ebp
17333 4000e2d2:       c3                      ret    
17334 4000e2d3:       8d b6 00 00 00 00       lea    0x0(%esi),%esi
17335 4000e2d9:       8d bc 27 00 00 00 00    lea    0x0(%edi),%edi
17336     }
17337 #endif /* UDIV_NEEDS_NORMALIZATION */
17339   else
17340     {
17341       if (d1 > n1)
17342 4000e2e0:       39 f2                   cmp    %esi,%edx
17343 4000e2e2:       0f 87 b8 00 00 00       ja     4000e3a0 <__udivdi3+0x120>
17344         }
17345       else
17346         {
17347           /* 0q = NN / dd */
17349           count_leading_zeros (bm, d1);
17350 4000e2e8:       0f bd c2                bsr    %edx,%eax
17351           if (bm == 0)
17352 4000e2eb:       83 f0 1f                xor    $0x1f,%eax
17353 4000e2ee:       89 45 e8                mov    %eax,-0x18(%ebp)
17354 4000e2f1:       0f 84 99 00 00 00       je     4000e390 <__udivdi3+0x110>
17355               UWtype m1, m0;
17356               /* Normalize.  */
17358               b = W_TYPE_SIZE - bm;
17360               d1 = (d1 << bm) | (d0 >> b);
17361 4000e2f7:       8b 55 e8                mov    -0x18(%ebp),%edx
17362 4000e2fa:       b8 20 00 00 00          mov    $0x20,%eax
17363 4000e2ff:       29 d0                   sub    %edx,%eax
17364 4000e301:       8b 55 f4                mov    -0xc(%ebp),%edx
17365 4000e304:       89 45 f0                mov    %eax,-0x10(%ebp)
17366 4000e307:       89 f8                   mov    %edi,%eax
17367 4000e309:       8a 4d f0                mov    -0x10(%ebp),%cl
17368               d0 = d0 << bm;
17369 4000e30c:       8b 7d f4                mov    -0xc(%ebp),%edi
17370               UWtype m1, m0;
17371               /* Normalize.  */
17373               b = W_TYPE_SIZE - bm;
17375               d1 = (d1 << bm) | (d0 >> b);
17376 4000e30f:       d3 ea                   shr    %cl,%edx
17377 4000e311:       8a 4d e8                mov    -0x18(%ebp),%cl
17378 4000e314:       d3 e0                   shl    %cl,%eax
17379 4000e316:       09 c2                   or     %eax,%edx
17380               d0 = d0 << bm;
17381               n2 = n1 >> b;
17382               n1 = (n1 << bm) | (n0 >> b);
17383 4000e318:       8b 45 ec                mov    -0x14(%ebp),%eax
17384               /* Normalize.  */
17386               b = W_TYPE_SIZE - bm;
17388               d1 = (d1 << bm) | (d0 >> b);
17389               d0 = d0 << bm;
17390 4000e31b:       d3 e7                   shl    %cl,%edi
17391               n2 = n1 >> b;
17392               n1 = (n1 << bm) | (n0 >> b);
17393 4000e31d:       8a 4d f0                mov    -0x10(%ebp),%cl
17394               UWtype m1, m0;
17395               /* Normalize.  */
17397               b = W_TYPE_SIZE - bm;
17399               d1 = (d1 << bm) | (d0 >> b);
17400 4000e320:       89 55 dc                mov    %edx,-0x24(%ebp)
17401               d0 = d0 << bm;
17402               n2 = n1 >> b;
17403               n1 = (n1 << bm) | (n0 >> b);
17404 4000e323:       d3 e8                   shr    %cl,%eax
17405 4000e325:       89 f2                   mov    %esi,%edx
17406 4000e327:       8a 4d e8                mov    -0x18(%ebp),%cl
17407 4000e32a:       d3 e2                   shl    %cl,%edx
17408               n0 = n0 << bm;
17410               udiv_qrnnd (q0, n1, n2, n1, d1);
17411 4000e32c:       8a 4d f0                mov    -0x10(%ebp),%cl
17412               b = W_TYPE_SIZE - bm;
17414               d1 = (d1 << bm) | (d0 >> b);
17415               d0 = d0 << bm;
17416               n2 = n1 >> b;
17417               n1 = (n1 << bm) | (n0 >> b);
17418 4000e32f:       09 d0                   or     %edx,%eax
17419               n0 = n0 << bm;
17421               udiv_qrnnd (q0, n1, n2, n1, d1);
17422 4000e331:       d3 ee                   shr    %cl,%esi
17423 4000e333:       89 f2                   mov    %esi,%edx
17424 4000e335:       89 75 d8                mov    %esi,-0x28(%ebp)
17425 4000e338:       f7 75 dc                divl   -0x24(%ebp)
17426 4000e33b:       89 d1                   mov    %edx,%ecx
17427 4000e33d:       89 45 d8                mov    %eax,-0x28(%ebp)
17428               umul_ppmm (m1, m0, q0, d0);
17429 4000e340:       f7 e7                   mul    %edi
17430 4000e342:       89 c6                   mov    %eax,%esi
17432               if (m1 > n1 || (m1 == n1 && m0 > n0))
17433 4000e344:       39 d1                   cmp    %edx,%ecx
17434 4000e346:       0f 82 7c 00 00 00       jb     4000e3c8 <__udivdi3+0x148>
17435 4000e34c:       39 ca                   cmp    %ecx,%edx
17436 4000e34e:       74 6c                   je     4000e3bc <__udivdi3+0x13c>
17437 4000e350:       8b 4d d8                mov    -0x28(%ebp),%ecx
17438 4000e353:       31 c0                   xor    %eax,%eax
17439 4000e355:       e9 66 ff ff ff          jmp    4000e2c0 <__udivdi3+0x40>
17440 4000e35a:       8d b6 00 00 00 00       lea    0x0(%esi),%esi
17441         }
17442       else
17443         {
17444           /* qq = NN / 0d */
17446           if (d0 == 0)
17447 4000e360:       8b 45 f4                mov    -0xc(%ebp),%eax
17448 4000e363:       85 c0                   test   %eax,%eax
17449 4000e365:       75 0c                   jne    4000e373 <__udivdi3+0xf3>
17450             d0 = 1 / d0;        /* Divide intentionally by zero.  */
17451 4000e367:       b8 01 00 00 00          mov    $0x1,%eax
17452 4000e36c:       31 d2                   xor    %edx,%edx
17453 4000e36e:       f7 75 f4                divl   -0xc(%ebp)
17454 4000e371:       89 c1                   mov    %eax,%ecx
17456           udiv_qrnnd (q1, n1, 0, n1, d0);
17457 4000e373:       89 f0                   mov    %esi,%eax
17458 4000e375:       89 fa                   mov    %edi,%edx
17459 4000e377:       f7 f1                   div    %ecx
17460 4000e379:       89 c6                   mov    %eax,%esi
17461           udiv_qrnnd (q0, n0, n1, n0, d0);
17462 4000e37b:       8b 45 ec                mov    -0x14(%ebp),%eax
17463 4000e37e:       f7 f1                   div    %ecx
17464 4000e380:       89 c1                   mov    %eax,%ecx
17465 4000e382:       89 f0                   mov    %esi,%eax
17466 4000e384:       e9 37 ff ff ff          jmp    4000e2c0 <__udivdi3+0x40>
17467 4000e389:       8d b4 26 00 00 00 00    lea    0x0(%esi),%esi
17469                  This special case is necessary, not an optimization.  */
17471               /* The condition on the next line takes advantage of that
17472                  n1 >= d1 (true due to program flow).  */
17473               if (n1 > d1 || n0 >= d0)
17474 4000e390:       39 d6                   cmp    %edx,%esi
17475 4000e392:       77 1c                   ja     4000e3b0 <__udivdi3+0x130>
17476 4000e394:       8b 55 f4                mov    -0xc(%ebp),%edx
17477 4000e397:       39 55 ec                cmp    %edx,-0x14(%ebp)
17478 4000e39a:       73 14                   jae    4000e3b0 <__udivdi3+0x130>
17479 4000e39c:       8d 74 26 00             lea    0x0(%esi),%esi
17480               umul_ppmm (m1, m0, q0, d0);
17482               if (m1 > n1 || (m1 == n1 && m0 > n0))
17483                 {
17484                   q0--;
17485                   sub_ddmmss (m1, m0, m1, m0, d1, d0);
17486 4000e3a0:       31 c9                   xor    %ecx,%ecx
17487 4000e3a2:       31 c0                   xor    %eax,%eax
17488 4000e3a4:       e9 17 ff ff ff          jmp    4000e2c0 <__udivdi3+0x40>
17489 4000e3a9:       8d b4 26 00 00 00 00    lea    0x0(%esi),%esi
17490               /* The condition on the next line takes advantage of that
17491                  n1 >= d1 (true due to program flow).  */
17492               if (n1 > d1 || n0 >= d0)
17493                 {
17494                   q0 = 1;
17495                   sub_ddmmss (n1, n0, n1, n0, d1, d0);
17496 4000e3b0:       b9 01 00 00 00          mov    $0x1,%ecx
17497 4000e3b5:       31 c0                   xor    %eax,%eax
17498 4000e3b7:       e9 04 ff ff ff          jmp    4000e2c0 <__udivdi3+0x40>
17499               n0 = n0 << bm;
17501               udiv_qrnnd (q0, n1, n2, n1, d1);
17502               umul_ppmm (m1, m0, q0, d0);
17504               if (m1 > n1 || (m1 == n1 && m0 > n0))
17505 4000e3bc:       8b 45 ec                mov    -0x14(%ebp),%eax
17506 4000e3bf:       8a 4d e8                mov    -0x18(%ebp),%cl
17507 4000e3c2:       d3 e0                   shl    %cl,%eax
17508 4000e3c4:       39 c6                   cmp    %eax,%esi
17509 4000e3c6:       76 88                   jbe    4000e350 <__udivdi3+0xd0>
17510                 {
17511                   q0--;
17512                   sub_ddmmss (m1, m0, m1, m0, d1, d0);
17513 4000e3c8:       8b 4d d8                mov    -0x28(%ebp),%ecx
17514 4000e3cb:       31 c0                   xor    %eax,%eax
17515 4000e3cd:       49                      dec    %ecx
17516 4000e3ce:       e9 ed fe ff ff          jmp    4000e2c0 <__udivdi3+0x40>
17517 4000e3d3:       90                      nop    
17518 4000e3d4:       90                      nop    
17519 4000e3d5:       90                      nop    
17520 4000e3d6:       90                      nop    
17521 4000e3d7:       90                      nop    
17522 4000e3d8:       90                      nop    
17523 4000e3d9:       90                      nop    
17524 4000e3da:       90                      nop    
17525 4000e3db:       90                      nop    
17526 4000e3dc:       90                      nop    
17527 4000e3dd:       90                      nop    
17528 4000e3de:       90                      nop    
17529 4000e3df:       90                      nop    
17531 4000e3e0 <__umoddi3>:
17532 #endif
17534 #ifdef L_umoddi3
17535 UDWtype
17536 __umoddi3 (UDWtype u, UDWtype v)
17538 4000e3e0:       55                      push   %ebp
17539 4000e3e1:       89 e5                   mov    %esp,%ebp
17540 4000e3e3:       57                      push   %edi
17541 4000e3e4:       56                      push   %esi
17542 4000e3e5:       83 ec 30                sub    $0x30,%esp
17543 4000e3e8:       c7 45 d0 00 00 00 00    movl   $0x0,-0x30(%ebp)
17544 4000e3ef:       8b 55 14                mov    0x14(%ebp),%edx
17545 4000e3f2:       8b 45 10                mov    0x10(%ebp),%eax
17546   UWtype d0, d1, n0, n1, n2;
17547   UWtype q0, q1;
17548   UWtype b, bm;
17550   d0 = dd.s.low;
17551   d1 = dd.s.high;
17552 4000e3f5:       89 55 e8                mov    %edx,-0x18(%ebp)
17553 #endif
17555 #ifdef L_umoddi3
17556 UDWtype
17557 __umoddi3 (UDWtype u, UDWtype v)
17559 4000e3f8:       8b 75 08                mov    0x8(%ebp),%esi
17560 4000e3fb:       8b 7d 0c                mov    0xc(%ebp),%edi
17561   DWunion rr;
17562   UWtype d0, d1, n0, n1, n2;
17563   UWtype q0, q1;
17564   UWtype b, bm;
17566   d0 = dd.s.low;
17567 4000e3fe:       89 45 ec                mov    %eax,-0x14(%ebp)
17568 4000e401:       89 c1                   mov    %eax,%ecx
17569   d1 = dd.s.high;
17570   n0 = nn.s.low;
17571   n1 = nn.s.high;
17573 #if !UDIV_NEEDS_NORMALIZATION
17574   if (d1 == 0)
17575 4000e403:       8b 45 e8                mov    -0x18(%ebp),%eax
17576 4000e406:       c7 45 d4 00 00 00 00    movl   $0x0,-0x2c(%ebp)
17577   UWtype q0, q1;
17578   UWtype b, bm;
17580   d0 = dd.s.low;
17581   d1 = dd.s.high;
17582   n0 = nn.s.low;
17583 4000e40d:       89 75 e4                mov    %esi,-0x1c(%ebp)
17584 4000e410:       89 75 f0                mov    %esi,-0x10(%ebp)
17585   n1 = nn.s.high;
17586 4000e413:       89 7d e0                mov    %edi,-0x20(%ebp)
17587 4000e416:       89 fa                   mov    %edi,%edx
17589 #if !UDIV_NEEDS_NORMALIZATION
17590   if (d1 == 0)
17591 4000e418:       85 c0                   test   %eax,%eax
17592 4000e41a:       75 14                   jne    4000e430 <__umoddi3+0x50>
17593     {
17594       if (d0 > n1)
17595 4000e41c:       39 f9                   cmp    %edi,%ecx
17596 4000e41e:       76 60                   jbe    4000e480 <__umoddi3+0xa0>
17597         {
17598           /* 0q = nn / 0D */
17600           udiv_qrnnd (q0, n0, n1, n0, d0);
17601 4000e420:       89 f0                   mov    %esi,%eax
17602 4000e422:       f7 f1                   div    %ecx
17603           /* Remainder in n0.  */
17604         }
17606       if (rp != 0)
17607         {
17608           rr.s.low = n0;
17609 4000e424:       89 55 d0                mov    %edx,-0x30(%ebp)
17610           rr.s.high = 0;
17611 4000e427:       c7 45 d4 00 00 00 00    movl   $0x0,-0x2c(%ebp)
17612 4000e42e:       eb 10                   jmp    4000e440 <__umoddi3+0x60>
17613     }
17614 #endif /* UDIV_NEEDS_NORMALIZATION */
17616   else
17617     {
17618       if (d1 > n1)
17619 4000e430:       8b 4d e0                mov    -0x20(%ebp),%ecx
17620 4000e433:       39 4d e8                cmp    %ecx,-0x18(%ebp)
17621 4000e436:       76 18                   jbe    4000e450 <__umoddi3+0x70>
17622           q1 = 0;
17624           /* Remainder in n1n0.  */
17625           if (rp != 0)
17626             {
17627               rr.s.low = n0;
17628 4000e438:       89 75 d0                mov    %esi,-0x30(%ebp)
17629               rr.s.high = n1;
17630 4000e43b:       89 7d d4                mov    %edi,-0x2c(%ebp)
17631 4000e43e:       66 90                   xchg   %ax,%ax
17632   UDWtype w;
17634   (void) __udivmoddi4 (u, v, &w);
17636   return w;
17638 4000e440:       8b 45 d0                mov    -0x30(%ebp),%eax
17639 4000e443:       8b 55 d4                mov    -0x2c(%ebp),%edx
17640 4000e446:       83 c4 30                add    $0x30,%esp
17641 4000e449:       5e                      pop    %esi
17642 4000e44a:       5f                      pop    %edi
17643 4000e44b:       5d                      pop    %ebp
17644 4000e44c:       c3                      ret    
17645 4000e44d:       8d 76 00                lea    0x0(%esi),%esi
17646         }
17647       else
17648         {
17649           /* 0q = NN / dd */
17651           count_leading_zeros (bm, d1);
17652 4000e450:       0f bd 45 e8             bsr    -0x18(%ebp),%eax
17653           if (bm == 0)
17654 4000e454:       83 f0 1f                xor    $0x1f,%eax
17655 4000e457:       89 45 d8                mov    %eax,-0x28(%ebp)
17656 4000e45a:       75 54                   jne    4000e4b0 <__umoddi3+0xd0>
17658                  This special case is necessary, not an optimization.  */
17660               /* The condition on the next line takes advantage of that
17661                  n1 >= d1 (true due to program flow).  */
17662               if (n1 > d1 || n0 >= d0)
17663 4000e45c:       8b 45 e8                mov    -0x18(%ebp),%eax
17664 4000e45f:       39 45 e0                cmp    %eax,-0x20(%ebp)
17665 4000e462:       0f 87 d6 00 00 00       ja     4000e53e <__umoddi3+0x15e>
17666 4000e468:       8b 4d ec                mov    -0x14(%ebp),%ecx
17667 4000e46b:       39 4d e4                cmp    %ecx,-0x1c(%ebp)
17668 4000e46e:       0f 83 ca 00 00 00       jae    4000e53e <__umoddi3+0x15e>
17670               q1 = 0;
17672               if (rp != 0)
17673                 {
17674                   rr.s.low = n0;
17675 4000e474:       8b 4d f0                mov    -0x10(%ebp),%ecx
17676                   rr.s.high = n1;
17677 4000e477:       89 55 d4                mov    %edx,-0x2c(%ebp)
17679               q1 = 0;
17681               if (rp != 0)
17682                 {
17683                   rr.s.low = n0;
17684 4000e47a:       89 4d d0                mov    %ecx,-0x30(%ebp)
17685 4000e47d:       eb c1                   jmp    4000e440 <__umoddi3+0x60>
17686 4000e47f:       90                      nop    
17687         }
17688       else
17689         {
17690           /* qq = NN / 0d */
17692           if (d0 == 0)
17693 4000e480:       8b 75 ec                mov    -0x14(%ebp),%esi
17694 4000e483:       85 f6                   test   %esi,%esi
17695 4000e485:       75 0c                   jne    4000e493 <__umoddi3+0xb3>
17696             d0 = 1 / d0;        /* Divide intentionally by zero.  */
17697 4000e487:       b8 01 00 00 00          mov    $0x1,%eax
17698 4000e48c:       31 d2                   xor    %edx,%edx
17699 4000e48e:       f7 75 ec                divl   -0x14(%ebp)
17700 4000e491:       89 c1                   mov    %eax,%ecx
17702           udiv_qrnnd (q1, n1, 0, n1, d0);
17703 4000e493:       8b 45 e0                mov    -0x20(%ebp),%eax
17704 4000e496:       8b 55 e8                mov    -0x18(%ebp),%edx
17705 4000e499:       f7 f1                   div    %ecx
17706           udiv_qrnnd (q0, n0, n1, n0, d0);
17707 4000e49b:       8b 45 e4                mov    -0x1c(%ebp),%eax
17708 4000e49e:       f7 f1                   div    %ecx
17709 4000e4a0:       eb 82                   jmp    4000e424 <__umoddi3+0x44>
17710 4000e4a2:       8d b4 26 00 00 00 00    lea    0x0(%esi),%esi
17711 4000e4a9:       8d bc 27 00 00 00 00    lea    0x0(%edi),%edi
17712               UWtype m1, m0;
17713               /* Normalize.  */
17715               b = W_TYPE_SIZE - bm;
17717               d1 = (d1 << bm) | (d0 >> b);
17718 4000e4b0:       8b 55 d8                mov    -0x28(%ebp),%edx
17719 4000e4b3:       b8 20 00 00 00          mov    $0x20,%eax
17720 4000e4b8:       29 d0                   sub    %edx,%eax
17721 4000e4ba:       8b 55 ec                mov    -0x14(%ebp),%edx
17722 4000e4bd:       89 45 dc                mov    %eax,-0x24(%ebp)
17723 4000e4c0:       8b 45 e8                mov    -0x18(%ebp),%eax
17724 4000e4c3:       8a 4d dc                mov    -0x24(%ebp),%cl
17725               d0 = d0 << bm;
17726 4000e4c6:       8b 75 ec                mov    -0x14(%ebp),%esi
17727               UWtype m1, m0;
17728               /* Normalize.  */
17730               b = W_TYPE_SIZE - bm;
17732               d1 = (d1 << bm) | (d0 >> b);
17733 4000e4c9:       d3 ea                   shr    %cl,%edx
17734 4000e4cb:       8a 4d d8                mov    -0x28(%ebp),%cl
17735               d0 = d0 << bm;
17736               n2 = n1 >> b;
17737               n1 = (n1 << bm) | (n0 >> b);
17738               n0 = n0 << bm;
17739 4000e4ce:       8b 7d e4                mov    -0x1c(%ebp),%edi
17740               UWtype m1, m0;
17741               /* Normalize.  */
17743               b = W_TYPE_SIZE - bm;
17745               d1 = (d1 << bm) | (d0 >> b);
17746 4000e4d1:       d3 e0                   shl    %cl,%eax
17747 4000e4d3:       09 c2                   or     %eax,%edx
17748               d0 = d0 << bm;
17749               n2 = n1 >> b;
17750               n1 = (n1 << bm) | (n0 >> b);
17751 4000e4d5:       8b 45 e4                mov    -0x1c(%ebp),%eax
17752               /* Normalize.  */
17754               b = W_TYPE_SIZE - bm;
17756               d1 = (d1 << bm) | (d0 >> b);
17757               d0 = d0 << bm;
17758 4000e4d8:       d3 e6                   shl    %cl,%esi
17759               n2 = n1 >> b;
17760               n1 = (n1 << bm) | (n0 >> b);
17761 4000e4da:       8a 4d dc                mov    -0x24(%ebp),%cl
17762               UWtype m1, m0;
17763               /* Normalize.  */
17765               b = W_TYPE_SIZE - bm;
17767               d1 = (d1 << bm) | (d0 >> b);
17768 4000e4dd:       89 55 f4                mov    %edx,-0xc(%ebp)
17769               d0 = d0 << bm;
17770               n2 = n1 >> b;
17771               n1 = (n1 << bm) | (n0 >> b);
17772 4000e4e0:       d3 e8                   shr    %cl,%eax
17773 4000e4e2:       8b 55 e0                mov    -0x20(%ebp),%edx
17774 4000e4e5:       8a 4d d8                mov    -0x28(%ebp),%cl
17775 4000e4e8:       d3 e2                   shl    %cl,%edx
17776 4000e4ea:       09 d0                   or     %edx,%eax
17777               n0 = n0 << bm;
17779               udiv_qrnnd (q0, n1, n2, n1, d1);
17780 4000e4ec:       8b 55 e0                mov    -0x20(%ebp),%edx
17782               d1 = (d1 << bm) | (d0 >> b);
17783               d0 = d0 << bm;
17784               n2 = n1 >> b;
17785               n1 = (n1 << bm) | (n0 >> b);
17786               n0 = n0 << bm;
17787 4000e4ef:       d3 e7                   shl    %cl,%edi
17789               udiv_qrnnd (q0, n1, n2, n1, d1);
17790 4000e4f1:       8a 4d dc                mov    -0x24(%ebp),%cl
17791 4000e4f4:       d3 ea                   shr    %cl,%edx
17792 4000e4f6:       f7 75 f4                divl   -0xc(%ebp)
17793 4000e4f9:       89 55 cc                mov    %edx,-0x34(%ebp)
17794               umul_ppmm (m1, m0, q0, d0);
17795 4000e4fc:       f7 e6                   mul    %esi
17797               if (m1 > n1 || (m1 == n1 && m0 > n0))
17798 4000e4fe:       39 55 cc                cmp    %edx,-0x34(%ebp)
17799 4000e501:       72 53                   jb     4000e556 <__umoddi3+0x176>
17800 4000e503:       3b 55 cc                cmp    -0x34(%ebp),%edx
17801 4000e506:       74 4a                   je     4000e552 <__umoddi3+0x172>
17802 4000e508:       90                      nop    
17803 4000e509:       8d b4 26 00 00 00 00    lea    0x0(%esi),%esi
17804               q1 = 0;
17806               /* Remainder in (n1n0 - m1m0) >> bm.  */
17807               if (rp != 0)
17808                 {
17809                   sub_ddmmss (n1, n0, n1, n0, m1, m0);
17810 4000e510:       8b 4d cc                mov    -0x34(%ebp),%ecx
17811 4000e513:       29 c7                   sub    %eax,%edi
17812 4000e515:       19 d1                   sbb    %edx,%ecx
17813 4000e517:       89 4d cc                mov    %ecx,-0x34(%ebp)
17814                   rr.s.low = (n1 << b) | (n0 >> bm);
17815 4000e51a:       89 fa                   mov    %edi,%edx
17816 4000e51c:       8a 4d d8                mov    -0x28(%ebp),%cl
17817 4000e51f:       8b 45 cc                mov    -0x34(%ebp),%eax
17818 4000e522:       d3 ea                   shr    %cl,%edx
17819 4000e524:       8a 4d dc                mov    -0x24(%ebp),%cl
17820 4000e527:       d3 e0                   shl    %cl,%eax
17821 4000e529:       09 c2                   or     %eax,%edx
17822                   rr.s.high = n1 >> bm;
17823 4000e52b:       8a 4d d8                mov    -0x28(%ebp),%cl
17824 4000e52e:       8b 45 cc                mov    -0x34(%ebp),%eax
17826               /* Remainder in (n1n0 - m1m0) >> bm.  */
17827               if (rp != 0)
17828                 {
17829                   sub_ddmmss (n1, n0, n1, n0, m1, m0);
17830                   rr.s.low = (n1 << b) | (n0 >> bm);
17831 4000e531:       89 55 d0                mov    %edx,-0x30(%ebp)
17832                   rr.s.high = n1 >> bm;
17833 4000e534:       d3 e8                   shr    %cl,%eax
17834 4000e536:       89 45 d4                mov    %eax,-0x2c(%ebp)
17835 4000e539:       e9 02 ff ff ff          jmp    4000e440 <__umoddi3+0x60>
17836               /* The condition on the next line takes advantage of that
17837                  n1 >= d1 (true due to program flow).  */
17838               if (n1 > d1 || n0 >= d0)
17839                 {
17840                   q0 = 1;
17841                   sub_ddmmss (n1, n0, n1, n0, d1, d0);
17842 4000e53e:       8b 55 e0                mov    -0x20(%ebp),%edx
17843 4000e541:       8b 45 e4                mov    -0x1c(%ebp),%eax
17844 4000e544:       2b 45 ec                sub    -0x14(%ebp),%eax
17845 4000e547:       1b 55 e8                sbb    -0x18(%ebp),%edx
17846 4000e54a:       89 45 f0                mov    %eax,-0x10(%ebp)
17847 4000e54d:       e9 22 ff ff ff          jmp    4000e474 <__umoddi3+0x94>
17848               n0 = n0 << bm;
17850               udiv_qrnnd (q0, n1, n2, n1, d1);
17851               umul_ppmm (m1, m0, q0, d0);
17853               if (m1 > n1 || (m1 == n1 && m0 > n0))
17854 4000e552:       39 f8                   cmp    %edi,%eax
17855 4000e554:       76 ba                   jbe    4000e510 <__umoddi3+0x130>
17856                 {
17857                   q0--;
17858                   sub_ddmmss (m1, m0, m1, m0, d1, d0);
17859 4000e556:       29 f0                   sub    %esi,%eax
17860 4000e558:       1b 55 f4                sbb    -0xc(%ebp),%edx
17861 4000e55b:       eb b3                   jmp    4000e510 <__umoddi3+0x130>
17862 4000e55d:       90                      nop    
17863 4000e55e:       90                      nop    
17864 4000e55f:       90                      nop    
17866 4000e560 <__do_global_ctors_aux>:
17867 4000e560:       55                      push   %ebp
17868 4000e561:       89 e5                   mov    %esp,%ebp
17869 4000e563:       56                      push   %esi
17870 4000e564:       53                      push   %ebx
17871 4000e565:       e8 00 00 00 00          call   4000e56a <__do_global_ctors_aux+0xa>
17872 4000e56a:       5b                      pop    %ebx
17873 4000e56b:       81 c3 92 1d 00 00       add    $0x1d92,%ebx
17874 4000e571:       8d 83 e4 ff ff ff       lea    -0x1c(%ebx),%eax
17875 4000e577:       8d 50 fc                lea    -0x4(%eax),%edx
17876 4000e57a:       8b 40 fc                mov    -0x4(%eax),%eax
17877 4000e57d:       83 f8 ff                cmp    $0xffffffff,%eax
17878 4000e580:       74 1b                   je     4000e59d <__do_global_ctors_aux+0x3d>
17879 4000e582:       89 d6                   mov    %edx,%esi
17880 4000e584:       8d b6 00 00 00 00       lea    0x0(%esi),%esi
17881 4000e58a:       8d bf 00 00 00 00       lea    0x0(%edi),%edi
17882 4000e590:       ff d0                   call   *%eax
17883 4000e592:       8b 46 fc                mov    -0x4(%esi),%eax
17884 4000e595:       83 ee 04                sub    $0x4,%esi
17885 4000e598:       83 f8 ff                cmp    $0xffffffff,%eax
17886 4000e59b:       75 f3                   jne    4000e590 <__do_global_ctors_aux+0x30>
17887 4000e59d:       5b                      pop    %ebx
17888 4000e59e:       5e                      pop    %esi
17889 4000e59f:       5d                      pop    %ebp
17890 4000e5a0:       c3                      ret    
17891 Disassembly of section .fini:
17893 4000e5a1 <.fini>:
17894 4000e5a1:       e8 ca 2d ff ff          call   40001370 <__do_global_dtors_aux>