40213b:	83 e3 fc             	and    $0xfffffffc,%ebx
40213e:	83 fb 0c             	cmp    $0xc,%ebx
402141:	7d 05                	jge    0x402148
402143:	bb 0c 00 00 00       	mov    $0xc,%ebx
402148:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
40214e:	0f 8f 93 00 00 00    	jg     0x4021e7
402154:	8b c3                	mov    %ebx,%eax
402156:	85 c0                	test   %eax,%eax
402158:	79 03                	jns    0x40215d
40215a:	83 c0 03             	add    $0x3,%eax
40215d:	c1 f8 02             	sar    $0x2,%eax
402160:	8b 15 20 96 46 00    	mov    0x469620,%edx
402166:	8b 54 82 f4          	mov    -0xc(%edx,%eax,4),%edx
40216a:	85 d2                	test   %edx,%edx
40216c:	74 79                	je     0x4021e7
40216e:	8b f2                	mov    %edx,%esi
402170:	8b c6                	mov    %esi,%eax
402172:	03 c3                	add    %ebx,%eax
402174:	83 20 fe             	andl   $0xfffffffe,(%eax)
402177:	8b 42 04             	mov    0x4(%edx),%eax
40217a:	3b d0                	cmp    %eax,%edx
40217c:	75 1a                	jne    0x402198
40217e:	8b c3                	mov    %ebx,%eax
402180:	85 c0                	test   %eax,%eax
402182:	79 03                	jns    0x402187
402184:	83 c0 03             	add    $0x3,%eax
402187:	c1 f8 02             	sar    $0x2,%eax
40218a:	8b 0d 20 96 46 00    	mov    0x469620,%ecx
402190:	33 ff                	xor    %edi,%edi
402192:	89 7c 81 f4          	mov    %edi,-0xc(%ecx,%eax,4)
402196:	eb 26                	jmp    0x4021be
402198:	8b cb                	mov    %ebx,%ecx
40219a:	85 c9                	test   %ecx,%ecx
40219c:	79 03                	jns    0x4021a1
40219e:	83 c1 03             	add    $0x3,%ecx
4021a1:	c1 f9 02             	sar    $0x2,%ecx
4021a4:	8b 3d 20 96 46 00    	mov    0x469620,%edi
4021aa:	89 44 8f f4          	mov    %eax,-0xc(%edi,%ecx,4)
4021ae:	8b 0a                	mov    (%edx),%ecx
4021b0:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4021b3:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4021b6:	89 41 04             	mov    %eax,0x4(%ecx)
4021b9:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4021bc:	89 08                	mov    %ecx,(%eax)
4021be:	8b c6                	mov    %esi,%eax
4021c0:	8b 52 08             	mov    0x8(%edx),%edx
4021c3:	83 ca 02             	or     $0x2,%edx
4021c6:	89 10                	mov    %edx,(%eax)
4021c8:	83 c0 04             	add    $0x4,%eax
4021cb:	89 45 fc             	mov    %eax,-0x4(%ebp)
4021ce:	ff 05 b0 95 46 00    	incl   0x4695b0
4021d4:	83 eb 04             	sub    $0x4,%ebx
4021d7:	01 1d b4 95 46 00    	add    %ebx,0x4695b4
4021dd:	e8 c2 18 00 00       	call   0x403aa4
4021e2:	e9 84 00 00 00       	jmp    0x40226b
4021e7:	3b 1d 18 96 46 00    	cmp    0x469618,%ebx
4021ed:	7f 4a                	jg     0x402239
4021ef:	29 1d 18 96 46 00    	sub    %ebx,0x469618
4021f5:	83 3d 18 96 46 00 0c 	cmpl   $0xc,0x469618
4021fc:	7d 0d                	jge    0x40220b
4021fe:	03 1d 18 96 46 00    	add    0x469618,%ebx
402204:	33 c0                	xor    %eax,%eax
402206:	a3 18 96 46 00       	mov    %eax,0x469618
40220b:	a1 1c 96 46 00       	mov    0x46961c,%eax
402210:	01 1d 1c 96 46 00    	add    %ebx,0x46961c
402216:	8b d3                	mov    %ebx,%edx
402218:	83 ca 02             	or     $0x2,%edx
40221b:	89 10                	mov    %edx,(%eax)
40221d:	83 c0 04             	add    $0x4,%eax
402220:	89 45 fc             	mov    %eax,-0x4(%ebp)
402223:	ff 05 b0 95 46 00    	incl   0x4695b0
402229:	83 eb 04             	sub    $0x4,%ebx
40222c:	01 1d b4 95 46 00    	add    %ebx,0x4695b4
402232:	e8 6d 18 00 00       	call   0x403aa4
402237:	eb 32                	jmp    0x40226b
402239:	8b c3                	mov    %ebx,%eax
40223b:	e8 b4 fd ff ff       	call   0x401ff4
402240:	89 45 fc             	mov    %eax,-0x4(%ebp)
402243:	33 c0                	xor    %eax,%eax
402245:	5a                   	pop    %edx
402246:	59                   	pop    %ecx
402247:	59                   	pop    %ecx
402248:	64 89 10             	mov    %edx,%fs:(%eax)
40224b:	68 6b 22 40 00       	push   $0x40226b
402250:	80 3d 49 90 46 00 00 	cmpb   $0x0,0x469049
402257:	74 0a                	je     0x402263
402259:	68 c8 95 46 00       	push   $0x4695c8
40225e:	e8 fd f0 ff ff       	call   0x401360
402263:	c3                   	ret
402264:	e9 57 17 00 00       	jmp    0x4039c0
402269:	eb e5                	jmp    0x402250
40226b:	8b 45 fc             	mov    -0x4(%ebp),%eax
40226e:	5f                   	pop    %edi
40226f:	5e                   	pop    %esi
402270:	5b                   	pop    %ebx
402271:	59                   	pop    %ecx
402272:	59                   	pop    %ecx
402273:	5d                   	pop    %ebp
402274:	c3                   	ret
402275:	8d 40 00             	lea    0x0(%eax),%eax
402278:	55                   	push   %ebp
402279:	8b ec                	mov    %esp,%ebp
40227b:	51                   	push   %ecx
40227c:	53                   	push   %ebx
40227d:	56                   	push   %esi
40227e:	57                   	push   %edi
40227f:	8b d8                	mov    %eax,%ebx
402281:	33 c0                	xor    %eax,%eax
402283:	a3 c4 95 46 00       	mov    %eax,0x4695c4
402288:	80 3d c0 95 46 00 00 	cmpb   $0x0,0x4695c0
40228f:	75 1f                	jne    0x4022b0
402291:	e8 66 f7 ff ff       	call   0x4019fc
402296:	84 c0                	test   %al,%al
402298:	75 16                	jne    0x4022b0
40229a:	c7 05 c4 95 46 00 08 	movl   $0x8,0x4695c4
4022a1:	00 00 00
4022a4:	c7 45 fc 08 00 00 00 	movl   $0x8,-0x4(%ebp)
4022ab:	e9 61 01 00 00       	jmp    0x402411
4022b0:	33 c9                	xor    %ecx,%ecx
4022b2:	55                   	push   %ebp
4022b3:	68 0a 24 40 00       	push   $0x40240a
4022b8:	64 ff 31             	push   %fs:(%ecx)
4022bb:	64 89 21             	mov    %esp,%fs:(%ecx)
4022be:	80 3d 49 90 46 00 00 	cmpb   $0x0,0x469049
4022c5:	74 0a                	je     0x4022d1
4022c7:	68 c8 95 46 00       	push   $0x4695c8
4022cc:	e8 87 f0 ff ff       	call   0x401358
4022d1:	8b f3                	mov    %ebx,%esi
4022d3:	83 ee 04             	sub    $0x4,%esi
4022d6:	8b 1e                	mov    (%esi),%ebx
4022d8:	f6 c3 02             	test   $0x2,%bl
4022db:	75 0f                	jne    0x4022ec
4022dd:	c7 05 c4 95 46 00 09 	movl   $0x9,0x4695c4
4022e4:	00 00 00
4022e7:	e9 f5 00 00 00       	jmp    0x4023e1
4022ec:	ff 0d b0 95 46 00    	decl   0x4695b0
4022f2:	8b c3                	mov    %ebx,%eax
4022f4:	25 fc ff ff 7f       	and    $0x7ffffffc,%eax
4022f9:	83 e8 04             	sub    $0x4,%eax
4022fc:	29 05 b4 95 46 00    	sub    %eax,0x4695b4
402302:	f6 c3 01             	test   $0x1,%bl
402305:	74 45                	je     0x40234c
402307:	8b c6                	mov    %esi,%eax
402309:	83 e8 0c             	sub    $0xc,%eax
40230c:	8b 50 08             	mov    0x8(%eax),%edx
40230f:	83 fa 0c             	cmp    $0xc,%edx
402312:	7c 08                	jl     0x40231c
402314:	f7 c2 03 00 00 80    	test   $0x80000003,%edx
40231a:	74 0f                	je     0x40232b
40231c:	c7 05 c4 95 46 00 0a 	movl   $0xa,0x4695c4
402323:	00 00 00
402326:	e9 b6 00 00 00       	jmp    0x4023e1
40232b:	8b c6                	mov    %esi,%eax
40232d:	2b c2                	sub    %edx,%eax
40232f:	3b 50 08             	cmp    0x8(%eax),%edx
402332:	74 0f                	je     0x402343
402334:	c7 05 c4 95 46 00 0a 	movl   $0xa,0x4695c4
40233b:	00 00 00
40233e:	e9 9e 00 00 00       	jmp    0x4023e1
402343:	03 da                	add    %edx,%ebx
402345:	8b f0                	mov    %eax,%esi
402347:	e8 54 f8 ff ff       	call   0x401ba0
40234c:	81 e3 fc ff ff 7f    	and    $0x7ffffffc,%ebx
402352:	8b c6                	mov    %esi,%eax
402354:	03 c3                	add    %ebx,%eax
402356:	8b f8                	mov    %eax,%edi
402358:	3b 3d 1c 96 46 00    	cmp    0x46961c,%edi
40235e:	75 2c                	jne    0x40238c
402360:	29 1d 1c 96 46 00    	sub    %ebx,0x46961c
402366:	01 1d 18 96 46 00    	add    %ebx,0x469618
40236c:	81 3d 18 96 46 00 00 	cmpl   $0x3c00,0x469618
402373:	3c 00 00
402376:	7e 05                	jle    0x40237d
402378:	e8 13 fb ff ff       	call   0x401e90
40237d:	33 c0                	xor    %eax,%eax
40237f:	89 45 fc             	mov    %eax,-0x4(%ebp)
402382:	e8 1d 17 00 00       	call   0x403aa4
402387:	e9 85 00 00 00       	jmp    0x402411
40238c:	8b 10                	mov    (%eax),%edx
40238e:	f6 c2 02             	test   $0x2,%dl
402391:	74 1c                	je     0x4023af
402393:	81 e2 fc ff ff 7f    	and    $0x7ffffffc,%edx
402399:	83 fa 04             	cmp    $0x4,%edx
40239c:	7d 0c                	jge    0x4023aa
40239e:	c7 05 c4 95 46 00 0b 	movl   $0xb,0x4695c4
4023a5:	00 00 00
4023a8:	eb 37                	jmp    0x4023e1
4023aa:	83 08 01             	orl    $0x1,(%eax)
4023ad:	eb 29                	jmp    0x4023d8
4023af:	8b c7                	mov    %edi,%eax
4023b1:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
4023b5:	74 0b                	je     0x4023c2
4023b7:	83 38 00             	cmpl   $0x0,(%eax)
4023ba:	74 06                	je     0x4023c2
4023bc:	83 78 08 0c          	cmpl   $0xc,0x8(%eax)
4023c0:	7d 0c                	jge    0x4023ce
4023c2:	c7 05 c4 95 46 00 0b 	movl   $0xb,0x4695c4
4023c9:	00 00 00
4023cc:	eb 13                	jmp    0x4023e1
4023ce:	8b 50 08             	mov    0x8(%eax),%edx
4023d1:	03 da                	add    %edx,%ebx
4023d3:	e8 c8 f7 ff ff       	call   0x401ba0
4023d8:	8b d3                	mov    %ebx,%edx
4023da:	8b c6                	mov    %esi,%eax
4023dc:	e8 27 fa ff ff       	call   0x401e08
4023e1:	a1 c4 95 46 00       	mov    0x4695c4,%eax
4023e6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4023e9:	33 c0                	xor    %eax,%eax
4023eb:	5a                   	pop    %edx
4023ec:	59                   	pop    %ecx
4023ed:	59                   	pop    %ecx
4023ee:	64 89 10             	mov    %edx,%fs:(%eax)
4023f1:	68 11 24 40 00       	push   $0x402411
4023f6:	80 3d 49 90 46 00 00 	cmpb   $0x0,0x469049
4023fd:	74 0a                	je     0x402409
4023ff:	68 c8 95 46 00       	push   $0x4695c8
402404:	e8 57 ef ff ff       	call   0x401360
402409:	c3                   	ret
40240a:	e9 b1 15 00 00       	jmp    0x4039c0
40240f:	eb e5                	jmp    0x4023f6
402411:	8b 45 fc             	mov    -0x4(%ebp),%eax
402414:	5f                   	pop    %edi
402415:	5e                   	pop    %esi
402416:	5b                   	pop    %ebx
402417:	59                   	pop    %ecx
402418:	5d                   	pop    %ebp
402419:	c3                   	ret
40241a:	8b c0                	mov    %eax,%eax
40241c:	53                   	push   %ebx
40241d:	56                   	push   %esi
40241e:	57                   	push   %edi
40241f:	55                   	push   %ebp
402420:	83 c4 f8             	add    $0xfffffff8,%esp
402423:	8b f2                	mov    %edx,%esi
402425:	83 c6 07             	add    $0x7,%esi
402428:	83 e6 fc             	and    $0xfffffffc,%esi
40242b:	83 fe 0c             	cmp    $0xc,%esi
40242e:	7d 05                	jge    0x402435
402430:	be 0c 00 00 00       	mov    $0xc,%esi
402435:	8b e8                	mov    %eax,%ebp
402437:	83 ed 04             	sub    $0x4,%ebp
40243a:	8b 7d 00             	mov    0x0(%ebp),%edi
40243d:	81 e7 fc ff ff 7f    	and    $0x7ffffffc,%edi
402443:	8b c5                	mov    %ebp,%eax
402445:	03 c7                	add    %edi,%eax
402447:	8b d8                	mov    %eax,%ebx
402449:	3b fe                	cmp    %esi,%edi
40244b:	75 07                	jne    0x402454
40244d:	b0 01                	mov    $0x1,%al
40244f:	e9 9b 01 00 00       	jmp    0x4025ef
402454:	3b fe                	cmp    %esi,%edi
402456:	0f 8e 83 00 00 00    	jle    0x4024df
40245c:	8b d7                	mov    %edi,%edx
40245e:	2b d6                	sub    %esi,%edx
402460:	89 14 24             	mov    %edx,(%esp)
402463:	3b 1d 1c 96 46 00    	cmp    0x46961c,%ebx
402469:	75 38                	jne    0x4024a3
40246b:	8b 04 24             	mov    (%esp),%eax
40246e:	29 05 1c 96 46 00    	sub    %eax,0x46961c
402474:	8b 04 24             	mov    (%esp),%eax
402477:	01 05 18 96 46 00    	add    %eax,0x469618
40247d:	83 3d 18 96 46 00 0c 	cmpl   $0xc,0x469618
402484:	0f 8d 4c 01 00 00    	jge    0x4025d6
40248a:	8b 04 24             	mov    (%esp),%eax
40248d:	01 05 1c 96 46 00    	add    %eax,0x46961c
402493:	8b 04 24             	mov    (%esp),%eax
402496:	29 05 18 96 46 00    	sub    %eax,0x469618
40249c:	8b f7                	mov    %edi,%esi
40249e:	e9 33 01 00 00       	jmp    0x4025d6
4024a3:	8b d8                	mov    %eax,%ebx
4024a5:	f6 03 02             	testb  $0x2,(%ebx)
4024a8:	75 0d                	jne    0x4024b7
4024aa:	8b c3                	mov    %ebx,%eax
4024ac:	8b 50 08             	mov    0x8(%eax),%edx
4024af:	01 14 24             	add    %edx,(%esp)
4024b2:	e8 e9 f6 ff ff       	call   0x401ba0
4024b7:	83 3c 24 0c          	cmpl   $0xc,(%esp)
4024bb:	7c 1b                	jl     0x4024d8
4024bd:	8b dd                	mov    %ebp,%ebx
4024bf:	03 de                	add    %esi,%ebx
4024c1:	8b 04 24             	mov    (%esp),%eax
4024c4:	83 c8 02             	or     $0x2,%eax
4024c7:	89 03                	mov    %eax,(%ebx)
4024c9:	8b c3                	mov    %ebx,%eax
4024cb:	83 c0 04             	add    $0x4,%eax
4024ce:	e8 91 f7 ff ff       	call   0x401c64
4024d3:	e9 fe 00 00 00       	jmp    0x4025d6
4024d8:	8b f7                	mov    %edi,%esi
4024da:	e9 f7 00 00 00       	jmp    0x4025d6
4024df:	8b c6                	mov    %esi,%eax
4024e1:	2b c7                	sub    %edi,%eax
4024e3:	89 44 24 04          	mov    %eax,0x4(%esp)
4024e7:	3b 1d 1c 96 46 00    	cmp    0x46961c,%ebx
4024ed:	75 67                	jne    0x402556
4024ef:	a1 18 96 46 00       	mov    0x469618,%eax
4024f4:	3b 44 24 04          	cmp    0x4(%esp),%eax
4024f8:	7c 53                	jl     0x40254d
4024fa:	8b 44 24 04          	mov    0x4(%esp),%eax
4024fe:	29 05 18 96 46 00    	sub    %eax,0x469618
402504:	8b 44 24 04          	mov    0x4(%esp),%eax
402508:	01 05 1c 96 46 00    	add    %eax,0x46961c
40250e:	83 3d 18 96 46 00 0c 	cmpl   $0xc,0x469618
402515:	7d 18                	jge    0x40252f
402517:	a1 18 96 46 00       	mov    0x469618,%eax
40251c:	01 05 1c 96 46 00    	add    %eax,0x46961c
402522:	03 35 18 96 46 00    	add    0x469618,%esi
402528:	33 c0                	xor    %eax,%eax
40252a:	a3 18 96 46 00       	mov    %eax,0x469618
40252f:	8b c6                	mov    %esi,%eax
402531:	2b c7                	sub    %edi,%eax
402533:	01 05 b4 95 46 00    	add    %eax,0x4695b4
402539:	8b 45 00             	mov    0x0(%ebp),%eax
40253c:	25 03 00 00 80       	and    $0x80000003,%eax
402541:	0b f0                	or     %eax,%esi
402543:	89 75 00             	mov    %esi,0x0(%ebp)
402546:	b0 01                	mov    $0x1,%al
402548:	e9 a2 00 00 00       	jmp    0x4025ef
40254d:	e8 3e f9 ff ff       	call   0x401e90
402552:	8b dd                	mov    %ebp,%ebx
402554:	03 df                	add    %edi,%ebx
402556:	f6 03 02             	testb  $0x2,(%ebx)
402559:	75 4d                	jne    0x4025a8
40255b:	8b d3                	mov    %ebx,%edx
40255d:	8b c2                	mov    %edx,%eax
40255f:	8b 48 08             	mov    0x8(%eax),%ecx
402562:	89 0c 24             	mov    %ecx,(%esp)
402565:	8b 0c 24             	mov    (%esp),%ecx
402568:	3b 4c 24 04          	cmp    0x4(%esp),%ecx
40256c:	7d 0e                	jge    0x40257c
40256e:	03 14 24             	add    (%esp),%edx
402571:	8b da                	mov    %edx,%ebx
402573:	8b 04 24             	mov    (%esp),%eax
402576:	29 44 24 04          	sub    %eax,0x4(%esp)
40257a:	eb 2c                	jmp    0x4025a8
40257c:	e8 1f f6 ff ff       	call   0x401ba0
402581:	8b 44 24 04          	mov    0x4(%esp),%eax
402585:	29 04 24             	sub    %eax,(%esp)
402588:	83 3c 24 0c          	cmpl   $0xc,(%esp)
40258c:	7c 0e                	jl     0x40259c
40258e:	8b c5                	mov    %ebp,%eax
402590:	03 c6                	add    %esi,%eax
402592:	8b 14 24             	mov    (%esp),%edx
402595:	e8 6e f8 ff ff       	call   0x401e08
40259a:	eb 3a                	jmp    0x4025d6
40259c:	03 34 24             	add    (%esp),%esi
40259f:	8b dd                	mov    %ebp,%ebx
4025a1:	03 de                	add    %esi,%ebx
4025a3:	83 23 fe             	andl   $0xfffffffe,(%ebx)
4025a6:	eb 2e                	jmp    0x4025d6
4025a8:	8b 03                	mov    (%ebx),%eax