428255:	e8 ca c5 ff ff       	call   0x424824
42825a:	84 db                	test   %bl,%bl
42825c:	7e 07                	jle    0x428265
42825e:	8b c6                	mov    %esi,%eax
428260:	e8 0f b4 fd ff       	call   0x403674
428265:	5e                   	pop    %esi
428266:	5b                   	pop    %ebx
428267:	c3                   	ret
428268:	55                   	push   %ebp
428269:	8b ec                	mov    %esp,%ebp
42826b:	51                   	push   %ecx
42826c:	53                   	push   %ebx
42826d:	89 45 fc             	mov    %eax,-0x4(%ebp)
428270:	8b 45 fc             	mov    -0x4(%ebp),%eax
428273:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
428277:	0f 84 86 00 00 00    	je     0x428303
42827d:	8b 45 fc             	mov    -0x4(%ebp),%eax
428280:	e8 a3 c7 ff ff       	call   0x424a28
428285:	33 d2                	xor    %edx,%edx
428287:	55                   	push   %ebp
428288:	68 fc 82 42 00       	push   $0x4282fc
42828d:	64 ff 32             	push   %fs:(%edx)
428290:	64 89 22             	mov    %esp,%fs:(%edx)
428293:	8b 45 fc             	mov    -0x4(%ebp),%eax
428296:	8b 40 5c             	mov    0x5c(%eax),%eax
428299:	85 c0                	test   %eax,%eax
42829b:	74 0d                	je     0x4282aa
42829d:	50                   	push   %eax
42829e:	8b 45 fc             	mov    -0x4(%ebp),%eax
4282a1:	8b 40 04             	mov    0x4(%eax),%eax
4282a4:	50                   	push   %eax
4282a5:	e8 aa e3 fd ff       	call   0x406654
4282aa:	8b 45 fc             	mov    -0x4(%ebp),%eax
4282ad:	8b 40 60             	mov    0x60(%eax),%eax
4282b0:	85 c0                	test   %eax,%eax
4282b2:	74 0f                	je     0x4282c3
4282b4:	6a ff                	push   $0xffffffff
4282b6:	50                   	push   %eax
4282b7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4282ba:	8b 40 04             	mov    0x4(%eax),%eax
4282bd:	50                   	push   %eax
4282be:	e8 99 e3 fd ff       	call   0x40665c
4282c3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4282c6:	8b 58 04             	mov    0x4(%eax),%ebx
4282c9:	33 d2                	xor    %edx,%edx
4282cb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4282ce:	e8 c9 ca ff ff       	call   0x424d9c
4282d3:	53                   	push   %ebx
4282d4:	e8 53 e2 fd ff       	call   0x40652c
4282d9:	8b 55 fc             	mov    -0x4(%ebp),%edx
4282dc:	a1 78 97 46 00       	mov    0x469778,%eax
4282e1:	e8 76 08 ff ff       	call   0x418b5c
4282e6:	33 c0                	xor    %eax,%eax
4282e8:	5a                   	pop    %edx
4282e9:	59                   	pop    %ecx
4282ea:	59                   	pop    %ecx
4282eb:	64 89 10             	mov    %edx,%fs:(%eax)
4282ee:	68 03 83 42 00       	push   $0x428303
4282f3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4282f6:	e8 19 c9 ff ff       	call   0x424c14
4282fb:	c3                   	ret
4282fc:	e9 53 b7 fd ff       	jmp    0x403a54
428301:	eb f0                	jmp    0x4282f3
428303:	5b                   	pop    %ebx
428304:	59                   	pop    %ecx
428305:	5d                   	pop    %ebp
428306:	c3                   	ret
428307:	90                   	nop
428308:	55                   	push   %ebp
428309:	8b ec                	mov    %esp,%ebp
42830b:	51                   	push   %ecx
42830c:	53                   	push   %ebx
42830d:	56                   	push   %esi
42830e:	89 45 fc             	mov    %eax,-0x4(%ebp)
428311:	8b 45 fc             	mov    -0x4(%ebp),%eax
428314:	83 78 58 00          	cmpl   $0x0,0x58(%eax)
428318:	0f 84 d0 00 00 00    	je     0x4283ee
42831e:	8b 45 fc             	mov    -0x4(%ebp),%eax
428321:	e8 02 c7 ff ff       	call   0x424a28
428326:	33 c0                	xor    %eax,%eax
428328:	55                   	push   %ebp
428329:	68 e7 83 42 00       	push   $0x4283e7
42832e:	64 ff 30             	push   %fs:(%eax)
428331:	64 89 20             	mov    %esp,%fs:(%eax)
428334:	8b 45 fc             	mov    -0x4(%ebp),%eax
428337:	8b 40 58             	mov    0x58(%eax),%eax
42833a:	e8 e5 12 00 00       	call   0x429624
42833f:	8b 45 fc             	mov    -0x4(%ebp),%eax
428342:	8b 40 58             	mov    0x58(%eax),%eax
428345:	8b 40 28             	mov    0x28(%eax),%eax
428348:	8b 40 08             	mov    0x8(%eax),%eax
42834b:	e8 34 fe ff ff       	call   0x428184
428350:	8b 45 fc             	mov    -0x4(%ebp),%eax
428353:	8b 40 58             	mov    0x58(%eax),%eax
428356:	e8 c9 13 00 00       	call   0x429724
42835b:	6a 00                	push   $0x0
42835d:	e8 8a e1 fd ff       	call   0x4064ec
428362:	8b d8                	mov    %eax,%ebx
428364:	8b 45 fc             	mov    -0x4(%ebp),%eax
428367:	8b 40 58             	mov    0x58(%eax),%eax
42836a:	8b 40 28             	mov    0x28(%eax),%eax
42836d:	8b 70 08             	mov    0x8(%eax),%esi
428370:	85 f6                	test   %esi,%esi
428372:	74 0f                	je     0x428383
428374:	56                   	push   %esi
428375:	53                   	push   %ebx
428376:	e8 d9 e2 fd ff       	call   0x406654
42837b:	8b 55 fc             	mov    -0x4(%ebp),%edx
42837e:	89 42 5c             	mov    %eax,0x5c(%edx)
428381:	eb 08                	jmp    0x42838b
428383:	8b 45 fc             	mov    -0x4(%ebp),%eax
428386:	33 d2                	xor    %edx,%edx
428388:	89 50 5c             	mov    %edx,0x5c(%eax)
42838b:	8b 45 fc             	mov    -0x4(%ebp),%eax
42838e:	8b 40 58             	mov    0x58(%eax),%eax
428391:	8b 40 28             	mov    0x28(%eax),%eax
428394:	8b 70 10             	mov    0x10(%eax),%esi
428397:	85 f6                	test   %esi,%esi
428399:	74 17                	je     0x4283b2
42839b:	6a ff                	push   $0xffffffff
42839d:	56                   	push   %esi
42839e:	53                   	push   %ebx
42839f:	e8 b8 e2 fd ff       	call   0x40665c
4283a4:	8b 55 fc             	mov    -0x4(%ebp),%edx
4283a7:	89 42 60             	mov    %eax,0x60(%edx)
4283aa:	53                   	push   %ebx
4283ab:	e8 7c e2 fd ff       	call   0x40662c
4283b0:	eb 08                	jmp    0x4283ba
4283b2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4283b5:	33 d2                	xor    %edx,%edx
4283b7:	89 50 60             	mov    %edx,0x60(%eax)
4283ba:	8b d3                	mov    %ebx,%edx
4283bc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4283bf:	e8 d8 c9 ff ff       	call   0x424d9c
4283c4:	8b 55 fc             	mov    -0x4(%ebp),%edx
4283c7:	a1 78 97 46 00       	mov    0x469778,%eax
4283cc:	e8 ef 06 ff ff       	call   0x418ac0
4283d1:	33 c0                	xor    %eax,%eax
4283d3:	5a                   	pop    %edx
4283d4:	59                   	pop    %ecx
4283d5:	59                   	pop    %ecx
4283d6:	64 89 10             	mov    %edx,%fs:(%eax)
4283d9:	68 ee 83 42 00       	push   $0x4283ee
4283de:	8b 45 fc             	mov    -0x4(%ebp),%eax
4283e1:	e8 2e c8 ff ff       	call   0x424c14
4283e6:	c3                   	ret
4283e7:	e9 68 b6 fd ff       	jmp    0x403a54
4283ec:	eb f0                	jmp    0x4283de
4283ee:	5e                   	pop    %esi
4283ef:	5b                   	pop    %ebx
4283f0:	59                   	pop    %ecx
4283f1:	5d                   	pop    %ebp
4283f2:	c3                   	ret
4283f3:	90                   	nop
4283f4:	ff 40 04             	incl   0x4(%eax)
4283f7:	c3                   	ret
4283f8:	53                   	push   %ebx
4283f9:	8b d8                	mov    %eax,%ebx
4283fb:	85 db                	test   %ebx,%ebx
4283fd:	74 16                	je     0x428415
4283ff:	ff 4b 04             	decl   0x4(%ebx)
428402:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
428406:	75 0d                	jne    0x428415
428408:	8b c3                	mov    %ebx,%eax
42840a:	8b 10                	mov    (%eax),%edx
42840c:	ff 12                	call   *(%edx)
42840e:	8b c3                	mov    %ebx,%eax
428410:	e8 ab ae fd ff       	call   0x4032c0
428415:	5b                   	pop    %ebx
428416:	c3                   	ret
428417:	90                   	nop
428418:	53                   	push   %ebx
428419:	56                   	push   %esi
42841a:	e8 6d b2 fd ff       	call   0x40368c
42841f:	8b da                	mov    %edx,%ebx
428421:	8b f0                	mov    %eax,%esi
428423:	8b 46 14             	mov    0x14(%esi),%eax
428426:	85 c0                	test   %eax,%eax
428428:	74 13                	je     0x42843d
42842a:	e8 55 fd ff ff       	call   0x428184
42842f:	8b 46 14             	mov    0x14(%esi),%eax
428432:	50                   	push   %eax
428433:	e8 04 e1 fd ff       	call   0x40653c
428438:	33 c0                	xor    %eax,%eax
42843a:	89 46 14             	mov    %eax,0x14(%esi)
42843d:	8b c6                	mov    %esi,%eax
42843f:	8b 10                	mov    (%eax),%edx
428441:	ff 12                	call   *(%edx)
428443:	8b 46 64             	mov    0x64(%esi),%eax
428446:	85 c0                	test   %eax,%eax
428448:	74 06                	je     0x428450
42844a:	50                   	push   %eax
42844b:	e8 24 de fd ff       	call   0x406274
428450:	8d 46 6c             	lea    0x6c(%esi),%eax
428453:	e8 80 50 fe ff       	call   0x40d4d8
428458:	8b d3                	mov    %ebx,%edx
42845a:	80 e2 fc             	and    $0xfc,%dl
42845d:	8b c6                	mov    %esi,%eax
42845f:	e8 4c ae fd ff       	call   0x4032b0
428464:	84 db                	test   %bl,%bl
428466:	7e 07                	jle    0x42846f
428468:	8b c6                	mov    %esi,%eax
42846a:	e8 05 b2 fd ff       	call   0x403674
42846f:	5e                   	pop    %esi
428470:	5b                   	pop    %ebx
428471:	c3                   	ret
428472:	8b c0                	mov    %eax,%eax
428474:	53                   	push   %ebx
428475:	8b d8                	mov    %eax,%ebx
428477:	8b 43 08             	mov    0x8(%ebx),%eax
42847a:	85 c0                	test   %eax,%eax
42847c:	74 13                	je     0x428491
42847e:	3b 43 14             	cmp    0x14(%ebx),%eax
428481:	74 0e                	je     0x428491
428483:	e8 fc fc ff ff       	call   0x428184
428488:	8b 43 08             	mov    0x8(%ebx),%eax
42848b:	50                   	push   %eax
42848c:	e8 ab e0 fd ff       	call   0x40653c
428491:	8b 43 0c             	mov    0xc(%ebx),%eax
428494:	85 c0                	test   %eax,%eax
428496:	74 13                	je     0x4284ab
428498:	e8 e7 fc ff ff       	call   0x428184
42849d:	8b 43 0c             	mov    0xc(%ebx),%eax
4284a0:	50                   	push   %eax
4284a1:	e8 96 e0 fd ff       	call   0x40653c
4284a6:	33 c0                	xor    %eax,%eax
4284a8:	89 43 0c             	mov    %eax,0xc(%ebx)
4284ab:	8b 43 10             	mov    0x10(%ebx),%eax
4284ae:	e8 01 ac ff ff       	call   0x4230b4
4284b3:	33 c0                	xor    %eax,%eax
4284b5:	89 43 08             	mov    %eax,0x8(%ebx)
4284b8:	33 c0                	xor    %eax,%eax
4284ba:	89 43 10             	mov    %eax,0x10(%ebx)
4284bd:	5b                   	pop    %ebx
4284be:	c3                   	ret
4284bf:	90                   	nop
4284c0:	55                   	push   %ebp
4284c1:	8b ec                	mov    %esp,%ebp
4284c3:	81 c4 f0 fb ff ff    	add    $0xfffffbf0,%esp
4284c9:	53                   	push   %ebx
4284ca:	56                   	push   %esi
4284cb:	89 55 fc             	mov    %edx,-0x4(%ebp)
4284ce:	8b f0                	mov    %eax,%esi
4284d0:	85 f6                	test   %esi,%esi
4284d2:	0f 84 9e 00 00 00    	je     0x428576
4284d8:	66 83 79 26 08       	cmpw   $0x8,0x26(%ecx)
4284dd:	0f 87 93 00 00 00    	ja     0x428576
4284e3:	8d 95 f0 fb ff ff    	lea    -0x410(%ebp),%edx
4284e9:	b9 ff 00 00 00       	mov    $0xff,%ecx
4284ee:	8b 45 fc             	mov    -0x4(%ebp),%eax
4284f1:	e8 b2 d3 ff ff       	call   0x4258a8
4284f6:	8b d8                	mov    %eax,%ebx
4284f8:	85 db                	test   %ebx,%ebx
4284fa:	74 7a                	je     0x428576
4284fc:	6a 00                	push   $0x0
4284fe:	e8 49 e3 fd ff       	call   0x40684c
428503:	89 45 f8             	mov    %eax,-0x8(%ebp)
428506:	8b 45 f8             	mov    -0x8(%ebp),%eax
428509:	50                   	push   %eax
42850a:	e8 dd df fd ff       	call   0x4064ec
42850f:	89 45 f4             	mov    %eax,-0xc(%ebp)
428512:	56                   	push   %esi
428513:	8b 45 f4             	mov    -0xc(%ebp),%eax
428516:	50                   	push   %eax
428517:	e8 38 e1 fd ff       	call   0x406654
42851c:	89 45 f0             	mov    %eax,-0x10(%ebp)
42851f:	33 c0                	xor    %eax,%eax
428521:	55                   	push   %ebp
428522:	68 6f 85 42 00       	push   $0x42856f
428527:	64 ff 30             	push   %fs:(%eax)
42852a:	64 89 20             	mov    %esp,%fs:(%eax)
42852d:	8d 85 f0 fb ff ff    	lea    -0x410(%ebp),%eax
428533:	50                   	push   %eax
428534:	53                   	push   %ebx
428535:	6a 00                	push   $0x0
428537:	8b 45 f4             	mov    -0xc(%ebp),%eax
42853a:	50                   	push   %eax
42853b:	e8 3c e1 fd ff       	call   0x40667c
428540:	33 c0                	xor    %eax,%eax
428542:	5a                   	pop    %edx
428543:	59                   	pop    %ecx
428544:	59                   	pop    %ecx
428545:	64 89 10             	mov    %edx,%fs:(%eax)
428548:	68 76 85 42 00       	push   $0x428576
42854d:	8b 45 f0             	mov    -0x10(%ebp),%eax
428550:	50                   	push   %eax
428551:	8b 45 f4             	mov    -0xc(%ebp),%eax
428554:	50                   	push   %eax
428555:	e8 fa e0 fd ff       	call   0x406654
42855a:	8b 45 f4             	mov    -0xc(%ebp),%eax
42855d:	50                   	push   %eax
42855e:	e8 c9 df fd ff       	call   0x40652c
428563:	8b 45 f8             	mov    -0x8(%ebp),%eax
428566:	50                   	push   %eax
428567:	6a 00                	push   $0x0
428569:	e8 26 e5 fd ff       	call   0x406a94
42856e:	c3                   	ret
42856f:	e9 e0 b4 fd ff       	jmp    0x403a54
428574:	eb d7                	jmp    0x42854d
428576:	5e                   	pop    %esi
428577:	5b                   	pop    %ebx
428578:	8b e5                	mov    %ebp,%esp
42857a:	5d                   	pop    %ebp
42857b:	c3                   	ret
42857c:	f6 40 28 03          	testb  $0x3,0x28(%eax)
428580:	74 42                	je     0x4285c4
428582:	83 78 40 00          	cmpl   $0x0,0x40(%eax)
428586:	75 3c                	jne    0x4285c4
428588:	66 8b 50 26          	mov    0x26(%eax),%dx
42858c:	66 83 fa 10          	cmp    $0x10,%dx
428590:	75 17                	jne    0x4285a9
428592:	c7 40 40 00 f8 00 00 	movl   $0xf800,0x40(%eax)
428599:	c7 40 44 e0 07 00 00 	movl   $0x7e0,0x44(%eax)
4285a0:	c7 40 48 1f 00 00 00 	movl   $0x1f,0x48(%eax)
4285a7:	eb 1b                	jmp    0x4285c4
4285a9:	66 83 fa 20          	cmp    $0x20,%dx
4285ad:	75 15                	jne    0x4285c4
4285af:	c7 40 40 00 00 ff 00 	movl   $0xff0000,0x40(%eax)
4285b6:	c7 40 44 00 ff 00 00 	movl   $0xff00,0x44(%eax)
4285bd:	c7 40 48 ff 00 00 00 	movl   $0xff,0x48(%eax)
4285c4:	c3                   	ret
4285c5:	8d 40 00             	lea    0x0(%eax),%eax
4285c8:	55                   	push   %ebp
4285c9:	8b ec                	mov    %esp,%ebp
4285cb:	81 c4 68 ff ff ff    	add    $0xffffff68,%esp
4285d1:	53                   	push   %ebx
4285d2:	56                   	push   %esi
4285d3:	57                   	push   %edi
4285d4:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4285d7:	89 55 f8             	mov    %edx,-0x8(%ebp)
4285da:	89 45 fc             	mov    %eax,-0x4(%ebp)
4285dd:	33 c0                	xor    %eax,%eax
4285df:	89 45 f0             	mov    %eax,-0x10(%ebp)
4285e2:	8b 45 0c             	mov    0xc(%ebp),%eax
4285e5:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
4285e9:	74 1a                	je     0x428605
4285eb:	8b 45 0c             	mov    0xc(%ebp),%eax
4285ee:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
4285f2:	0f 84 25 06 00 00    	je     0x428c1d
4285f8:	8b 45 0c             	mov    0xc(%ebp),%eax
4285fb:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
4285ff:	0f 84 18 06 00 00    	je     0x428c1d
428605:	8b 45 0c             	mov    0xc(%ebp),%eax
428608:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
42860c:	75 1a                	jne    0x428628
42860e:	8b 45 0c             	mov    0xc(%ebp),%eax
428611:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
428615:	0f 84 02 06 00 00    	je     0x428c1d
42861b:	8b 45 0c             	mov    0xc(%ebp),%eax
42861e:	83 78 08 00          	cmpl   $0x0,0x8(%eax)