479296:	64 ff 30             	push   %fs:(%eax)
479299:	64 89 20             	mov    %esp,%fs:(%eax)
47929c:	33 ff                	xor    %edi,%edi
47929e:	8a 46 04             	mov    0x4(%esi),%al
4792a1:	2c 01                	sub    $0x1,%al
4792a3:	72 1b                	jb     0x4792c0
4792a5:	0f 84 95 00 00 00    	je     0x479340
4792ab:	fe c8                	dec    %al
4792ad:	0f 84 9d 00 00 00    	je     0x479350
4792b3:	fe c8                	dec    %al
4792b5:	0f 84 99 04 00 00    	je     0x479754
4792bb:	e9 d8 05 00 00       	jmp    0x479898
4792c0:	8b d6                	mov    %esi,%edx
4792c2:	8b c3                	mov    %ebx,%eax
4792c4:	e8 5b f6 ff ff       	call   0x478924
4792c9:	89 45 f8             	mov    %eax,-0x8(%ebp)
4792cc:	8a 45 ff             	mov    -0x1(%ebp),%al
4792cf:	84 c0                	test   %al,%al
4792d1:	74 06                	je     0x4792d9
4792d3:	04 f7                	add    $0xf7,%al
4792d5:	2c 03                	sub    $0x3,%al
4792d7:	73 54                	jae    0x47932d
4792d9:	8b 45 f8             	mov    -0x8(%ebp),%eax
4792dc:	80 78 40 05          	cmpb   $0x5,0x40(%eax)
4792e0:	75 4b                	jne    0x47932d
4792e2:	6a 02                	push   $0x2
4792e4:	b1 04                	mov    $0x4,%cl
4792e6:	b2 02                	mov    $0x2,%dl
4792e8:	8b c3                	mov    %ebx,%eax
4792ea:	e8 d1 06 00 00       	call   0x4799c0
4792ef:	8b f8                	mov    %eax,%edi
4792f1:	8b ce                	mov    %esi,%ecx
4792f3:	8b 55 f8             	mov    -0x8(%ebp),%edx
4792f6:	8b c3                	mov    %ebx,%eax
4792f8:	e8 cf 05 00 00       	call   0x4798cc
4792fd:	50                   	push   %eax
4792fe:	33 c9                	xor    %ecx,%ecx
479300:	8b d7                	mov    %edi,%edx
479302:	8b c3                	mov    %ebx,%eax
479304:	e8 fb 06 00 00       	call   0x479a04
479309:	6a 02                	push   $0x2
47930b:	b9 a8 e2 48 00       	mov    $0x48e2a8,%ecx
479310:	b2 05                	mov    $0x5,%dl
479312:	8b c3                	mov    %ebx,%eax
479314:	e8 1f fc ff ff       	call   0x478f38
479319:	50                   	push   %eax
47931a:	b9 01 00 00 00       	mov    $0x1,%ecx
47931f:	8b d7                	mov    %edi,%edx
479321:	8b c3                	mov    %ebx,%eax
479323:	e8 dc 06 00 00       	call   0x479a04
479328:	e9 6b 05 00 00       	jmp    0x479898
47932d:	8b ce                	mov    %esi,%ecx
47932f:	8b 55 f8             	mov    -0x8(%ebp),%edx
479332:	8b c3                	mov    %ebx,%eax
479334:	e8 93 05 00 00       	call   0x4798cc
479339:	8b f8                	mov    %eax,%edi
47933b:	e9 58 05 00 00       	jmp    0x479898
479340:	8b d6                	mov    %esi,%edx
479342:	8b c3                	mov    %ebx,%eax
479344:	e8 93 fd ff ff       	call   0x4790dc
479349:	8b f8                	mov    %eax,%edi
47934b:	e9 48 05 00 00       	jmp    0x479898
479350:	8a 46 06             	mov    0x6(%esi),%al
479353:	33 d2                	xor    %edx,%edx
479355:	8a d0                	mov    %al,%dl
479357:	83 fa 25             	cmp    $0x25,%edx
47935a:	0f 87 38 05 00 00    	ja     0x479898
479360:	8a 92 6d 93 47 00    	mov    0x47936d(%edx),%dl
479366:	ff 24 95 93 93 47 00 	jmp    *0x479393(,%edx,4)
47936d:	00 02                	add    %al,(%edx)
47936f:	02 03                	add    (%ebx),%al
479371:	03 03                	add    (%ebx),%eax
479373:	03 03                	add    (%ebx),%eax
479375:	03 02                	add    (%edx),%eax
479377:	03 03                	add    (%ebx),%eax
479379:	00 00                	add    %al,(%eax)
47937b:	00 00                	add    %al,(%eax)
47937d:	03 03                	add    (%ebx),%eax
47937f:	03 03                	add    (%ebx),%eax
479389:	00 00                	add    %al,(%eax)
47938b:	03 01                	add    (%ecx),%eax
47938d:	00 00                	add    %al,(%eax)
47938f:	00 00                	add    %al,(%eax)
479391:	00 03                	add    %al,(%ebx)
479393:	98                   	cwtl
479394:	98                   	cwtl
479395:	47                   	inc    %edi
479396:	00 a3 93 47 00 ab    	add    %ah,-0x54ffb86d(%ebx)
47939c:	94                   	xchg   %eax,%esp
47939d:	47                   	inc    %edi
47939e:	00 d8                	add    %bl,%al
4793a0:	94                   	xchg   %eax,%esp
4793a1:	47                   	inc    %edi
4793a2:	00 6a 02             	add    %ch,0x2(%edx)
4793a5:	b1 1f                	mov    $0x1f,%cl
4793a7:	b2 02                	mov    $0x2,%dl
4793a9:	8b c3                	mov    %ebx,%eax
4793ab:	e8 10 06 00 00       	call   0x4799c0
4793b0:	8b f8                	mov    %eax,%edi
4793b2:	8a 4e 06             	mov    0x6(%esi),%cl
4793b5:	8b 56 18             	mov    0x18(%esi),%edx
4793b8:	8b c3                	mov    %ebx,%eax
4793ba:	e8 b1 fe ff ff       	call   0x479270
4793bf:	50                   	push   %eax
4793c0:	33 c9                	xor    %ecx,%ecx
4793c2:	8b d7                	mov    %edi,%edx
4793c4:	8b c3                	mov    %ebx,%eax
4793c6:	e8 39 06 00 00       	call   0x479a04
4793cb:	6a 02                	push   $0x2
4793cd:	b1 24                	mov    $0x24,%cl
4793cf:	b2 0b                	mov    $0xb,%dl
4793d1:	8b c3                	mov    %ebx,%eax
4793d3:	e8 e8 05 00 00       	call   0x4799c0
4793d8:	89 45 e8             	mov    %eax,-0x18(%ebp)
4793db:	8b 45 e8             	mov    -0x18(%ebp),%eax
4793de:	50                   	push   %eax
4793df:	b9 01 00 00 00       	mov    $0x1,%ecx
4793e4:	8b d7                	mov    %edi,%edx
4793e6:	8b c3                	mov    %ebx,%eax
4793e8:	e8 17 06 00 00       	call   0x479a04
4793ed:	8b 45 e8             	mov    -0x18(%ebp),%eax
4793f0:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4793f3:	8b 46 28             	mov    0x28(%esi),%eax
4793f6:	8b 40 08             	mov    0x8(%eax),%eax
4793f9:	48                   	dec    %eax
4793fa:	85 c0                	test   %eax,%eax
4793fc:	0f 8c 96 04 00 00    	jl     0x479898
479402:	40                   	inc    %eax
479403:	89 45 c8             	mov    %eax,-0x38(%ebp)
479406:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
47940d:	8b 55 e0             	mov    -0x20(%ebp),%edx
479410:	8b 46 28             	mov    0x28(%esi),%eax
479413:	e8 d8 29 fa ff       	call   0x41bdf0
479418:	8b d0                	mov    %eax,%edx
47941a:	8a 4e 06             	mov    0x6(%esi),%cl
47941d:	8b c3                	mov    %ebx,%eax
47941f:	e8 4c fe ff ff       	call   0x479270
479424:	89 45 ec             	mov    %eax,-0x14(%ebp)
479427:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
47942b:	75 23                	jne    0x479450
47942d:	8b 45 ec             	mov    -0x14(%ebp),%eax
479430:	50                   	push   %eax
479431:	33 c9                	xor    %ecx,%ecx
479433:	8b 55 e4             	mov    -0x1c(%ebp),%edx
479436:	8b c3                	mov    %ebx,%eax
479438:	e8 c7 05 00 00       	call   0x479a04
47943d:	6a 00                	push   $0x0
47943f:	b9 01 00 00 00       	mov    $0x1,%ecx
479444:	8b 55 e4             	mov    -0x1c(%ebp),%edx
479447:	8b c3                	mov    %ebx,%eax
479449:	e8 b6 05 00 00       	call   0x479a04
47944e:	eb 4a                	jmp    0x47949a
479450:	6a 02                	push   $0x2
479452:	b1 24                	mov    $0x24,%cl
479454:	b2 0b                	mov    $0xb,%dl
479456:	8b c3                	mov    %ebx,%eax
479458:	e8 63 05 00 00       	call   0x4799c0
47945d:	89 45 e8             	mov    %eax,-0x18(%ebp)
479460:	8b 45 ec             	mov    -0x14(%ebp),%eax
479463:	50                   	push   %eax
479464:	33 c9                	xor    %ecx,%ecx
479466:	8b 55 e8             	mov    -0x18(%ebp),%edx
479469:	8b c3                	mov    %ebx,%eax
47946b:	e8 94 05 00 00       	call   0x479a04
479470:	6a 00                	push   $0x0
479472:	b9 01 00 00 00       	mov    $0x1,%ecx
479477:	8b 55 e8             	mov    -0x18(%ebp),%edx
47947a:	8b c3                	mov    %ebx,%eax
47947c:	e8 83 05 00 00       	call   0x479a04
479481:	8b 45 e8             	mov    -0x18(%ebp),%eax
479484:	50                   	push   %eax
479485:	b9 01 00 00 00       	mov    $0x1,%ecx
47948a:	8b 55 e4             	mov    -0x1c(%ebp),%edx
47948d:	8b c3                	mov    %ebx,%eax
47948f:	e8 70 05 00 00       	call   0x479a04
479494:	8b 45 e8             	mov    -0x18(%ebp),%eax
479497:	89 45 e4             	mov    %eax,-0x1c(%ebp)
47949a:	ff 45 e0             	incl   -0x20(%ebp)
47949d:	ff 4d c8             	decl   -0x38(%ebp)
4794a0:	0f 85 67 ff ff ff    	jne    0x47940d
4794a6:	e9 ed 03 00 00       	jmp    0x479898
4794ab:	6a 01                	push   $0x1
4794ad:	8b c8                	mov    %eax,%ecx
4794af:	b2 01                	mov    $0x1,%dl
4794b1:	8b c3                	mov    %ebx,%eax
4794b3:	e8 08 05 00 00       	call   0x4799c0
4794b8:	8b f8                	mov    %eax,%edi
4794ba:	8a 4e 06             	mov    0x6(%esi),%cl
4794bd:	8b 56 18             	mov    0x18(%esi),%edx
4794c0:	8b c3                	mov    %ebx,%eax
4794c2:	e8 a9 fd ff ff       	call   0x479270
4794c7:	50                   	push   %eax
4794c8:	33 c9                	xor    %ecx,%ecx
4794ca:	8b d7                	mov    %edi,%edx
4794cc:	8b c3                	mov    %ebx,%eax
4794ce:	e8 31 05 00 00       	call   0x479a04
4794d3:	e9 c0 03 00 00       	jmp    0x479898
4794d8:	88 45 df             	mov    %al,-0x21(%ebp)
4794db:	8b 46 18             	mov    0x18(%esi),%eax
4794de:	89 45 f4             	mov    %eax,-0xc(%ebp)
4794e1:	8b 46 1c             	mov    0x1c(%esi),%eax
4794e4:	89 45 f0             	mov    %eax,-0x10(%ebp)
4794e7:	8a 45 df             	mov    -0x21(%ebp),%al
4794ea:	04 fd                	add    $0xfd,%al
4794ec:	2c 06                	sub    $0x6,%al
4794ee:	73 2c                	jae    0x47951c
4794f0:	8b 45 f0             	mov    -0x10(%ebp),%eax
4794f3:	80 78 04 00          	cmpb   $0x0,0x4(%eax)
4794f7:	75 23                	jne    0x47951c
4794f9:	8b 45 f4             	mov    -0xc(%ebp),%eax
4794fc:	80 78 04 00          	cmpb   $0x0,0x4(%eax)
479500:	74 1a                	je     0x47951c
479502:	8b 45 f4             	mov    -0xc(%ebp),%eax
479505:	8b 55 f0             	mov    -0x10(%ebp),%edx
479508:	89 55 f4             	mov    %edx,-0xc(%ebp)
47950b:	89 45 f0             	mov    %eax,-0x10(%ebp)
47950e:	33 c0                	xor    %eax,%eax
479510:	8a 45 df             	mov    -0x21(%ebp),%al
479513:	8a 80 9d e2 48 00    	mov    0x48e29d(%eax),%al
479519:	88 45 df             	mov    %al,-0x21(%ebp)
47951c:	33 ff                	xor    %edi,%edi
47951e:	8b 55 f4             	mov    -0xc(%ebp),%edx
479521:	80 7a 04 00          	cmpb   $0x0,0x4(%edx)
479525:	0f 85 8f 01 00 00    	jne    0x4796ba
47952b:	8b 55 f0             	mov    -0x10(%ebp),%edx
47952e:	80 7a 04 01          	cmpb   $0x1,0x4(%edx)
479532:	0f 85 82 01 00 00    	jne    0x4796ba
479538:	8a 46 06             	mov    0x6(%esi),%al
47953b:	3c 03                	cmp    $0x3,%al
47953d:	74 0c                	je     0x47954b
47953f:	3c 04                	cmp    $0x4,%al
479541:	74 08                	je     0x47954b
479543:	3c 1e                	cmp    $0x1e,%al
479545:	0f 85 6f 01 00 00    	jne    0x4796ba
47954b:	8b 45 f0             	mov    -0x10(%ebp),%eax
47954e:	83 c0 08             	add    $0x8,%eax
479551:	e8 56 c0 f9 ff       	call   0x4155ac
479556:	84 c0                	test   %al,%al
479558:	74 5e                	je     0x4795b8
47955a:	8a 46 06             	mov    0x6(%esi),%al
47955d:	2c 03                	sub    $0x3,%al
47955f:	74 06                	je     0x479567
479561:	fe c8                	dec    %al
479563:	74 08                	je     0x47956d
479565:	eb 0c                	jmp    0x479573
479567:	c6 45 df 01          	movb   $0x1,-0x21(%ebp)
47956b:	eb 1d                	jmp    0x47958a
47956d:	c6 45 df 02          	movb   $0x2,-0x21(%ebp)
479571:	eb 17                	jmp    0x47958a
479573:	8d 55 c4             	lea    -0x3c(%ebp),%edx
479576:	a1 c0 af 49 00       	mov    0x49afc0,%eax
47957b:	e8 b8 cc f8 ff       	call   0x406238
479580:	8b 45 c4             	mov    -0x3c(%ebp),%eax
479583:	33 d2                	xor    %edx,%edx
479585:	e8 f6 04 ff ff       	call   0x469a80
47958a:	6a 01                	push   $0x1
47958c:	8a 4d df             	mov    -0x21(%ebp),%cl
47958f:	b2 01                	mov    $0x1,%dl
479591:	8b c3                	mov    %ebx,%eax
479593:	e8 28 04 00 00       	call   0x4799c0
479598:	8b f8                	mov    %eax,%edi
47959a:	8a 4e 06             	mov    0x6(%esi),%cl
47959d:	8b 55 f4             	mov    -0xc(%ebp),%edx
4795a0:	8b c3                	mov    %ebx,%eax
4795a2:	e8 c9 fc ff ff       	call   0x479270
4795a7:	50                   	push   %eax
4795a8:	33 c9                	xor    %ecx,%ecx
4795aa:	8b d7                	mov    %edi,%edx
4795ac:	8b c3                	mov    %ebx,%eax
4795ae:	e8 51 04 00 00       	call   0x479a04
4795b3:	e9 02 01 00 00       	jmp    0x4796ba
4795b8:	8b 45 f0             	mov    -0x10(%ebp),%eax
4795bb:	8a 40 20             	mov    0x20(%eax),%al
4795be:	2c 01                	sub    $0x1,%al
4795c0:	74 0e                	je     0x4795d0
4795c2:	04 ea                	add    $0xea,%al
4795c4:	2c 02                	sub    $0x2,%al
4795c6:	72 08                	jb     0x4795d0
4795c8:	2c 0a                	sub    $0xa,%al
4795ca:	0f 85 ea 00 00 00    	jne    0x4796ba
4795d0:	8d 45 cc             	lea    -0x34(%ebp),%eax
4795d3:	8b 55 f0             	mov    -0x10(%ebp),%edx
4795d6:	83 c2 08             	add    $0x8,%edx
4795d9:	e8 0e 9f f9 ff       	call   0x4134ec
4795de:	8b 45 cc             	mov    -0x34(%ebp),%eax
4795e1:	e8 3e ae f8 ff       	call   0x404424
4795e6:	89 45 d0             	mov    %eax,-0x30(%ebp)
4795e9:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
4795ed:	0f 84 c7 00 00 00    	je     0x4796ba
4795f3:	33 c0                	xor    %eax,%eax
4795f5:	89 45 d8             	mov    %eax,-0x28(%ebp)
4795f8:	33 c0                	xor    %eax,%eax
4795fa:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4795fd:	f6 43 2e 01          	testb  $0x1,0x2e(%ebx)
479601:	74 07                	je     0x47960a
479603:	c7 45 d8 01 00 00 00 	movl   $0x1,-0x28(%ebp)
47960a:	80 7e 05 00          	cmpb   $0x0,0x5(%esi)
47960e:	74 08                	je     0x479618
479610:	8b 45 d0             	mov    -0x30(%ebp),%eax
479613:	89 45 d4             	mov    %eax,-0x2c(%ebp)
479616:	eb 30                	jmp    0x479648
479618:	f6 43 2e 02          	testb  $0x2,0x2e(%ebx)
47961c:	75 2a                	jne    0x479648
47961e:	83 7d d0 01          	cmpl   $0x1,-0x30(%ebp)
479622:	7e 24                	jle    0x479648
479624:	8b 45 cc             	mov    -0x34(%ebp),%eax
479627:	8b 55 d0             	mov    -0x30(%ebp),%edx
47962a:	80 7c 10 ff 2a       	cmpb   $0x2a,-0x1(%eax,%edx,1)
47962f:	75 17                	jne    0x479648
479631:	8d 45 cc             	lea    -0x34(%ebp),%eax
479634:	b9 01 00 00 00       	mov    $0x1,%ecx
479639:	8b 55 d0             	mov    -0x30(%ebp),%edx
47963c:	e8 83 b0 f8 ff       	call   0x4046c4
479641:	8b 45 d0             	mov    -0x30(%ebp),%eax
479644:	48                   	dec    %eax
479645:	89 45 d4             	mov    %eax,-0x2c(%ebp)
479648:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
47964c:	75 06                	jne    0x479654
47964e:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
479652:	74 66                	je     0x4796ba
479654:	6a 04                	push   $0x4
479656:	8a 4d df             	mov    -0x21(%ebp),%cl
479659:	b2 03                	mov    $0x3,%dl
47965b:	8b c3                	mov    %ebx,%eax
47965d:	e8 5e 03 00 00       	call   0x4799c0
479662:	8b f8                	mov    %eax,%edi
479664:	8b 45 d8             	mov    -0x28(%ebp),%eax
479667:	50                   	push   %eax
479668:	33 c9                	xor    %ecx,%ecx
47966a:	8b d7                	mov    %edi,%edx
47966c:	8b c3                	mov    %ebx,%eax
47966e:	e8 91 03 00 00       	call   0x479a04
479673:	8b 45 d4             	mov    -0x2c(%ebp),%eax
479676:	50                   	push   %eax
479677:	b9 01 00 00 00       	mov    $0x1,%ecx
47967c:	8b d7                	mov    %edi,%edx
47967e:	8b c3                	mov    %ebx,%eax
479680:	e8 7f 03 00 00       	call   0x479a04
479685:	8a 4e 06             	mov    0x6(%esi),%cl
479688:	8b 55 f4             	mov    -0xc(%ebp),%edx
47968b:	8b c3                	mov    %ebx,%eax
47968d:	e8 de fb ff ff       	call   0x479270
479692:	50                   	push   %eax
479693:	b9 02 00 00 00       	mov    $0x2,%ecx
479698:	8b d7                	mov    %edi,%edx
47969a:	8b c3                	mov    %ebx,%eax
47969c:	e8 63 03 00 00       	call   0x479a04
4796a1:	8b 55 cc             	mov    -0x34(%ebp),%edx
4796a4:	8b c3                	mov    %ebx,%eax
4796a6:	e8 fd f8 ff ff       	call   0x478fa8