4281f3:	8d 77 08             	lea    0x8(%edi),%esi
4281f6:	c7 07 28 1a 40 00    	movl   $0x401a28,(%edi)
4281fc:	8b ce                	mov    %esi,%ecx
4281fe:	89 75 94             	mov    %esi,-0x6c(%ebp)
428201:	ff 15 a0 76 4a 00    	call   *0x4a76a0
428207:	c7 06 64 19 40 00    	movl   $0x401964,(%esi)
42820d:	89 5f 04             	mov    %ebx,0x4(%edi)
428210:	eb 02                	jmp    0x428214
428212:	8b fb                	mov    %ebx,%edi
428214:	8b d7                	mov    %edi,%edx
428216:	c6 45 fc 1b          	movb   $0x1b,-0x4(%ebp)
42821a:	8d 4d 90             	lea    -0x70(%ebp),%ecx
42821d:	e8 7d 13 00 00       	call   0x42959f
428222:	8b 4d ac             	mov    -0x54(%ebp),%ecx
428225:	8d 45 88             	lea    -0x78(%ebp),%eax
428228:	50                   	push   %eax
428229:	6a 05                	push   $0x5
42822b:	5a                   	pop    %edx
42822c:	e8 43 fc ff ff       	call   0x427e74
428231:	f7 d8                	neg    %eax
428233:	1b c0                	sbb    %eax,%eax
428235:	f7 d0                	not    %eax
428237:	23 45 88             	and    -0x78(%ebp),%eax
42823a:	c1 e8 10             	shr    $0x10,%eax
42823d:	83 e8 01             	sub    $0x1,%eax
428240:	74 1d                	je     0x42825f
428242:	83 e8 01             	sub    $0x1,%eax
428245:	74 11                	je     0x428258
428247:	83 e8 01             	sub    $0x1,%eax
42824a:	74 05                	je     0x428251
42824c:	6a 04                	push   $0x4
42824e:	59                   	pop    %ecx
42824f:	eb 13                	jmp    0x428264
428251:	b9 00 00 20 00       	mov    $0x200000,%ecx
428256:	eb 0c                	jmp    0x428264
428258:	b9 00 00 10 00       	mov    $0x100000,%ecx
42825d:	eb 05                	jmp    0x428264
42825f:	b9 00 00 08 00       	mov    $0x80000,%ecx
428264:	8b 75 90             	mov    -0x70(%ebp),%esi
428267:	85 f6                	test   %esi,%esi
428269:	74 74                	je     0x4282df
42826b:	8b 06                	mov    (%esi),%eax
42826d:	51                   	push   %ecx
42826e:	ff 75 b0             	push   -0x50(%ebp)
428271:	8b 78 0c             	mov    0xc(%eax),%edi
428274:	8b cf                	mov    %edi,%ecx
428276:	56                   	push   %esi
428277:	ff 15 2c 81 4a 00    	call   *0x4a812c
42827d:	ff d7                	call   *%edi
42827f:	8d 4d c0             	lea    -0x40(%ebp),%ecx
428282:	ff 15 20 74 4a 00    	call   *0x4a7420
428288:	68 91 09 00 00       	push   $0x991
42828d:	8d 4d c0             	lea    -0x40(%ebp),%ecx
428290:	c6 45 fc 1d          	movb   $0x1d,-0x4(%ebp)
428294:	ff 15 40 74 4a 00    	call   *0x4a7440
42829a:	8b 06                	mov    (%esi),%eax
42829c:	ff 75 c0             	push   -0x40(%ebp)
42829f:	56                   	push   %esi
4282a0:	8b 78 1c             	mov    0x1c(%eax),%edi
4282a3:	8b cf                	mov    %edi,%ecx
4282a5:	ff 15 2c 81 4a 00    	call   *0x4a812c
4282ab:	ff d7                	call   *%edi
4282ad:	8b 06                	mov    (%esi),%eax
4282af:	68 80 fa 40 00       	push   $0x40fa80
4282b4:	56                   	push   %esi
4282b5:	8b 78 20             	mov    0x20(%eax),%edi
4282b8:	8b cf                	mov    %edi,%ecx
4282ba:	ff 15 2c 81 4a 00    	call   *0x4a812c
4282c0:	ff d7                	call   *%edi
4282c2:	8b 06                	mov    (%esi),%eax
4282c4:	56                   	push   %esi
4282c5:	8b 78 10             	mov    0x10(%eax),%edi
4282c8:	8b cf                	mov    %edi,%ecx
4282ca:	ff 15 2c 81 4a 00    	call   *0x4a812c
4282d0:	ff d7                	call   *%edi
4282d2:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4282d5:	c6 45 fc 1b          	movb   $0x1b,-0x4(%ebp)
4282d9:	ff 15 1c 74 4a 00    	call   *0x4a741c
4282df:	6a 2c                	push   $0x2c
4282e1:	ff 15 14 74 4a 00    	call   *0x4a7414
4282e7:	89 45 9c             	mov    %eax,-0x64(%ebp)
4282ea:	59                   	pop    %ecx
4282eb:	85 c0                	test   %eax,%eax
4282ed:	74 13                	je     0x428302
4282ef:	51                   	push   %ecx
4282f0:	ff 75 b0             	push   -0x50(%ebp)
4282f3:	8b c8                	mov    %eax,%ecx
4282f5:	56                   	push   %esi
4282f6:	e8 eb 06 00 00       	call   0x4289e6
4282fb:	8b d0                	mov    %eax,%edx
4282fd:	89 55 94             	mov    %edx,-0x6c(%ebp)
428300:	eb 05                	jmp    0x428307
428302:	8b d3                	mov    %ebx,%edx
428304:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
428307:	85 d2                	test   %edx,%edx
428309:	75 18                	jne    0x428323
42830b:	6a 01                	push   $0x1
42830d:	b9 e0 55 4a 00       	mov    $0x4a55e0,%ecx
428312:	e8 62 59 02 00       	call   0x44dc79
428317:	c7 45 c0 0e 00 07 80 	movl   $0x8007000e,-0x40(%ebp)
42831e:	e9 5f 01 00 00       	jmp    0x428482
428323:	8b 02                	mov    (%edx),%eax
428325:	8b 48 04             	mov    0x4(%eax),%ecx
428328:	03 ca                	add    %edx,%ecx
42832a:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
42832d:	74 10                	je     0x42833f
42832f:	8b 01                	mov    (%ecx),%eax
428331:	51                   	push   %ecx
428332:	8b 78 04             	mov    0x4(%eax),%edi
428335:	8b cf                	mov    %edi,%ecx
428337:	ff 15 2c 81 4a 00    	call   *0x4a812c
42833d:	ff d7                	call   *%edi
42833f:	c6 45 fc 23          	movb   $0x23,-0x4(%ebp)
428343:	8b 45 b4             	mov    -0x4c(%ebp),%eax
428346:	8b 08                	mov    (%eax),%ecx
428348:	8b c3                	mov    %ebx,%eax
42834a:	89 45 a8             	mov    %eax,-0x58(%ebp)
42834d:	85 c9                	test   %ecx,%ecx
42834f:	74 19                	je     0x42836a
428351:	8b 39                	mov    (%ecx),%edi
428353:	8d 45 a8             	lea    -0x58(%ebp),%eax
428356:	50                   	push   %eax
428357:	68 54 fd 40 00       	push   $0x40fd54
42835c:	51                   	push   %ecx
42835d:	8b 0f                	mov    (%edi),%ecx
42835f:	ff 15 2c 81 4a 00    	call   *0x4a812c
428365:	ff 17                	call   *(%edi)
428367:	8b 45 a8             	mov    -0x58(%ebp),%eax
42836a:	c6 45 fc 24          	movb   $0x24,-0x4(%ebp)
42836e:	85 c0                	test   %eax,%eax
428370:	75 0c                	jne    0x42837e
428372:	c7 45 c0 02 40 00 80 	movl   $0x80004002,-0x40(%ebp)
428379:	e9 d1 00 00 00       	jmp    0x42844f
42837e:	8b 45 a0             	mov    -0x60(%ebp),%eax
428381:	8b 7d b0             	mov    -0x50(%ebp),%edi
428384:	03 c0                	add    %eax,%eax
428386:	53                   	push   %ebx
428387:	57                   	push   %edi
428388:	89 5d d8             	mov    %ebx,-0x28(%ebp)
42838b:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
42838e:	89 5d e8             	mov    %ebx,-0x18(%ebp)
428391:	89 5d ec             	mov    %ebx,-0x14(%ebp)
428394:	c7 45 d4 1c 00 00 00 	movl   $0x1c,-0x2c(%ebp)
42839b:	89 45 dc             	mov    %eax,-0x24(%ebp)
42839e:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
4283a5:	ff 15 40 7d 4a 00    	call   *0x4a7d40
4283ab:	8b 45 98             	mov    -0x68(%ebp),%eax
4283ae:	8d 8d 38 ff ff ff    	lea    -0xc8(%ebp),%ecx
4283b4:	ff 75 9c             	push   -0x64(%ebp)
4283b7:	c7 40 14 01 00 00 00 	movl   $0x1,0x14(%eax)
4283be:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4283c1:	50                   	push   %eax
4283c2:	ff 75 a8             	push   -0x58(%ebp)
4283c5:	e8 6a 01 00 00       	call   0x428534
4283ca:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
4283d0:	c6 45 fc 2c          	movb   $0x2c,-0x4(%ebp)
4283d4:	50                   	push   %eax
4283d5:	e8 37 02 00 00       	call   0x428611
4283da:	89 45 c0             	mov    %eax,-0x40(%ebp)
4283dd:	8b 45 98             	mov    -0x68(%ebp),%eax
4283e0:	6a 01                	push   $0x1
4283e2:	57                   	push   %edi
4283e3:	89 58 14             	mov    %ebx,0x14(%eax)
4283e6:	ff 15 40 7d 4a 00    	call   *0x4a7d40
4283ec:	85 f6                	test   %esi,%esi
4283ee:	74 34                	je     0x428424
4283f0:	8b 06                	mov    (%esi),%eax
4283f2:	8d 4d a0             	lea    -0x60(%ebp),%ecx
4283f5:	51                   	push   %ecx
4283f6:	56                   	push   %esi
4283f7:	8b 78 18             	mov    0x18(%eax),%edi
4283fa:	8b cf                	mov    %edi,%ecx
4283fc:	ff 15 2c 81 4a 00    	call   *0x4a812c
428402:	ff d7                	call   *%edi
428404:	85 c0                	test   %eax,%eax
428406:	75 0c                	jne    0x428414
428408:	39 45 a0             	cmp    %eax,-0x60(%ebp)
42840b:	74 07                	je     0x428414
42840d:	c7 45 c0 01 00 00 00 	movl   $0x1,-0x40(%ebp)
428414:	8b 06                	mov    (%esi),%eax
428416:	56                   	push   %esi
428417:	8b 78 28             	mov    0x28(%eax),%edi
42841a:	8b cf                	mov    %edi,%ecx
42841c:	ff 15 2c 81 4a 00    	call   *0x4a812c
428422:	ff d7                	call   *%edi
428424:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
428428:	75 17                	jne    0x428441
42842a:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
42842d:	89 5d c0             	mov    %ebx,-0x40(%ebp)
428430:	8b 41 08             	mov    0x8(%ecx),%eax
428433:	89 59 08             	mov    %ebx,0x8(%ecx)
428436:	89 59 0c             	mov    %ebx,0xc(%ecx)
428439:	89 59 10             	mov    %ebx,0x10(%ecx)
42843c:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
42843f:	89 01                	mov    %eax,(%ecx)
428441:	8d 8d 38 ff ff ff    	lea    -0xc8(%ebp),%ecx
428447:	e8 18 f7 ff ff       	call   0x427b64
42844c:	8b 45 a8             	mov    -0x58(%ebp),%eax
42844f:	c6 45 fc 34          	movb   $0x34,-0x4(%ebp)
428453:	85 c0                	test   %eax,%eax
428455:	74 10                	je     0x428467
428457:	8b 08                	mov    (%eax),%ecx
428459:	50                   	push   %eax
42845a:	8b 79 08             	mov    0x8(%ecx),%edi
42845d:	8b cf                	mov    %edi,%ecx
42845f:	ff 15 2c 81 4a 00    	call   *0x4a812c
428465:	ff d7                	call   *%edi
428467:	c6 45 fc 35          	movb   $0x35,-0x4(%ebp)
42846b:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
42846e:	85 c9                	test   %ecx,%ecx
428470:	74 10                	je     0x428482
428472:	8b 01                	mov    (%ecx),%eax
428474:	51                   	push   %ecx
428475:	8b 78 08             	mov    0x8(%eax),%edi
428478:	8b cf                	mov    %edi,%ecx
42847a:	ff 15 2c 81 4a 00    	call   *0x4a812c
428480:	ff d7                	call   *%edi
428482:	c6 45 fc 36          	movb   $0x36,-0x4(%ebp)
428486:	85 f6                	test   %esi,%esi
428488:	74 10                	je     0x42849a
42848a:	8b 06                	mov    (%esi),%eax
42848c:	56                   	push   %esi
42848d:	8b 70 08             	mov    0x8(%eax),%esi
428490:	8b ce                	mov    %esi,%ecx
428492:	ff 15 2c 81 4a 00    	call   *0x4a812c
428498:	ff d6                	call   *%esi
42849a:	8b 45 bc             	mov    -0x44(%ebp),%eax
42849d:	c6 45 fc 37          	movb   $0x37,-0x4(%ebp)
4284a1:	85 c0                	test   %eax,%eax
4284a3:	74 10                	je     0x4284b5
4284a5:	8b 08                	mov    (%eax),%ecx
4284a7:	50                   	push   %eax
4284a8:	8b 71 08             	mov    0x8(%ecx),%esi
4284ab:	8b ce                	mov    %esi,%ecx
4284ad:	ff 15 2c 81 4a 00    	call   *0x4a812c
4284b3:	ff d6                	call   *%esi
4284b5:	c6 45 fc 38          	movb   $0x38,-0x4(%ebp)
4284b9:	83 7d b4 00          	cmpl   $0x0,-0x4c(%ebp)
4284bd:	74 2f                	je     0x4284ee
4284bf:	83 7d b8 00          	cmpl   $0x0,-0x48(%ebp)
4284c3:	7e 20                	jle    0x4284e5
4284c5:	8b 45 b4             	mov    -0x4c(%ebp),%eax
4284c8:	8b 0c 98             	mov    (%eax,%ebx,4),%ecx
4284cb:	85 c9                	test   %ecx,%ecx
4284cd:	74 10                	je     0x4284df
4284cf:	8b 01                	mov    (%ecx),%eax
4284d1:	51                   	push   %ecx
4284d2:	8b 70 08             	mov    0x8(%eax),%esi
4284d5:	8b ce                	mov    %esi,%ecx
4284d7:	ff 15 2c 81 4a 00    	call   *0x4a812c
4284dd:	ff d6                	call   *%esi
4284df:	43                   	inc    %ebx
4284e0:	3b 5d b8             	cmp    -0x48(%ebp),%ebx
4284e3:	7c e0                	jl     0x4284c5
4284e5:	ff 75 b4             	push   -0x4c(%ebp)
4284e8:	ff 15 88 7e 4a 00    	call   *0x4a7e88
4284ee:	8b 7d c0             	mov    -0x40(%ebp),%edi
4284f1:	c6 45 fc 39          	movb   $0x39,-0x4(%ebp)
4284f5:	8b 45 ac             	mov    -0x54(%ebp),%eax
4284f8:	85 c0                	test   %eax,%eax
4284fa:	74 10                	je     0x42850c
4284fc:	8b 08                	mov    (%eax),%ecx
4284fe:	50                   	push   %eax
4284ff:	8b 71 08             	mov    0x8(%ecx),%esi
428502:	8b ce                	mov    %esi,%ecx
428504:	ff 15 2c 81 4a 00    	call   *0x4a812c
42850a:	ff d6                	call   *%esi
42850c:	c7 45 fc 3a 00 00 00 	movl   $0x3a,-0x4(%ebp)
428513:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
428516:	85 c9                	test   %ecx,%ecx
428518:	74 10                	je     0x42852a
42851a:	8b 11                	mov    (%ecx),%edx
42851c:	51                   	push   %ecx
42851d:	8b 72 08             	mov    0x8(%edx),%esi
428520:	8b ce                	mov    %esi,%ecx
428522:	ff 15 2c 81 4a 00    	call   *0x4a812c
428528:	ff d6                	call   *%esi
42852a:	8b c7                	mov    %edi,%eax
42852c:	e8 84 7f 06 00       	call   0x4904b5
428531:	c2 08 00             	ret    $0x8
428534:	6a 04                	push   $0x4
428536:	b8 8e 21 49 00       	mov    $0x49218e,%eax
42853b:	e8 93 7f 06 00       	call   0x4904d3
428540:	8b f9                	mov    %ecx,%edi
428542:	89 7d f0             	mov    %edi,-0x10(%ebp)
428545:	33 db                	xor    %ebx,%ebx
428547:	89 1f                	mov    %ebx,(%edi)
428549:	89 5d fc             	mov    %ebx,-0x4(%ebp)
42854c:	89 5f 04             	mov    %ebx,0x4(%edi)
42854f:	8b 4d 08             	mov    0x8(%ebp),%ecx
428552:	8b 45 0c             	mov    0xc(%ebp),%eax
428555:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
428559:	89 47 08             	mov    %eax,0x8(%edi)
42855c:	89 4f 0c             	mov    %ecx,0xc(%edi)
42855f:	85 c9                	test   %ecx,%ecx
428561:	74 10                	je     0x428573
428563:	8b 01                	mov    (%ecx),%eax
428565:	51                   	push   %ecx
428566:	8b 70 04             	mov    0x4(%eax),%esi
428569:	8b ce                	mov    %esi,%ecx
42856b:	ff 15 2c 81 4a 00    	call   *0x4a812c
428571:	ff d6                	call   *%esi
428573:	8b 4d 10             	mov    0x10(%ebp),%ecx
428576:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
42857a:	89 4f 10             	mov    %ecx,0x10(%edi)
42857d:	85 c9                	test   %ecx,%ecx
42857f:	74 10                	je     0x428591
428581:	8b 01                	mov    (%ecx),%eax
428583:	51                   	push   %ecx
428584:	8b 70 04             	mov    0x4(%eax),%esi
428587:	8b ce                	mov    %esi,%ecx
428589:	ff 15 2c 81 4a 00    	call   *0x4a812c
42858f:	ff d6                	call   *%esi
428591:	89 5f 14             	mov    %ebx,0x14(%edi)
428594:	8b c7                	mov    %edi,%eax
428596:	89 5f 18             	mov    %ebx,0x18(%edi)
428599:	e8 03 7f 06 00       	call   0x4904a1
42859e:	c2 0c 00             	ret    $0xc
4285a1:	8b ff                	mov    %edi,%edi
4285a3:	55                   	push   %ebp
4285a4:	8b ec                	mov    %esp,%ebp
4285a6:	51                   	push   %ecx
4285a7:	51                   	push   %ecx
4285a8:	53                   	push   %ebx
4285a9:	56                   	push   %esi
4285aa:	57                   	push   %edi
4285ab:	8b f9                	mov    %ecx,%edi
4285ad:	33 f6                	xor    %esi,%esi
4285af:	8b d6                	mov    %esi,%edx
4285b1:	bb 05 40 00 80       	mov    $0x80004005,%ebx
4285b6:	89 55 fc             	mov    %edx,-0x4(%ebp)
4285b9:	39 37                	cmp    %esi,(%edi)
4285bb:	74 13                	je     0x4285d0
4285bd:	8d 45 fc             	lea    -0x4(%ebp),%eax
4285c0:	50                   	push   %eax
4285c1:	68 54 fd 40 00       	push   $0x40fd54
4285c6:	e8 42 f4 ff ff       	call   0x427a0d
4285cb:	8b 55 fc             	mov    -0x4(%ebp),%edx
4285ce:	8b d8                	mov    %eax,%ebx
4285d0:	8d 4f 14             	lea    0x14(%edi),%ecx
4285d3:	e8 c7 0f 00 00       	call   0x42959f
4285d8:	85 db                	test   %ebx,%ebx
4285da:	75 2e                	jne    0x42860a
4285dc:	8d 4f 04             	lea    0x4(%edi),%ecx
4285df:	89 75 f8             	mov    %esi,-0x8(%ebp)
4285e2:	39 31                	cmp    %esi,(%ecx)
4285e4:	74 15                	je     0x4285fb
4285e6:	8d 45 f8             	lea    -0x8(%ebp),%eax
4285e9:	50                   	push   %eax
4285ea:	68 24 fd 40 00       	push   $0x40fd24