4690ae:	5b                   	pop    %ebx
4690af:	c9                   	leave
4690b0:	c2 04 00             	ret    $0x4
4690b3:	6a 40                	push   $0x40
4690b5:	b8 58 52 49 00       	mov    $0x495258,%eax
4690ba:	e8 14 74 02 00       	call   0x4904d3
4690bf:	8b da                	mov    %edx,%ebx
4690c1:	89 5d e8             	mov    %ebx,-0x18(%ebp)
4690c4:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4690c7:	83 3d 98 65 4a 00 00 	cmpl   $0x0,0x4a6598
4690ce:	75 05                	jne    0x4690d5
4690d0:	e8 6f fa ff ff       	call   0x468b44
4690d5:	8b 43 08             	mov    0x8(%ebx),%eax
4690d8:	33 ff                	xor    %edi,%edi
4690da:	8b 73 0c             	mov    0xc(%ebx),%esi
4690dd:	8d 48 fb             	lea    -0x5(%eax),%ecx
4690e0:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
4690e3:	8d 4e fb             	lea    -0x5(%esi),%ecx
4690e6:	89 4d e0             	mov    %ecx,-0x20(%ebp)
4690e9:	8b 0b                	mov    (%ebx),%ecx
4690eb:	2b c1                	sub    %ecx,%eax
4690ed:	40                   	inc    %eax
4690ee:	83 c1 fe             	add    $0xfffffffe,%ecx
4690f1:	99                   	cltd
4690f2:	2b c2                	sub    %edx,%eax
4690f4:	d1 f8                	sar    $1,%eax
4690f6:	03 c1                	add    %ecx,%eax
4690f8:	8b 4b 04             	mov    0x4(%ebx),%ecx
4690fb:	8b 5d 08             	mov    0x8(%ebp),%ebx
4690fe:	2b f1                	sub    %ecx,%esi
469100:	89 45 d0             	mov    %eax,-0x30(%ebp)
469103:	83 c1 fe             	add    $0xfffffffe,%ecx
469106:	8d 46 01             	lea    0x1(%esi),%eax
469109:	99                   	cltd
46910a:	2b c2                	sub    %edx,%eax
46910c:	d1 f8                	sar    $1,%eax
46910e:	03 c1                	add    %ecx,%eax
469110:	33 c9                	xor    %ecx,%ecx
469112:	89 45 c8             	mov    %eax,-0x38(%ebp)
469115:	41                   	inc    %ecx
469116:	8b c3                	mov    %ebx,%eax
469118:	83 e0 03             	and    $0x3,%eax
46911b:	3c 03                	cmp    $0x3,%al
46911d:	74 08                	je     0x469127
46911f:	89 7d dc             	mov    %edi,-0x24(%ebp)
469122:	f6 c3 10             	test   $0x10,%bl
469125:	74 03                	je     0x46912a
469127:	89 4d dc             	mov    %ecx,-0x24(%ebp)
46912a:	8b c3                	mov    %ebx,%eax
46912c:	83 e0 06             	and    $0x6,%eax
46912f:	3c 06                	cmp    $0x6,%al
469131:	74 08                	je     0x46913b
469133:	89 7d d8             	mov    %edi,-0x28(%ebp)
469136:	f6 c3 20             	test   $0x20,%bl
469139:	74 03                	je     0x46913e
46913b:	89 4d d8             	mov    %ecx,-0x28(%ebp)
46913e:	8b c3                	mov    %ebx,%eax
469140:	83 e0 09             	and    $0x9,%eax
469143:	3c 09                	cmp    $0x9,%al
469145:	74 08                	je     0x46914f
469147:	89 7d cc             	mov    %edi,-0x34(%ebp)
46914a:	f6 c3 40             	test   $0x40,%bl
46914d:	74 03                	je     0x469152
46914f:	89 4d cc             	mov    %ecx,-0x34(%ebp)
469152:	8b c3                	mov    %ebx,%eax
469154:	83 e0 0c             	and    $0xc,%eax
469157:	3c 0c                	cmp    $0xc,%al
469159:	74 07                	je     0x469162
46915b:	89 7d d4             	mov    %edi,-0x2c(%ebp)
46915e:	84 db                	test   %bl,%bl
469160:	79 03                	jns    0x469165
469162:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
469165:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
469168:	ff 15 80 75 4a 00    	call   *0x4a7580
46916e:	8b 75 ec             	mov    -0x14(%ebp),%esi
469171:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
469174:	56                   	push   %esi
469175:	89 7d fc             	mov    %edi,-0x4(%ebp)
469178:	e8 db 6a fb ff       	call   0x41fc58
46917d:	85 c0                	test   %eax,%eax
46917f:	75 11                	jne    0x469192
469181:	6a 01                	push   $0x1
469183:	b9 e0 55 4a 00       	mov    $0x4a55e0,%ecx
469188:	e8 1a 4b fe ff       	call   0x44dca7
46918d:	e9 7d 01 00 00       	jmp    0x46930f
469192:	8b 06                	mov    (%esi),%eax
469194:	68 55 55 55 00       	push   $0x555555
469199:	8b 70 38             	mov    0x38(%eax),%esi
46919c:	8b ce                	mov    %esi,%ecx
46919e:	ff 15 2c 81 4a 00    	call   *0x4a812c
4691a4:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4691a7:	ff d6                	call   *%esi
4691a9:	8b 45 ec             	mov    -0x14(%ebp),%eax
4691ac:	6a 05                	push   $0x5
4691ae:	8b 30                	mov    (%eax),%esi
4691b0:	ff 15 f0 7d 4a 00    	call   *0x4a7df0
4691b6:	8b 4e 34             	mov    0x34(%esi),%ecx
4691b9:	50                   	push   %eax
4691ba:	ff 15 2c 81 4a 00    	call   *0x4a812c
4691c0:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4691c3:	ff 56 34             	call   *0x34(%esi)
4691c6:	ff 35 74 01 4a 00    	push   0x4a0174
4691cc:	ff 75 b8             	push   -0x48(%ebp)
4691cf:	ff 15 90 75 4a 00    	call   *0x4a7590
4691d5:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
4691d9:	8b 75 ec             	mov    -0x14(%ebp),%esi
4691dc:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4691df:	74 1f                	je     0x469200
4691e1:	8b 45 e8             	mov    -0x18(%ebp),%eax
4691e4:	68 20 00 cc 00       	push   $0xcc0020
4691e9:	57                   	push   %edi
4691ea:	57                   	push   %edi
4691eb:	ff 75 b8             	push   -0x48(%ebp)
4691ee:	6a 05                	push   $0x5
4691f0:	6a 05                	push   $0x5
4691f2:	ff 70 04             	push   0x4(%eax)
4691f5:	ff 30                	push   (%eax)
4691f7:	ff 76 04             	push   0x4(%esi)
4691fa:	ff 15 7c 71 4a 00    	call   *0x4a717c
469200:	f6 c3 02             	test   $0x2,%bl
469203:	74 20                	je     0x469225
469205:	8b 45 e8             	mov    -0x18(%ebp),%eax
469208:	68 20 00 cc 00       	push   $0xcc0020
46920d:	57                   	push   %edi
46920e:	57                   	push   %edi
46920f:	ff 75 b8             	push   -0x48(%ebp)
469212:	6a 05                	push   $0x5
469214:	6a 05                	push   $0x5
469216:	ff 70 04             	push   0x4(%eax)
469219:	ff 75 d0             	push   -0x30(%ebp)
46921c:	ff 76 04             	push   0x4(%esi)
46921f:	ff 15 7c 71 4a 00    	call   *0x4a717c
469225:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
469229:	74 20                	je     0x46924b
46922b:	8b 45 e8             	mov    -0x18(%ebp),%eax
46922e:	68 20 00 cc 00       	push   $0xcc0020
469233:	57                   	push   %edi
469234:	57                   	push   %edi
469235:	ff 75 b8             	push   -0x48(%ebp)
469238:	6a 05                	push   $0x5
46923a:	6a 05                	push   $0x5
46923c:	ff 70 04             	push   0x4(%eax)
46923f:	ff 75 e4             	push   -0x1c(%ebp)
469242:	ff 76 04             	push   0x4(%esi)
469245:	ff 15 7c 71 4a 00    	call   *0x4a717c
46924b:	f6 c3 04             	test   $0x4,%bl
46924e:	74 1d                	je     0x46926d
469250:	68 20 00 cc 00       	push   $0xcc0020
469255:	57                   	push   %edi
469256:	57                   	push   %edi
469257:	ff 75 b8             	push   -0x48(%ebp)
46925a:	6a 05                	push   $0x5
46925c:	6a 05                	push   $0x5
46925e:	ff 75 c8             	push   -0x38(%ebp)
469261:	ff 75 e4             	push   -0x1c(%ebp)
469264:	ff 76 04             	push   0x4(%esi)
469267:	ff 15 7c 71 4a 00    	call   *0x4a717c
46926d:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
469271:	74 1d                	je     0x469290
469273:	68 20 00 cc 00       	push   $0xcc0020
469278:	57                   	push   %edi
469279:	57                   	push   %edi
46927a:	ff 75 b8             	push   -0x48(%ebp)
46927d:	6a 05                	push   $0x5
46927f:	6a 05                	push   $0x5
469281:	ff 75 e0             	push   -0x20(%ebp)
469284:	ff 75 e4             	push   -0x1c(%ebp)
469287:	ff 76 04             	push   0x4(%esi)
46928a:	ff 15 7c 71 4a 00    	call   *0x4a717c
469290:	f6 c3 08             	test   $0x8,%bl
469293:	74 1d                	je     0x4692b2
469295:	68 20 00 cc 00       	push   $0xcc0020
46929a:	57                   	push   %edi
46929b:	57                   	push   %edi
46929c:	ff 75 b8             	push   -0x48(%ebp)
46929f:	6a 05                	push   $0x5
4692a1:	6a 05                	push   $0x5
4692a3:	ff 75 e0             	push   -0x20(%ebp)
4692a6:	ff 75 d0             	push   -0x30(%ebp)
4692a9:	ff 76 04             	push   0x4(%esi)
4692ac:	ff 15 7c 71 4a 00    	call   *0x4a717c
4692b2:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
4692b6:	74 1f                	je     0x4692d7
4692b8:	8b 45 e8             	mov    -0x18(%ebp),%eax
4692bb:	68 20 00 cc 00       	push   $0xcc0020
4692c0:	57                   	push   %edi
4692c1:	57                   	push   %edi
4692c2:	ff 75 b8             	push   -0x48(%ebp)
4692c5:	6a 05                	push   $0x5
4692c7:	6a 05                	push   $0x5
4692c9:	ff 75 e0             	push   -0x20(%ebp)
4692cc:	ff 30                	push   (%eax)
4692ce:	ff 76 04             	push   0x4(%esi)
4692d1:	ff 15 7c 71 4a 00    	call   *0x4a717c
4692d7:	f6 c3 01             	test   $0x1,%bl
4692da:	74 1f                	je     0x4692fb
4692dc:	8b 45 e8             	mov    -0x18(%ebp),%eax
4692df:	68 20 00 cc 00       	push   $0xcc0020
4692e4:	57                   	push   %edi
4692e5:	57                   	push   %edi
4692e6:	ff 75 b8             	push   -0x48(%ebp)
4692e9:	6a 05                	push   $0x5
4692eb:	6a 05                	push   $0x5
4692ed:	ff 75 c8             	push   -0x38(%ebp)
4692f0:	ff 30                	push   (%eax)
4692f2:	ff 76 04             	push   0x4(%esi)
4692f5:	ff 15 7c 71 4a 00    	call   *0x4a717c
4692fb:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4692fe:	85 c0                	test   %eax,%eax
469300:	74 03                	je     0x469305
469302:	8b 78 04             	mov    0x4(%eax),%edi
469305:	57                   	push   %edi
469306:	ff 75 b8             	push   -0x48(%ebp)
469309:	ff 15 90 75 4a 00    	call   *0x4a7590
46930f:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
469312:	ff 15 84 75 4a 00    	call   *0x4a7584
469318:	e8 84 71 02 00       	call   0x4904a1
46931d:	c2 04 00             	ret    $0x4
469320:	b8 e0 54 40 00       	mov    $0x4054e0,%eax
469325:	c3                   	ret
469326:	cc                   	int3
469327:	cc                   	int3
469328:	cc                   	int3
469329:	cc                   	int3
46932a:	cc                   	int3
46932b:	cc                   	int3
46932c:	cc                   	int3
46932d:	cc                   	int3
46932e:	cc                   	int3
46932f:	cc                   	int3
469330:	8b ff                	mov    %edi,%edi
469332:	55                   	push   %ebp
469333:	8b ec                	mov    %esp,%ebp
469335:	6a ff                	push   $0xffffffff
469337:	68 34 11 49 00       	push   $0x491134
46933c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
469342:	50                   	push   %eax
469343:	56                   	push   %esi
469344:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
469349:	33 c5                	xor    %ebp,%eax
46934b:	50                   	push   %eax
46934c:	8d 45 f4             	lea    -0xc(%ebp),%eax
46934f:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
469355:	8b f1                	mov    %ecx,%esi
469357:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46935b:	c7 06 cc 54 40 00    	movl   $0x4054cc,(%esi)
469361:	e8 d7 00 00 00       	call   0x46943d
469366:	8d 4e 24             	lea    0x24(%esi),%ecx
469369:	ff 15 1c 74 4a 00    	call   *0x4a741c
46936f:	8b ce                	mov    %esi,%ecx
469371:	ff 15 cc 73 4a 00    	call   *0x4a73cc
469377:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
46937b:	74 08                	je     0x469385
46937d:	56                   	push   %esi
46937e:	ff 15 10 74 4a 00    	call   *0x4a7410
469384:	59                   	pop    %ecx
469385:	8b c6                	mov    %esi,%eax
469387:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46938a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
469391:	59                   	pop    %ecx
469392:	5e                   	pop    %esi
469393:	c9                   	leave
469394:	c2 04 00             	ret    $0x4
469397:	8b ff                	mov    %edi,%edi
469399:	55                   	push   %ebp
46939a:	8b ec                	mov    %esp,%ebp
46939c:	56                   	push   %esi
46939d:	8b 75 0c             	mov    0xc(%ebp),%esi
4693a0:	57                   	push   %edi
4693a1:	8b f9                	mov    %ecx,%edi
4693a3:	85 f6                	test   %esi,%esi
4693a5:	7e 1e                	jle    0x4693c5
4693a7:	53                   	push   %ebx
4693a8:	8b 5d 08             	mov    0x8(%ebp),%ebx
4693ab:	8b 4f 20             	mov    0x20(%edi),%ecx
4693ae:	51                   	push   %ecx
4693af:	8d 41 01             	lea    0x1(%ecx),%eax
4693b2:	8b cf                	mov    %edi,%ecx
4693b4:	89 47 20             	mov    %eax,0x20(%edi)
4693b7:	e8 5b 09 00 00       	call   0x469d17
4693bc:	88 03                	mov    %al,(%ebx)
4693be:	43                   	inc    %ebx
4693bf:	83 ee 01             	sub    $0x1,%esi
4693c2:	75 e7                	jne    0x4693ab
4693c4:	5b                   	pop    %ebx
4693c5:	5f                   	pop    %edi
4693c6:	5e                   	pop    %esi
4693c7:	5d                   	pop    %ebp
4693c8:	c2 08 00             	ret    $0x8
4693cb:	6a 08                	push   $0x8
4693cd:	b8 98 52 49 00       	mov    $0x495298,%eax
4693d2:	e8 65 71 02 00       	call   0x49053c
4693d7:	8b d9                	mov    %ecx,%ebx
4693d9:	6a 04                	push   $0x4
4693db:	8d 45 ec             	lea    -0x14(%ebp),%eax
4693de:	33 ff                	xor    %edi,%edi
4693e0:	50                   	push   %eax
4693e1:	89 7d fc             	mov    %edi,-0x4(%ebp)
4693e4:	e8 ae ff ff ff       	call   0x469397
4693e9:	8b 75 ec             	mov    -0x14(%ebp),%esi
4693ec:	8b 4d 08             	mov    0x8(%ebp),%ecx
4693ef:	85 f6                	test   %esi,%esi
4693f1:	75 0e                	jne    0x469401
4693f3:	ff 15 44 74 4a 00    	call   *0x4a7444
4693f9:	e8 a3 70 02 00       	call   0x4904a1
4693fe:	c2 04 00             	ret    $0x4
469401:	56                   	push   %esi
469402:	ff 15 10 76 4a 00    	call   *0x4a7610
469408:	89 45 ec             	mov    %eax,-0x14(%ebp)
46940b:	3b fe                	cmp    %esi,%edi
46940d:	7d 1c                	jge    0x46942b
46940f:	8b 4b 20             	mov    0x20(%ebx),%ecx
469412:	51                   	push   %ecx
469413:	8d 41 01             	lea    0x1(%ecx),%eax
469416:	8b cb                	mov    %ebx,%ecx
469418:	89 43 20             	mov    %eax,0x20(%ebx)
46941b:	e8 f7 08 00 00       	call   0x469d17
469420:	8a c8                	mov    %al,%cl
469422:	8b 45 ec             	mov    -0x14(%ebp),%eax
469425:	88 08                	mov    %cl,(%eax)
469427:	40                   	inc    %eax
469428:	47                   	inc    %edi
469429:	eb dd                	jmp    0x469408
46942b:	8b 4d 08             	mov    0x8(%ebp),%ecx
46942e:	56                   	push   %esi
46942f:	ff 15 14 76 4a 00    	call   *0x4a7614
469435:	eb c2                	jmp    0x4693f9
469437:	b8 f9 93 46 00       	mov    $0x4693f9,%eax
46943c:	c3                   	ret
46943d:	6a 28                	push   $0x28
46943f:	b8 bc 52 49 00       	mov    $0x4952bc,%eax
469444:	e8 bd 70 02 00       	call   0x490506
469449:	8b f1                	mov    %ecx,%esi
46944b:	83 66 20 00          	andl   $0x0,0x20(%esi)
46944f:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
469453:	0f 8e dc 00 00 00    	jle    0x469535
469459:	6a 04                	push   $0x4
46945b:	5b                   	pop    %ebx
46945c:	6a 01                	push   $0x1
46945e:	8d 45 df             	lea    -0x21(%ebp),%eax
469461:	8b ce                	mov    %esi,%ecx
469463:	50                   	push   %eax
469464:	e8 2e ff ff ff       	call   0x469397
469469:	53                   	push   %ebx
46946a:	8d 45 ec             	lea    -0x14(%ebp),%eax
46946d:	8b ce                	mov    %esi,%ecx
46946f:	50                   	push   %eax
469470:	e8 22 ff ff ff       	call   0x469397
469475:	53                   	push   %ebx
469476:	8d 45 d0             	lea    -0x30(%ebp),%eax