4a8493:	83 e9 04             	sub    $0x4,%ecx
4a8496:	8b 45 ec             	mov    -0x14(%ebp),%eax
4a8499:	8d 50 04             	lea    0x4(%eax),%edx
4a849c:	8b c3                	mov    %ebx,%eax
4a849e:	e8 41 64 f7 ff       	call   0x41e8e4
4a84a3:	8b 45 ec             	mov    -0x14(%ebp),%eax
4a84a6:	83 c0 08             	add    $0x8,%eax
4a84a9:	89 45 e8             	mov    %eax,-0x18(%ebp)
4a84ac:	33 db                	xor    %ebx,%ebx
4a84ae:	8b 45 ec             	mov    -0x14(%ebp),%eax
4a84b1:	8b 40 04             	mov    0x4(%eax),%eax
4a84b4:	48                   	dec    %eax
4a84b5:	85 c0                	test   %eax,%eax
4a84b7:	0f 8c c9 00 00 00    	jl     0x4a8586
4a84bd:	40                   	inc    %eax
4a84be:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4a84c1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4a84c4:	e8 cb fa ff ff       	call   0x4a7f94
4a84c9:	89 45 e0             	mov    %eax,-0x20(%ebp)
4a84cc:	8d 45 d8             	lea    -0x28(%ebp),%eax
4a84cf:	8b 55 e8             	mov    -0x18(%ebp),%edx
4a84d2:	83 c2 14             	add    $0x14,%edx
4a84d5:	e8 ea c5 f5 ff       	call   0x404ac4
4a84da:	8b 55 d8             	mov    -0x28(%ebp),%edx
4a84dd:	8b 45 e0             	mov    -0x20(%ebp),%eax
4a84e0:	e8 1f f5 ff ff       	call   0x4a7a04
4a84e5:	8b 45 e8             	mov    -0x18(%ebp),%eax
4a84e8:	8b 08                	mov    (%eax),%ecx
4a84ea:	33 d2                	xor    %edx,%edx
4a84ec:	8b 45 e0             	mov    -0x20(%ebp),%eax
4a84ef:	e8 f8 f6 ff ff       	call   0x4a7bec
4a84f4:	8b 45 e8             	mov    -0x18(%ebp),%eax
4a84f7:	8b 48 08             	mov    0x8(%eax),%ecx
4a84fa:	ba 01 00 00 00       	mov    $0x1,%edx
4a84ff:	8b 45 e0             	mov    -0x20(%ebp),%eax
4a8502:	e8 e5 f6 ff ff       	call   0x4a7bec
4a8507:	8b 45 e8             	mov    -0x18(%ebp),%eax
4a850a:	8b 48 04             	mov    0x4(%eax),%ecx
4a850d:	ba 02 00 00 00       	mov    $0x2,%edx
4a8512:	8b 45 e0             	mov    -0x20(%ebp),%eax
4a8515:	e8 d2 f6 ff ff       	call   0x4a7bec
4a851a:	8b 45 e8             	mov    -0x18(%ebp),%eax
4a851d:	8b 50 10             	mov    0x10(%eax),%edx
4a8520:	8b 45 e0             	mov    -0x20(%ebp),%eax
4a8523:	e8 8c f5 ff ff       	call   0x4a7ab4
4a8528:	8b 45 e8             	mov    -0x18(%ebp),%eax
4a852b:	8d 58 14             	lea    0x14(%eax),%ebx
4a852e:	33 c0                	xor    %eax,%eax
4a8530:	8a 03                	mov    (%ebx),%al
4a8532:	40                   	inc    %eax
4a8533:	01 c3                	add    %eax,%ebx
4a8535:	33 c0                	xor    %eax,%eax
4a8537:	89 45 f0             	mov    %eax,-0x10(%ebp)
4a853a:	8b 45 e8             	mov    -0x18(%ebp),%eax
4a853d:	8b 70 0c             	mov    0xc(%eax),%esi
4a8540:	4e                   	dec    %esi
4a8541:	85 f6                	test   %esi,%esi
4a8543:	7c 28                	jl     0x4a856d
4a8545:	46                   	inc    %esi
4a8546:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4a8549:	8b d3                	mov    %ebx,%edx
4a854b:	e8 74 c5 f5 ff       	call   0x404ac4
4a8550:	8b 55 d4             	mov    -0x2c(%ebp),%edx
4a8553:	8b 45 e0             	mov    -0x20(%ebp),%eax
4a8556:	8b 40 08             	mov    0x8(%eax),%eax
4a8559:	8b 08                	mov    (%eax),%ecx
4a855b:	ff 51 38             	call   *0x38(%ecx)
4a855e:	33 c0                	xor    %eax,%eax
4a8560:	8a 03                	mov    (%ebx),%al
4a8562:	8d 50 01             	lea    0x1(%eax),%edx
4a8565:	01 55 f0             	add    %edx,-0x10(%ebp)
4a8568:	01 d3                	add    %edx,%ebx
4a856a:	4e                   	dec    %esi
4a856b:	75 d9                	jne    0x4a8546
4a856d:	8b 45 e8             	mov    -0x18(%ebp),%eax
4a8570:	0f b6 40 14          	movzbl 0x14(%eax),%eax
4a8574:	83 c0 15             	add    $0x15,%eax
4a8577:	03 45 f0             	add    -0x10(%ebp),%eax
4a857a:	01 45 e8             	add    %eax,-0x18(%ebp)
4a857d:	ff 4d e4             	decl   -0x1c(%ebp)
4a8580:	0f 85 3b ff ff ff    	jne    0x4a84c1
4a8586:	8b c3                	mov    %ebx,%eax
4a8588:	8b d0                	mov    %eax,%edx
4a858a:	2b 55 ec             	sub    -0x14(%ebp),%edx
4a858d:	3b 55 f4             	cmp    -0xc(%ebp),%edx
4a8590:	7d 59                	jge    0x4a85eb
4a8592:	8b f8                	mov    %eax,%edi
4a8594:	8b 45 fc             	mov    -0x4(%ebp),%eax
4a8597:	e8 54 fa ff ff       	call   0x4a7ff0
4a859c:	48                   	dec    %eax
4a859d:	85 c0                	test   %eax,%eax
4a859f:	7c 4a                	jl     0x4a85eb
4a85a1:	40                   	inc    %eax
4a85a2:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4a85a5:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
4a85ac:	8b 55 f8             	mov    -0x8(%ebp),%edx
4a85af:	8b 45 fc             	mov    -0x4(%ebp),%eax
4a85b2:	e8 69 fa ff ff       	call   0x4a8020
4a85b7:	89 45 dc             	mov    %eax,-0x24(%ebp)
4a85ba:	8b 45 dc             	mov    -0x24(%ebp),%eax
4a85bd:	8b 40 08             	mov    0x8(%eax),%eax
4a85c0:	8b 10                	mov    (%eax),%edx
4a85c2:	ff 52 14             	call   *0x14(%edx)
4a85c5:	8b f0                	mov    %eax,%esi
4a85c7:	4e                   	dec    %esi
4a85c8:	85 f6                	test   %esi,%esi
4a85ca:	7c 17                	jl     0x4a85e3
4a85cc:	46                   	inc    %esi
4a85cd:	33 db                	xor    %ebx,%ebx
4a85cf:	0f bf 0f             	movswl (%edi),%ecx
4a85d2:	8b d3                	mov    %ebx,%edx
4a85d4:	8b 45 dc             	mov    -0x24(%ebp),%eax
4a85d7:	e8 e4 f8 ff ff       	call   0x4a7ec0
4a85dc:	83 c7 02             	add    $0x2,%edi
4a85df:	43                   	inc    %ebx
4a85e0:	4e                   	dec    %esi
4a85e1:	75 ec                	jne    0x4a85cf
4a85e3:	ff 45 f8             	incl   -0x8(%ebp)
4a85e6:	ff 4d e4             	decl   -0x1c(%ebp)
4a85e9:	75 c1                	jne    0x4a85ac
4a85eb:	33 c0                	xor    %eax,%eax
4a85ed:	5a                   	pop    %edx
4a85ee:	59                   	pop    %ecx
4a85ef:	59                   	pop    %ecx
4a85f0:	64 89 10             	mov    %edx,%fs:(%eax)
4a85f3:	68 0b 86 4a 00       	push   $0x4a860b
4a85f8:	8b 55 f4             	mov    -0xc(%ebp),%edx
4a85fb:	8b 45 ec             	mov    -0x14(%ebp),%eax
4a85fe:	e8 c9 a1 f5 ff       	call   0x4027cc
4a8603:	c3                   	ret
4a8604:	e9 03 bc f5 ff       	jmp    0x40420c
4a8609:	eb ed                	jmp    0x4a85f8
4a860b:	33 c0                	xor    %eax,%eax
4a860d:	5a                   	pop    %edx
4a860e:	59                   	pop    %ecx
4a860f:	59                   	pop    %ecx
4a8610:	64 89 10             	mov    %edx,%fs:(%eax)
4a8613:	68 2d 86 4a 00       	push   $0x4a862d
4a8618:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4a861b:	ba 02 00 00 00       	mov    $0x2,%edx
4a8620:	e8 67 c2 f5 ff       	call   0x40488c
4a8625:	c3                   	ret
4a8626:	e9 e1 bb f5 ff       	jmp    0x40420c
4a862b:	eb eb                	jmp    0x4a8618
4a862d:	5f                   	pop    %edi
4a862e:	5e                   	pop    %esi
4a862f:	5b                   	pop    %ebx
4a8630:	8b e5                	mov    %ebp,%esp
4a8632:	5d                   	pop    %ebp
4a8633:	c3                   	ret
4a8634:	e8 e7 c4 f5 ff       	call   0x404b20
4a8639:	3d ff 00 00 00       	cmp    $0xff,%eax
4a863e:	7e 05                	jle    0x4a8645
4a8640:	b8 ff 00 00 00       	mov    $0xff,%eax
4a8645:	c3                   	ret
4a8646:	8b c0                	mov    %eax,%eax
4a8648:	55                   	push   %ebp
4a8649:	8b ec                	mov    %esp,%ebp
4a864b:	83 c4 c8             	add    $0xffffffc8,%esp
4a864e:	53                   	push   %ebx
4a864f:	56                   	push   %esi
4a8650:	57                   	push   %edi
4a8651:	33 c9                	xor    %ecx,%ecx
4a8653:	89 4d c8             	mov    %ecx,-0x38(%ebp)
4a8656:	89 4d cc             	mov    %ecx,-0x34(%ebp)
4a8659:	89 55 f8             	mov    %edx,-0x8(%ebp)
4a865c:	89 45 fc             	mov    %eax,-0x4(%ebp)
4a865f:	33 c0                	xor    %eax,%eax
4a8661:	55                   	push   %ebp
4a8662:	68 dd 88 4a 00       	push   $0x4a88dd
4a8667:	64 ff 30             	push   %fs:(%eax)
4a866a:	64 89 20             	mov    %esp,%fs:(%eax)
4a866d:	c7 45 f0 08 00 00 00 	movl   $0x8,-0x10(%ebp)
4a8674:	8b 45 fc             	mov    -0x4(%ebp),%eax
4a8677:	e8 74 f9 ff ff       	call   0x4a7ff0
4a867c:	48                   	dec    %eax
4a867d:	85 c0                	test   %eax,%eax
4a867f:	7c 7b                	jl     0x4a86fc
4a8681:	40                   	inc    %eax
4a8682:	89 45 d8             	mov    %eax,-0x28(%ebp)
4a8685:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
4a868c:	8b 55 f4             	mov    -0xc(%ebp),%edx
4a868f:	8b 45 fc             	mov    -0x4(%ebp),%eax
4a8692:	e8 89 f9 ff ff       	call   0x4a8020
4a8697:	8b 40 24             	mov    0x24(%eax),%eax
4a869a:	e8 95 ff ff ff       	call   0x4a8634
4a869f:	89 45 ec             	mov    %eax,-0x14(%ebp)
4a86a2:	8b 55 f4             	mov    -0xc(%ebp),%edx
4a86a5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4a86a8:	e8 73 f9 ff ff       	call   0x4a8020
4a86ad:	8b 40 08             	mov    0x8(%eax),%eax
4a86b0:	8b 10                	mov    (%eax),%edx
4a86b2:	ff 52 14             	call   *0x14(%edx)
4a86b5:	8b d8                	mov    %eax,%ebx
4a86b7:	4b                   	dec    %ebx
4a86b8:	85 db                	test   %ebx,%ebx
4a86ba:	7c 2f                	jl     0x4a86eb
4a86bc:	43                   	inc    %ebx
4a86bd:	33 f6                	xor    %esi,%esi
4a86bf:	8b 55 f4             	mov    -0xc(%ebp),%edx
4a86c2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4a86c5:	e8 56 f9 ff ff       	call   0x4a8020
4a86ca:	8b 40 08             	mov    0x8(%eax),%eax
4a86cd:	8d 4d cc             	lea    -0x34(%ebp),%ecx
4a86d0:	8b d6                	mov    %esi,%edx
4a86d2:	8b 38                	mov    (%eax),%edi
4a86d4:	ff 57 0c             	call   *0xc(%edi)
4a86d7:	8b 45 cc             	mov    -0x34(%ebp),%eax
4a86da:	e8 55 ff ff ff       	call   0x4a8634
4a86df:	40                   	inc    %eax
4a86e0:	01 45 ec             	add    %eax,-0x14(%ebp)
4a86e3:	83 45 ec 02          	addl   $0x2,-0x14(%ebp)
4a86e7:	46                   	inc    %esi
4a86e8:	4b                   	dec    %ebx
4a86e9:	75 d4                	jne    0x4a86bf
4a86eb:	8b 45 ec             	mov    -0x14(%ebp),%eax
4a86ee:	83 c0 15             	add    $0x15,%eax
4a86f1:	01 45 f0             	add    %eax,-0x10(%ebp)
4a86f4:	ff 45 f4             	incl   -0xc(%ebp)
4a86f7:	ff 4d d8             	decl   -0x28(%ebp)
4a86fa:	75 90                	jne    0x4a868c
4a86fc:	8b 45 f0             	mov    -0x10(%ebp),%eax
4a86ff:	e8 b0 09 f6 ff       	call   0x4090b4
4a8704:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4a8707:	33 d2                	xor    %edx,%edx
4a8709:	55                   	push   %ebp
4a870a:	68 bb 88 4a 00       	push   $0x4a88bb
4a870f:	64 ff 32             	push   %fs:(%edx)
4a8712:	64 89 22             	mov    %esp,%fs:(%edx)
4a8715:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4a8718:	8b 55 f0             	mov    -0x10(%ebp),%edx
4a871b:	89 10                	mov    %edx,(%eax)
4a871d:	8b 45 fc             	mov    -0x4(%ebp),%eax
4a8720:	e8 cb f8 ff ff       	call   0x4a7ff0
4a8725:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4a8728:	89 42 04             	mov    %eax,0x4(%edx)
4a872b:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4a872e:	83 c0 08             	add    $0x8,%eax
4a8731:	89 45 e0             	mov    %eax,-0x20(%ebp)
4a8734:	33 c0                	xor    %eax,%eax
4a8736:	89 45 dc             	mov    %eax,-0x24(%ebp)
4a8739:	8b 45 fc             	mov    -0x4(%ebp),%eax
4a873c:	e8 af f8 ff ff       	call   0x4a7ff0
4a8741:	48                   	dec    %eax
4a8742:	85 c0                	test   %eax,%eax
4a8744:	0f 8c f0 00 00 00    	jl     0x4a883a
4a874a:	40                   	inc    %eax
4a874b:	89 45 d8             	mov    %eax,-0x28(%ebp)
4a874e:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
4a8755:	8b 55 f4             	mov    -0xc(%ebp),%edx
4a8758:	8b 45 fc             	mov    -0x4(%ebp),%eax
4a875b:	e8 c0 f8 ff ff       	call   0x4a8020
4a8760:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4a8763:	8b 45 e0             	mov    -0x20(%ebp),%eax
4a8766:	83 c0 14             	add    $0x14,%eax
4a8769:	8b 55 d4             	mov    -0x2c(%ebp),%edx
4a876c:	8b 52 24             	mov    0x24(%edx),%edx
4a876f:	b9 ff 00 00 00       	mov    $0xff,%ecx
4a8774:	e8 83 c3 f5 ff       	call   0x404afc
4a8779:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4a877c:	8b 40 10             	mov    0x10(%eax),%eax
4a877f:	8b 55 e0             	mov    -0x20(%ebp),%edx
4a8782:	89 02                	mov    %eax,(%edx)
4a8784:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4a8787:	8b 40 1c             	mov    0x1c(%eax),%eax
4a878a:	8b 55 e0             	mov    -0x20(%ebp),%edx
4a878d:	89 42 08             	mov    %eax,0x8(%edx)
4a8790:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4a8793:	8b 40 20             	mov    0x20(%eax),%eax
4a8796:	8b 55 e0             	mov    -0x20(%ebp),%edx
4a8799:	89 42 04             	mov    %eax,0x4(%edx)
4a879c:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4a879f:	8b 40 0c             	mov    0xc(%eax),%eax
4a87a2:	8b 55 e0             	mov    -0x20(%ebp),%edx
4a87a5:	89 42 10             	mov    %eax,0x10(%edx)
4a87a8:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4a87ab:	8b 40 08             	mov    0x8(%eax),%eax
4a87ae:	8b 10                	mov    (%eax),%edx
4a87b0:	ff 52 14             	call   *0x14(%edx)
4a87b3:	8b 55 e0             	mov    -0x20(%ebp),%edx
4a87b6:	89 42 0c             	mov    %eax,0xc(%edx)
4a87b9:	8b 45 e0             	mov    -0x20(%ebp),%eax
4a87bc:	83 c0 14             	add    $0x14,%eax
4a87bf:	89 45 dc             	mov    %eax,-0x24(%ebp)
4a87c2:	8b 45 e0             	mov    -0x20(%ebp),%eax
4a87c5:	0f b6 40 14          	movzbl 0x14(%eax),%eax
4a87c9:	40                   	inc    %eax
4a87ca:	01 45 dc             	add    %eax,-0x24(%ebp)
4a87cd:	33 c0                	xor    %eax,%eax
4a87cf:	89 45 e8             	mov    %eax,-0x18(%ebp)
4a87d2:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4a87d5:	8b 40 08             	mov    0x8(%eax),%eax
4a87d8:	8b 10                	mov    (%eax),%edx
4a87da:	ff 52 14             	call   *0x14(%edx)
4a87dd:	8b d8                	mov    %eax,%ebx
4a87df:	4b                   	dec    %ebx
4a87e0:	85 db                	test   %ebx,%ebx
4a87e2:	7c 3a                	jl     0x4a881e
4a87e4:	43                   	inc    %ebx
4a87e5:	33 f6                	xor    %esi,%esi
4a87e7:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4a87ea:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4a87ed:	8b 40 08             	mov    0x8(%eax),%eax
4a87f0:	8b d6                	mov    %esi,%edx
4a87f2:	8b 38                	mov    (%eax),%edi
4a87f4:	ff 57 0c             	call   *0xc(%edi)
4a87f7:	8b 55 c8             	mov    -0x38(%ebp),%edx
4a87fa:	8b 45 dc             	mov    -0x24(%ebp),%eax
4a87fd:	b9 ff 00 00 00       	mov    $0xff,%ecx
4a8802:	e8 f5 c2 f5 ff       	call   0x404afc
4a8807:	8b 45 dc             	mov    -0x24(%ebp),%eax
4a880a:	0f b6 00             	movzbl (%eax),%eax
4a880d:	89 45 ec             	mov    %eax,-0x14(%ebp)
4a8810:	8b 45 ec             	mov    -0x14(%ebp),%eax
4a8813:	40                   	inc    %eax
4a8814:	01 45 e8             	add    %eax,-0x18(%ebp)
4a8817:	01 45 dc             	add    %eax,-0x24(%ebp)
4a881a:	46                   	inc    %esi
4a881b:	4b                   	dec    %ebx
4a881c:	75 c9                	jne    0x4a87e7
4a881e:	8b 45 e0             	mov    -0x20(%ebp),%eax
4a8821:	0f b6 40 14          	movzbl 0x14(%eax),%eax
4a8825:	83 c0 15             	add    $0x15,%eax
4a8828:	03 45 e8             	add    -0x18(%ebp),%eax
4a882b:	01 45 e0             	add    %eax,-0x20(%ebp)
4a882e:	ff 45 f4             	incl   -0xc(%ebp)
4a8831:	ff 4d d8             	decl   -0x28(%ebp)
4a8834:	0f 85 1b ff ff ff    	jne    0x4a8755
4a883a:	8b 7d dc             	mov    -0x24(%ebp),%edi
4a883d:	8b 45 fc             	mov    -0x4(%ebp),%eax
4a8840:	e8 ab f7 ff ff       	call   0x4a7ff0
4a8845:	48                   	dec    %eax
4a8846:	85 c0                	test   %eax,%eax
4a8848:	7c 4a                	jl     0x4a8894
4a884a:	40                   	inc    %eax
4a884b:	89 45 d8             	mov    %eax,-0x28(%ebp)
4a884e:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
4a8855:	8b 55 f4             	mov    -0xc(%ebp),%edx
4a8858:	8b 45 fc             	mov    -0x4(%ebp),%eax
4a885b:	e8 c0 f7 ff ff       	call   0x4a8020
4a8860:	89 45 d0             	mov    %eax,-0x30(%ebp)
4a8863:	8b 45 d0             	mov    -0x30(%ebp),%eax
4a8866:	8b 40 08             	mov    0x8(%eax),%eax
4a8869:	8b 10                	mov    (%eax),%edx
4a886b:	ff 52 14             	call   *0x14(%edx)
4a886e:	8b d8                	mov    %eax,%ebx
4a8870:	4b                   	dec    %ebx
4a8871:	85 db                	test   %ebx,%ebx
4a8873:	7c 17                	jl     0x4a888c
4a8875:	43                   	inc    %ebx