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
4a8876:	33 f6                	xor    %esi,%esi
4a8878:	8b d6                	mov    %esi,%edx
4a887a:	8b 45 d0             	mov    -0x30(%ebp),%eax
4a887d:	e8 32 f6 ff ff       	call   0x4a7eb4
4a8882:	66 89 07             	mov    %ax,(%edi)
4a8885:	83 c7 02             	add    $0x2,%edi
4a8888:	46                   	inc    %esi
4a8889:	4b                   	dec    %ebx
4a888a:	75 ec                	jne    0x4a8878
4a888c:	ff 45 f4             	incl   -0xc(%ebp)
4a888f:	ff 4d d8             	decl   -0x28(%ebp)
4a8892:	75 c1                	jne    0x4a8855
4a8894:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4a8897:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4a889a:	8b 45 f8             	mov    -0x8(%ebp),%eax
4a889d:	e8 7a 60 f7 ff       	call   0x41e91c
4a88a2:	33 c0                	xor    %eax,%eax
4a88a4:	5a                   	pop    %edx
4a88a5:	59                   	pop    %ecx
4a88a6:	59                   	pop    %ecx
4a88a7:	64 89 10             	mov    %edx,%fs:(%eax)
4a88aa:	68 c2 88 4a 00       	push   $0x4a88c2
4a88af:	8b 55 f0             	mov    -0x10(%ebp),%edx
4a88b2:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4a88b5:	e8 12 9f f5 ff       	call   0x4027cc
4a88ba:	c3                   	ret
4a88bb:	e9 4c b9 f5 ff       	jmp    0x40420c
4a88c0:	eb ed                	jmp    0x4a88af
4a88c2:	33 c0                	xor    %eax,%eax
4a88c4:	5a                   	pop    %edx
4a88c5:	59                   	pop    %ecx
4a88c6:	59                   	pop    %ecx
4a88c7:	64 89 10             	mov    %edx,%fs:(%eax)
4a88ca:	68 e4 88 4a 00       	push   $0x4a88e4
4a88cf:	8d 45 c8             	lea    -0x38(%ebp),%eax
4a88d2:	ba 02 00 00 00       	mov    $0x2,%edx
4a88d7:	e8 b0 bf f5 ff       	call   0x40488c
4a88dc:	c3                   	ret
4a88dd:	e9 2a b9 f5 ff       	jmp    0x40420c
4a88e2:	eb eb                	jmp    0x4a88cf
4a88e4:	5f                   	pop    %edi
4a88e5:	5e                   	pop    %esi
4a88e6:	5b                   	pop    %ebx
4a88e7:	8b e5                	mov    %ebp,%esp
4a88e9:	5d                   	pop    %ebp
4a88ea:	c3                   	ret
4a88eb:	90                   	nop
4a88ec:	53                   	push   %ebx
4a88ed:	56                   	push   %esi
4a88ee:	8b f2                	mov    %edx,%esi
4a88f0:	8b d8                	mov    %eax,%ebx
4a88f2:	8b d6                	mov    %esi,%edx
4a88f4:	8b c3                	mov    %ebx,%eax
4a88f6:	e8 25 f7 ff ff       	call   0x4a8020
4a88fb:	e8 fc ef ff ff       	call   0x4a78fc
4a8900:	5e                   	pop    %esi
4a8901:	5b                   	pop    %ebx
4a8902:	c3                   	ret
4a8903:	90                   	nop
4a8904:	55                   	push   %ebp
4a8905:	8b ec                	mov    %esp,%ebp
4a8907:	8b 45 08             	mov    0x8(%ebp),%eax
4a890a:	c7 00 06 00 00 00    	movl   $0x6,(%eax)
4a8910:	89 50 04             	mov    %edx,0x4(%eax)
4a8913:	33 d2                	xor    %edx,%edx
4a8915:	89 50 08             	mov    %edx,0x8(%eax)
4a8918:	c7 40 1c ff ff ff ff 	movl   $0xffffffff,0x1c(%eax)
4a891f:	89 48 20             	mov    %ecx,0x20(%eax)
4a8922:	5d                   	pop    %ebp
4a8923:	c2 04 00             	ret    $0x4
4a8926:	8b c0                	mov    %eax,%eax
4a8928:	53                   	push   %ebx
4a8929:	56                   	push   %esi
4a892a:	57                   	push   %edi
4a892b:	84 d2                	test   %dl,%dl
4a892d:	74 08                	je     0x4a8937
4a892f:	83 c4 f0             	add    $0xfffffff0,%esp
4a8932:	e8 a5 b4 f5 ff       	call   0x403ddc
4a8937:	8b f1                	mov    %ecx,%esi
4a8939:	8b da                	mov    %edx,%ebx
4a893b:	8b f8                	mov    %eax,%edi
4a893d:	33 d2                	xor    %edx,%edx
4a893f:	8b c7                	mov    %edi,%eax
4a8941:	e8 02 b1 f5 ff       	call   0x403a48
4a8946:	85 f6                	test   %esi,%esi
4a8948:	75 17                	jne    0x4a8961
4a894a:	8b 0d 08 70 6a 00    	mov    0x6a7008,%ecx
4a8950:	b2 01                	mov    $0x1,%dl
4a8952:	a1 cc 84 40 00       	mov    0x4084cc,%eax
4a8957:	e8 a8 45 f6 ff       	call   0x40cf04
4a895c:	e8 e3 b8 f5 ff       	call   0x404244
4a8961:	89 77 04             	mov    %esi,0x4(%edi)
4a8964:	33 d2                	xor    %edx,%edx
4a8966:	8b c7                	mov    %edi,%eax
4a8968:	e8 2f 00 00 00       	call   0x4a899c
4a896d:	33 d2                	xor    %edx,%edx
4a896f:	8b c7                	mov    %edi,%eax
4a8971:	e8 3a 00 00 00       	call   0x4a89b0
4a8976:	b2 01                	mov    $0x1,%dl
4a8978:	8b c7                	mov    %edi,%eax
4a897a:	e8 45 00 00 00       	call   0x4a89c4
4a897f:	8b c7                	mov    %edi,%eax
4a8981:	84 db                	test   %bl,%bl
4a8983:	74 0f                	je     0x4a8994
4a8985:	e8 aa b4 f5 ff       	call   0x403e34
4a898a:	64 8f 05 00 00 00 00 	pop    %fs:0x0
4a8991:	83 c4 0c             	add    $0xc,%esp
4a8994:	8b c7                	mov    %edi,%eax
4a8996:	5f                   	pop    %edi
4a8997:	5e                   	pop    %esi
4a8998:	5b                   	pop    %ebx
4a8999:	c3                   	ret
4a899a:	8b c0                	mov    %eax,%eax
4a899c:	3a 50 08             	cmp    0x8(%eax),%dl
4a899f:	74 0b                	je     0x4a89ac
4a89a1:	88 50 08             	mov    %dl,0x8(%eax)
4a89a4:	8b 40 04             	mov    0x4(%eax),%eax
4a89a7:	e8 ac 3b fa ff       	call   0x44c558
4a89ac:	c3                   	ret
4a89ad:	8d 40 00             	lea    0x0(%eax),%eax
4a89b0:	3a 50 09             	cmp    0x9(%eax),%dl
4a89b3:	74 0b                	je     0x4a89c0
4a89b5:	88 50 09             	mov    %dl,0x9(%eax)
4a89b8:	8b 40 04             	mov    0x4(%eax),%eax
4a89bb:	e8 98 3b fa ff       	call   0x44c558
4a89c0:	c3                   	ret
4a89c1:	8d 40 00             	lea    0x0(%eax),%eax
4a89c4:	3a 50 0a             	cmp    0xa(%eax),%dl
4a89c7:	74 0b                	je     0x4a89d4
4a89c9:	88 50 0a             	mov    %dl,0xa(%eax)
4a89cc:	8b 40 04             	mov    0x4(%eax),%eax
4a89cf:	e8 84 3b fa ff       	call   0x44c558
4a89d4:	c3                   	ret
4a89d5:	8d 40 00             	lea    0x0(%eax),%eax
4a89d8:	55                   	push   %ebp
4a89d9:	8b ec                	mov    %esp,%ebp
4a89db:	51                   	push   %ecx
4a89dc:	53                   	push   %ebx
4a89dd:	56                   	push   %esi
4a89de:	8b 75 0c             	mov    0xc(%ebp),%esi
4a89e1:	8b 5d 08             	mov    0x8(%ebp),%ebx
4a89e4:	8b c3                	mov    %ebx,%eax
4a89e6:	e8 09 ef ff ff       	call   0x4a78f4
4a89eb:	66 83 b8 ea 02 00 00 	cmpw   $0x0,0x2ea(%eax)
4a89f2:	00
4a89f3:	74 2b                	je     0x4a8a20
4a89f5:	56                   	push   %esi
4a89f6:	8b 45 10             	mov    0x10(%ebp),%eax
4a89f9:	50                   	push   %eax
4a89fa:	8d 45 fc             	lea    -0x4(%ebp),%eax
4a89fd:	50                   	push   %eax
4a89fe:	8b c3                	mov    %ebx,%eax
4a8a00:	e8 ef ee ff ff       	call   0x4a78f4
4a8a05:	8b f0                	mov    %eax,%esi
4a8a07:	8b c3                	mov    %ebx,%eax
4a8a09:	e8 e6 ee ff ff       	call   0x4a78f4
4a8a0e:	8b d0                	mov    %eax,%edx
4a8a10:	8b cb                	mov    %ebx,%ecx
4a8a12:	8b 86 ec 02 00 00    	mov    0x2ec(%esi),%eax
4a8a18:	ff 96 e8 02 00 00    	call   *0x2e8(%esi)
4a8a1e:	eb 1a                	jmp    0x4a8a3a
4a8a20:	8b 46 24             	mov    0x24(%esi),%eax
4a8a23:	e8 f0 c2 f5 ff       	call   0x404d18
4a8a28:	50                   	push   %eax
4a8a29:	8b 43 24             	mov    0x24(%ebx),%eax
4a8a2c:	e8 e7 c2 f5 ff       	call   0x404d18
4a8a31:	50                   	push   %eax
4a8a32:	e8 c9 e9 f5 ff       	call   0x407400
4a8a37:	89 45 fc             	mov    %eax,-0x4(%ebp)
4a8a3a:	8b 45 fc             	mov    -0x4(%ebp),%eax
4a8a3d:	5e                   	pop    %esi
4a8a3e:	5b                   	pop    %ebx
4a8a3f:	59                   	pop    %ecx
4a8a40:	5d                   	pop    %ebp
4a8a41:	c2 0c 00             	ret    $0xc