4892e0:	eb 14                	jmp    0x4892f6
4892e2:	ff 75 10             	push   0x10(%ebp)
4892e5:	ff 75 0c             	push   0xc(%ebp)
4892e8:	56                   	push   %esi
4892e9:	e8 34 00 00 00       	call   0x489322
4892ee:	83 c4 0c             	add    $0xc,%esp
4892f1:	8b d8                	mov    %eax,%ebx
4892f3:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
4892f6:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4892fd:	e8 18 00 00 00       	call   0x48931a
489302:	8b c3                	mov    %ebx,%eax
489304:	8b 4d f0             	mov    -0x10(%ebp),%ecx
489307:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
48930e:	59                   	pop    %ecx
48930f:	5f                   	pop    %edi
489310:	5e                   	pop    %esi
489311:	5b                   	pop    %ebx
489312:	c9                   	leave
489313:	c3                   	ret
489314:	8b 75 08             	mov    0x8(%ebp),%esi
489317:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
48931a:	56                   	push   %esi
48931b:	e8 ba 6d 00 00       	call   0x4900da
489320:	59                   	pop    %ecx
489321:	c3                   	ret
489322:	8b ff                	mov    %edi,%edi
489324:	55                   	push   %ebp
489325:	8b ec                	mov    %esp,%ebp
489327:	8b 55 08             	mov    0x8(%ebp),%edx
48932a:	83 ec 24             	sub    $0x24,%esp
48932d:	53                   	push   %ebx
48932e:	57                   	push   %edi
48932f:	83 fa fe             	cmp    $0xfffffffe,%edx
489332:	75 18                	jne    0x48934c
489334:	e8 e9 0b ff ff       	call   0x479f22
489339:	83 20 00             	andl   $0x0,(%eax)
48933c:	e8 f4 0b ff ff       	call   0x479f35
489341:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
489347:	e9 5a 03 00 00       	jmp    0x4896a6
48934c:	85 d2                	test   %edx,%edx
48934e:	0f 88 3a 03 00 00    	js     0x48968e
489354:	3b 15 00 8a 4c 00    	cmp    0x4c8a00,%edx
48935a:	0f 83 2e 03 00 00    	jae    0x48968e
489360:	8b c2                	mov    %edx,%eax
489362:	8b ca                	mov    %edx,%ecx
489364:	c1 e9 06             	shr    $0x6,%ecx
489367:	83 e0 3f             	and    $0x3f,%eax
48936a:	6b f8 38             	imul   $0x38,%eax,%edi
48936d:	33 db                	xor    %ebx,%ebx
48936f:	89 4d f8             	mov    %ecx,-0x8(%ebp)
489372:	43                   	inc    %ebx
489373:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
489376:	8b 04 8d 00 88 4c 00 	mov    0x4c8800(,%ecx,4),%eax
48937d:	89 7d f0             	mov    %edi,-0x10(%ebp)
489380:	8a 4c 07 28          	mov    0x28(%edi,%eax,1),%cl
489384:	88 4d ff             	mov    %cl,-0x1(%ebp)
489387:	84 cb                	test   %cl,%bl
489389:	0f 84 ff 02 00 00    	je     0x48968e
48938f:	8b 4d 10             	mov    0x10(%ebp),%ecx
489392:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
489398:	76 18                	jbe    0x4893b2
48939a:	e8 83 0b ff ff       	call   0x479f22
48939f:	83 20 00             	andl   $0x0,(%eax)
4893a2:	e8 8e 0b ff ff       	call   0x479f35
4893a7:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4893ad:	e9 ef 02 00 00       	jmp    0x4896a1
4893b2:	85 c9                	test   %ecx,%ecx
4893b4:	0f 84 d0 02 00 00    	je     0x48968a
4893ba:	f6 45 ff 02          	testb  $0x2,-0x1(%ebp)
4893be:	0f 85 c6 02 00 00    	jne    0x48968a
4893c4:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4893c8:	74 d0                	je     0x48939a
4893ca:	56                   	push   %esi
4893cb:	8b 74 07 18          	mov    0x18(%edi,%eax,1),%esi
4893cf:	8a 44 07 29          	mov    0x29(%edi,%eax,1),%al
4893d3:	88 45 ff             	mov    %al,-0x1(%ebp)
4893d6:	89 75 ec             	mov    %esi,-0x14(%ebp)
4893d9:	33 f6                	xor    %esi,%esi
4893db:	0f be c0             	movsbl %al,%eax
4893de:	83 e8 01             	sub    $0x1,%eax
4893e1:	74 33                	je     0x489416
4893e3:	83 e8 01             	sub    $0x1,%eax
4893e6:	75 24                	jne    0x48940c
4893e8:	8b c1                	mov    %ecx,%eax
4893ea:	f7 d0                	not    %eax
4893ec:	84 c3                	test   %al,%bl
4893ee:	75 1c                	jne    0x48940c
4893f0:	e8 2d 0b ff ff       	call   0x479f22
4893f5:	21 30                	and    %esi,(%eax)
4893f7:	e8 39 0b ff ff       	call   0x479f35
4893fc:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
489402:	e8 1a 02 ff ff       	call   0x479621
489407:	e9 b5 01 00 00       	jmp    0x4895c1
48940c:	8b d9                	mov    %ecx,%ebx
48940e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
489411:	89 4d f4             	mov    %ecx,-0xc(%ebp)
489414:	eb 73                	jmp    0x489489
489416:	8b c1                	mov    %ecx,%eax
489418:	f7 d0                	not    %eax
48941a:	84 c3                	test   %al,%bl
48941c:	74 d2                	je     0x4893f0
48941e:	6a 04                	push   $0x4
489420:	d1 e9                	shr    $1,%ecx
489422:	5b                   	pop    %ebx
489423:	3b cb                	cmp    %ebx,%ecx
489425:	72 02                	jb     0x489429
489427:	8b d9                	mov    %ecx,%ebx
489429:	53                   	push   %ebx
48942a:	e8 03 c4 ff ff       	call   0x485832
48942f:	6a 00                	push   $0x0
489431:	8b f0                	mov    %eax,%esi
489433:	e8 c0 c3 ff ff       	call   0x4857f8
489438:	6a 00                	push   $0x0
48943a:	e8 b9 c3 ff ff       	call   0x4857f8
48943f:	83 c4 0c             	add    $0xc,%esp
489442:	89 75 f4             	mov    %esi,-0xc(%ebp)
489445:	85 f6                	test   %esi,%esi
489447:	75 1b                	jne    0x489464
489449:	e8 e7 0a ff ff       	call   0x479f35
48944e:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
489454:	e8 c9 0a ff ff       	call   0x479f22
489459:	c7 00 08 00 00 00    	movl   $0x8,(%eax)
48945f:	e9 5d 01 00 00       	jmp    0x4895c1
489464:	6a 01                	push   $0x1
489466:	6a 00                	push   $0x0
489468:	6a 00                	push   $0x0
48946a:	ff 75 08             	push   0x8(%ebp)
48946d:	e8 be 02 00 00       	call   0x489730
489472:	8b 4d f8             	mov    -0x8(%ebp),%ecx
489475:	83 c4 10             	add    $0x10,%esp
489478:	8b 0c 8d 00 88 4c 00 	mov    0x4c8800(,%ecx,4),%ecx
48947f:	89 44 0f 20          	mov    %eax,0x20(%edi,%ecx,1)
489483:	89 54 0f 24          	mov    %edx,0x24(%edi,%ecx,1)
489487:	8b ce                	mov    %esi,%ecx
489489:	8b 45 f8             	mov    -0x8(%ebp),%eax
48948c:	33 ff                	xor    %edi,%edi
48948e:	89 4d e0             	mov    %ecx,-0x20(%ebp)
489491:	8b 04 85 00 88 4c 00 	mov    0x4c8800(,%eax,4),%eax
489498:	89 45 e8             	mov    %eax,-0x18(%ebp)
48949b:	8b d0                	mov    %eax,%edx
48949d:	8b 45 f0             	mov    -0x10(%ebp),%eax
4894a0:	f6 44 10 28 48       	testb  $0x48,0x28(%eax,%edx,1)
4894a5:	8b 55 08             	mov    0x8(%ebp),%edx
4894a8:	0f 84 b6 00 00 00    	je     0x489564
4894ae:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4894b1:	8a 44 08 2a          	mov    0x2a(%eax,%ecx,1),%al
4894b5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4894b8:	3c 0a                	cmp    $0xa,%al
4894ba:	0f 84 a4 00 00 00    	je     0x489564
4894c0:	85 db                	test   %ebx,%ebx
4894c2:	0f 84 9c 00 00 00    	je     0x489564
4894c8:	8b 55 f0             	mov    -0x10(%ebp),%edx
4894cb:	47                   	inc    %edi
4894cc:	88 01                	mov    %al,(%ecx)
4894ce:	41                   	inc    %ecx
4894cf:	8b 45 f8             	mov    -0x8(%ebp),%eax
4894d2:	4b                   	dec    %ebx
4894d3:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
4894d7:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4894da:	8b 04 85 00 88 4c 00 	mov    0x4c8800(,%eax,4),%eax
4894e1:	c6 44 02 2a 0a       	movb   $0xa,0x2a(%edx,%eax,1)
4894e6:	8b 55 08             	mov    0x8(%ebp),%edx
4894e9:	74 79                	je     0x489564
4894eb:	8b 45 f8             	mov    -0x8(%ebp),%eax
4894ee:	8b 55 f0             	mov    -0x10(%ebp),%edx
4894f1:	8b 04 85 00 88 4c 00 	mov    0x4c8800(,%eax,4),%eax
4894f8:	8a 44 02 2b          	mov    0x2b(%edx,%eax,1),%al
4894fc:	8b 55 08             	mov    0x8(%ebp),%edx
4894ff:	3c 0a                	cmp    $0xa,%al
489501:	74 61                	je     0x489564
489503:	85 db                	test   %ebx,%ebx
489505:	74 5d                	je     0x489564
489507:	8b 55 f0             	mov    -0x10(%ebp),%edx
48950a:	88 01                	mov    %al,(%ecx)
48950c:	41                   	inc    %ecx
48950d:	8b 45 f8             	mov    -0x8(%ebp),%eax
489510:	4b                   	dec    %ebx
489511:	80 7d ff 01          	cmpb   $0x1,-0x1(%ebp)
489515:	6a 02                	push   $0x2
489517:	89 4d f4             	mov    %ecx,-0xc(%ebp)
48951a:	8b 04 85 00 88 4c 00 	mov    0x4c8800(,%eax,4),%eax
489521:	5f                   	pop    %edi
489522:	c6 44 02 2b 0a       	movb   $0xa,0x2b(%edx,%eax,1)
489527:	8b 55 08             	mov    0x8(%ebp),%edx
48952a:	75 38                	jne    0x489564
48952c:	8b 45 f8             	mov    -0x8(%ebp),%eax
48952f:	8b 55 f0             	mov    -0x10(%ebp),%edx
489532:	8b 04 85 00 88 4c 00 	mov    0x4c8800(,%eax,4),%eax
489539:	8a 44 02 2c          	mov    0x2c(%edx,%eax,1),%al
48953d:	8b 55 08             	mov    0x8(%ebp),%edx
489540:	3c 0a                	cmp    $0xa,%al
489542:	74 20                	je     0x489564
489544:	85 db                	test   %ebx,%ebx
489546:	74 1c                	je     0x489564
489548:	88 01                	mov    %al,(%ecx)
48954a:	41                   	inc    %ecx
48954b:	8b 45 f8             	mov    -0x8(%ebp),%eax
48954e:	4b                   	dec    %ebx
48954f:	89 4d f4             	mov    %ecx,-0xc(%ebp)
489552:	8b 4d f0             	mov    -0x10(%ebp),%ecx
489555:	6a 03                	push   $0x3
489557:	8b 04 85 00 88 4c 00 	mov    0x4c8800(,%eax,4),%eax
48955e:	5f                   	pop    %edi
48955f:	c6 44 01 2c 0a       	movb   $0xa,0x2c(%ecx,%eax,1)
489564:	52                   	push   %edx
489565:	e8 c7 98 00 00       	call   0x492e31
48956a:	59                   	pop    %ecx
48956b:	85 c0                	test   %eax,%eax
48956d:	74 6f                	je     0x4895de
48956f:	8b 45 f8             	mov    -0x8(%ebp),%eax
489572:	8b 4d f0             	mov    -0x10(%ebp),%ecx
489575:	8b 04 85 00 88 4c 00 	mov    0x4c8800(,%eax,4),%eax
48957c:	80 7c 01 28 00       	cmpb   $0x0,0x28(%ecx,%eax,1)
489581:	7d 5b                	jge    0x4895de
489583:	8d 45 dc             	lea    -0x24(%ebp),%eax
489586:	50                   	push   %eax
489587:	ff 75 ec             	push   -0x14(%ebp)
48958a:	ff 15 00 e1 49 00    	call   *0x49e100
489590:	85 c0                	test   %eax,%eax
489592:	74 4a                	je     0x4895de
489594:	80 7d ff 02          	cmpb   $0x2,-0x1(%ebp)
489598:	75 48                	jne    0x4895e2
48959a:	6a 00                	push   $0x0
48959c:	8d 45 e8             	lea    -0x18(%ebp),%eax
48959f:	d1 eb                	shr    $1,%ebx
4895a1:	50                   	push   %eax
4895a2:	53                   	push   %ebx
4895a3:	8b 5d f4             	mov    -0xc(%ebp),%ebx
4895a6:	53                   	push   %ebx
4895a7:	ff 75 ec             	push   -0x14(%ebp)
4895aa:	ff 15 e4 e0 49 00    	call   *0x49e0e4
4895b0:	85 c0                	test   %eax,%eax
4895b2:	75 1f                	jne    0x4895d3
4895b4:	ff 15 30 e1 49 00    	call   *0x49e130
4895ba:	50                   	push   %eax
4895bb:	e8 1b 09 ff ff       	call   0x479edb
4895c0:	59                   	pop    %ecx
4895c1:	83 cf ff             	or     $0xffffffff,%edi
4895c4:	56                   	push   %esi
4895c5:	e8 2e c2 ff ff       	call   0x4857f8
4895ca:	59                   	pop    %ecx
4895cb:	8b c7                	mov    %edi,%eax
4895cd:	5e                   	pop    %esi
4895ce:	e9 d6 00 00 00       	jmp    0x4896a9
4895d3:	8b 45 e8             	mov    -0x18(%ebp),%eax
4895d6:	8b 4d 10             	mov    0x10(%ebp),%ecx
4895d9:	8d 3c 47             	lea    (%edi,%eax,2),%edi
4895dc:	eb 27                	jmp    0x489605
4895de:	c6 45 e4 00          	movb   $0x0,-0x1c(%ebp)
4895e2:	6a 00                	push   $0x0
4895e4:	8d 45 e8             	lea    -0x18(%ebp),%eax
4895e7:	50                   	push   %eax
4895e8:	53                   	push   %ebx
4895e9:	8b 5d f4             	mov    -0xc(%ebp),%ebx
4895ec:	53                   	push   %ebx
4895ed:	ff 75 ec             	push   -0x14(%ebp)
4895f0:	ff 15 94 e1 49 00    	call   *0x49e194
4895f6:	85 c0                	test   %eax,%eax
4895f8:	74 5c                	je     0x489656
4895fa:	8b 4d 10             	mov    0x10(%ebp),%ecx
4895fd:	39 4d e8             	cmp    %ecx,-0x18(%ebp)
489600:	77 54                	ja     0x489656
489602:	03 7d e8             	add    -0x18(%ebp),%edi
489605:	8b 45 f8             	mov    -0x8(%ebp),%eax
489608:	8b 55 f0             	mov    -0x10(%ebp),%edx
48960b:	8b 04 85 00 88 4c 00 	mov    0x4c8800(,%eax,4),%eax
489612:	80 7c 02 28 00       	cmpb   $0x0,0x28(%edx,%eax,1)
489617:	7d ab                	jge    0x4895c4
489619:	80 7d ff 02          	cmpb   $0x2,-0x1(%ebp)
48961d:	74 17                	je     0x489636
48961f:	d1 e9                	shr    $1,%ecx
489621:	51                   	push   %ecx
489622:	ff 75 0c             	push   0xc(%ebp)
489625:	57                   	push   %edi
489626:	53                   	push   %ebx
489627:	ff 75 08             	push   0x8(%ebp)
48962a:	e8 05 fa ff ff       	call   0x489034
48962f:	83 c4 14             	add    $0x14,%esp
489632:	8b f8                	mov    %eax,%edi
489634:	eb 8e                	jmp    0x4895c4
489636:	d1 ef                	shr    $1,%edi
489638:	80 7d e4 00          	cmpb   $0x0,-0x1c(%ebp)
48963c:	57                   	push   %edi
48963d:	ff 75 e0             	push   -0x20(%ebp)
489640:	ff 75 08             	push   0x8(%ebp)
489643:	74 0a                	je     0x48964f
489645:	e8 41 fb ff ff       	call   0x48918b
48964a:	83 c4 0c             	add    $0xc,%esp
48964d:	eb e3                	jmp    0x489632
48964f:	e8 26 f8 ff ff       	call   0x488e7a
489654:	eb f4                	jmp    0x48964a
489656:	ff 15 30 e1 49 00    	call   *0x49e130
48965c:	6a 05                	push   $0x5
48965e:	5f                   	pop    %edi
48965f:	3b c7                	cmp    %edi,%eax
489661:	75 17                	jne    0x48967a
489663:	e8 cd 08 ff ff       	call   0x479f35
489668:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
48966e:	e8 af 08 ff ff       	call   0x479f22
489673:	89 38                	mov    %edi,(%eax)
489675:	e9 47 ff ff ff       	jmp    0x4895c1
48967a:	83 f8 6d             	cmp    $0x6d,%eax
48967d:	0f 85 37 ff ff ff    	jne    0x4895ba
489683:	33 ff                	xor    %edi,%edi
489685:	e9 3a ff ff ff       	jmp    0x4895c4
48968a:	33 c0                	xor    %eax,%eax
48968c:	eb 1b                	jmp    0x4896a9
48968e:	e8 8f 08 ff ff       	call   0x479f22
489693:	83 20 00             	andl   $0x0,(%eax)
489696:	e8 9a 08 ff ff       	call   0x479f35
48969b:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4896a1:	e8 7b ff fe ff       	call   0x479621
4896a6:	83 c8 ff             	or     $0xffffffff,%eax
4896a9:	5f                   	pop    %edi
4896aa:	5b                   	pop    %ebx
4896ab:	c9                   	leave
4896ac:	c3                   	ret
4896ad:	8b ff                	mov    %edi,%edi
4896af:	55                   	push   %ebp
4896b0:	8b ec                	mov    %esp,%ebp
4896b2:	51                   	push   %ecx
4896b3:	51                   	push   %ecx
4896b4:	56                   	push   %esi
4896b5:	8b 75 08             	mov    0x8(%ebp),%esi
4896b8:	57                   	push   %edi
4896b9:	56                   	push   %esi
4896ba:	e8 e2 6b 00 00       	call   0x4902a1
4896bf:	83 cf ff             	or     $0xffffffff,%edi
4896c2:	59                   	pop    %ecx
4896c3:	3b c7                	cmp    %edi,%eax
4896c5:	75 14                	jne    0x4896db
4896c7:	8b 45 18             	mov    0x18(%ebp),%eax
4896ca:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
4896ce:	c7 40 18 09 00 00 00 	movl   $0x9,0x18(%eax)
4896d5:	8b c7                	mov    %edi,%eax
4896d7:	8b d7                	mov    %edi,%edx
4896d9:	eb 51                	jmp    0x48972c
4896db:	ff 75 14             	push   0x14(%ebp)
4896de:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4896e1:	51                   	push   %ecx
4896e2:	ff 75 10             	push   0x10(%ebp)
4896e5:	ff 75 0c             	push   0xc(%ebp)
4896e8:	50                   	push   %eax
4896e9:	ff 15 08 e1 49 00    	call   *0x49e108
4896ef:	85 c0                	test   %eax,%eax
4896f1:	75 13                	jne    0x489706
4896f3:	ff 75 18             	push   0x18(%ebp)
4896f6:	ff 15 30 e1 49 00    	call   *0x49e130
4896fc:	50                   	push   %eax
4896fd:	e8 fc 07 ff ff       	call   0x479efe