47ac59:	e8 a4 4d fc ff       	call   0x43fa02
47ac5e:	8b e5                	mov    %ebp,%esp
47ac60:	5d                   	pop    %ebp
47ac61:	c3                   	ret
47ac62:	8b ff                	mov    %edi,%edi
47ac64:	55                   	push   %ebp
47ac65:	8b ec                	mov    %esp,%ebp
47ac67:	51                   	push   %ecx
47ac68:	51                   	push   %ecx
47ac69:	a1 94 80 4b 00       	mov    0x4b8094,%eax
47ac6e:	33 c5                	xor    %ebp,%eax
47ac70:	89 45 fc             	mov    %eax,-0x4(%ebp)
47ac73:	53                   	push   %ebx
47ac74:	56                   	push   %esi
47ac75:	8b 75 18             	mov    0x18(%ebp),%esi
47ac78:	57                   	push   %edi
47ac79:	85 f6                	test   %esi,%esi
47ac7b:	7e 14                	jle    0x47ac91
47ac7d:	56                   	push   %esi
47ac7e:	ff 75 14             	push   0x14(%ebp)
47ac81:	e8 6e df fe ff       	call   0x468bf4
47ac86:	59                   	pop    %ecx
47ac87:	3b c6                	cmp    %esi,%eax
47ac89:	59                   	pop    %ecx
47ac8a:	8d 70 01             	lea    0x1(%eax),%esi
47ac8d:	7c 02                	jl     0x47ac91
47ac8f:	8b f0                	mov    %eax,%esi
47ac91:	8b 7d 24             	mov    0x24(%ebp),%edi
47ac94:	85 ff                	test   %edi,%edi
47ac96:	75 0b                	jne    0x47aca3
47ac98:	8b 45 08             	mov    0x8(%ebp),%eax
47ac9b:	8b 00                	mov    (%eax),%eax
47ac9d:	8b 78 08             	mov    0x8(%eax),%edi
47aca0:	89 7d 24             	mov    %edi,0x24(%ebp)
47aca3:	33 c0                	xor    %eax,%eax
47aca5:	39 45 28             	cmp    %eax,0x28(%ebp)
47aca8:	6a 00                	push   $0x0
47acaa:	6a 00                	push   $0x0
47acac:	56                   	push   %esi
47acad:	ff 75 14             	push   0x14(%ebp)
47acb0:	0f 95 c0             	setne  %al
47acb3:	8d 04 c5 01 00 00 00 	lea    0x1(,%eax,8),%eax
47acba:	50                   	push   %eax
47acbb:	57                   	push   %edi
47acbc:	ff 15 74 41 49 00    	call   *0x494174
47acc2:	89 45 f8             	mov    %eax,-0x8(%ebp)
47acc5:	85 c0                	test   %eax,%eax
47acc7:	0f 84 8d 01 00 00    	je     0x47ae5a
47accd:	8d 14 00             	lea    (%eax,%eax,1),%edx
47acd0:	8d 4a 08             	lea    0x8(%edx),%ecx
47acd3:	3b d1                	cmp    %ecx,%edx
47acd5:	1b c0                	sbb    %eax,%eax
47acd7:	85 c1                	test   %eax,%ecx
47acd9:	74 52                	je     0x47ad2d
47acdb:	8d 4a 08             	lea    0x8(%edx),%ecx
47acde:	3b d1                	cmp    %ecx,%edx
47ace0:	1b c0                	sbb    %eax,%eax
47ace2:	23 c1                	and    %ecx,%eax
47ace4:	8d 4a 08             	lea    0x8(%edx),%ecx
47ace7:	3d 00 04 00 00       	cmp    $0x400,%eax
47acec:	77 1d                	ja     0x47ad0b
47acee:	3b d1                	cmp    %ecx,%edx
47acf0:	1b c0                	sbb    %eax,%eax
47acf2:	23 c1                	and    %ecx,%eax
47acf4:	e8 d7 57 fc ff       	call   0x4404d0
47acf9:	8b dc                	mov    %esp,%ebx
47acfb:	85 db                	test   %ebx,%ebx
47acfd:	0f 84 4c 01 00 00    	je     0x47ae4f
47ad03:	c7 03 cc cc 00 00    	movl   $0xcccc,(%ebx)
47ad09:	eb 1d                	jmp    0x47ad28
47ad0b:	3b d1                	cmp    %ecx,%edx
47ad0d:	1b c0                	sbb    %eax,%eax
47ad0f:	23 c1                	and    %ecx,%eax
47ad11:	50                   	push   %eax
47ad12:	e8 13 c0 ff ff       	call   0x476d2a
47ad17:	8b d8                	mov    %eax,%ebx
47ad19:	59                   	pop    %ecx
47ad1a:	85 db                	test   %ebx,%ebx
47ad1c:	0f 84 2d 01 00 00    	je     0x47ae4f
47ad22:	c7 03 dd dd 00 00    	movl   $0xdddd,(%ebx)
47ad28:	83 c3 08             	add    $0x8,%ebx
47ad2b:	eb 02                	jmp    0x47ad2f
47ad2d:	33 db                	xor    %ebx,%ebx
47ad2f:	85 db                	test   %ebx,%ebx
47ad31:	0f 84 18 01 00 00    	je     0x47ae4f
47ad37:	ff 75 f8             	push   -0x8(%ebp)
47ad3a:	53                   	push   %ebx
47ad3b:	56                   	push   %esi
47ad3c:	ff 75 14             	push   0x14(%ebp)
47ad3f:	6a 01                	push   $0x1
47ad41:	57                   	push   %edi
47ad42:	ff 15 74 41 49 00    	call   *0x494174
47ad48:	85 c0                	test   %eax,%eax
47ad4a:	0f 84 ff 00 00 00    	je     0x47ae4f
47ad50:	8b 7d f8             	mov    -0x8(%ebp),%edi
47ad53:	33 c0                	xor    %eax,%eax
47ad55:	50                   	push   %eax
47ad56:	50                   	push   %eax
47ad57:	50                   	push   %eax
47ad58:	50                   	push   %eax
47ad59:	50                   	push   %eax
47ad5a:	57                   	push   %edi
47ad5b:	53                   	push   %ebx
47ad5c:	ff 75 10             	push   0x10(%ebp)
47ad5f:	ff 75 0c             	push   0xc(%ebp)
47ad62:	e8 a4 a6 ff ff       	call   0x47540b
47ad67:	8b f0                	mov    %eax,%esi
47ad69:	85 f6                	test   %esi,%esi
47ad6b:	0f 84 de 00 00 00    	je     0x47ae4f
47ad71:	f7 45 10 00 04 00 00 	testl  $0x400,0x10(%ebp)
47ad78:	74 38                	je     0x47adb2
47ad7a:	8b 45 20             	mov    0x20(%ebp),%eax
47ad7d:	85 c0                	test   %eax,%eax
47ad7f:	0f 84 cc 00 00 00    	je     0x47ae51
47ad85:	3b f0                	cmp    %eax,%esi
47ad87:	0f 8f c2 00 00 00    	jg     0x47ae4f
47ad8d:	33 c9                	xor    %ecx,%ecx
47ad8f:	51                   	push   %ecx
47ad90:	51                   	push   %ecx
47ad91:	51                   	push   %ecx
47ad92:	50                   	push   %eax
47ad93:	ff 75 1c             	push   0x1c(%ebp)
47ad96:	57                   	push   %edi
47ad97:	53                   	push   %ebx
47ad98:	ff 75 10             	push   0x10(%ebp)
47ad9b:	ff 75 0c             	push   0xc(%ebp)
47ad9e:	e8 68 a6 ff ff       	call   0x47540b
47ada3:	8b f0                	mov    %eax,%esi
47ada5:	85 f6                	test   %esi,%esi
47ada7:	0f 85 a4 00 00 00    	jne    0x47ae51
47adad:	e9 9d 00 00 00       	jmp    0x47ae4f
47adb2:	8d 14 36             	lea    (%esi,%esi,1),%edx
47adb5:	8d 4a 08             	lea    0x8(%edx),%ecx
47adb8:	3b d1                	cmp    %ecx,%edx
47adba:	1b c0                	sbb    %eax,%eax
47adbc:	85 c1                	test   %eax,%ecx
47adbe:	74 4a                	je     0x47ae0a
47adc0:	8d 4a 08             	lea    0x8(%edx),%ecx
47adc3:	3b d1                	cmp    %ecx,%edx
47adc5:	1b c0                	sbb    %eax,%eax
47adc7:	23 c1                	and    %ecx,%eax
47adc9:	8d 4a 08             	lea    0x8(%edx),%ecx
47adcc:	3d 00 04 00 00       	cmp    $0x400,%eax
47add1:	77 19                	ja     0x47adec
47add3:	3b d1                	cmp    %ecx,%edx
47add5:	1b c0                	sbb    %eax,%eax
47add7:	23 c1                	and    %ecx,%eax
47add9:	e8 f2 56 fc ff       	call   0x4404d0
47adde:	8b fc                	mov    %esp,%edi
47ade0:	85 ff                	test   %edi,%edi
47ade2:	74 64                	je     0x47ae48
47ade4:	c7 07 cc cc 00 00    	movl   $0xcccc,(%edi)
47adea:	eb 19                	jmp    0x47ae05
47adec:	3b d1                	cmp    %ecx,%edx
47adee:	1b c0                	sbb    %eax,%eax
47adf0:	23 c1                	and    %ecx,%eax
47adf2:	50                   	push   %eax
47adf3:	e8 32 bf ff ff       	call   0x476d2a
47adf8:	8b f8                	mov    %eax,%edi
47adfa:	59                   	pop    %ecx
47adfb:	85 ff                	test   %edi,%edi
47adfd:	74 49                	je     0x47ae48
47adff:	c7 07 dd dd 00 00    	movl   $0xdddd,(%edi)
47ae05:	83 c7 08             	add    $0x8,%edi
47ae08:	eb 02                	jmp    0x47ae0c
47ae0a:	33 ff                	xor    %edi,%edi
47ae0c:	85 ff                	test   %edi,%edi
47ae0e:	74 38                	je     0x47ae48
47ae10:	6a 00                	push   $0x0
47ae12:	6a 00                	push   $0x0
47ae14:	6a 00                	push   $0x0
47ae16:	56                   	push   %esi
47ae17:	57                   	push   %edi
47ae18:	ff 75 f8             	push   -0x8(%ebp)
47ae1b:	53                   	push   %ebx
47ae1c:	ff 75 10             	push   0x10(%ebp)
47ae1f:	ff 75 0c             	push   0xc(%ebp)
47ae22:	e8 e4 a5 ff ff       	call   0x47540b
47ae27:	85 c0                	test   %eax,%eax
47ae29:	74 1d                	je     0x47ae48
47ae2b:	33 c0                	xor    %eax,%eax
47ae2d:	50                   	push   %eax
47ae2e:	50                   	push   %eax
47ae2f:	39 45 20             	cmp    %eax,0x20(%ebp)
47ae32:	75 3a                	jne    0x47ae6e
47ae34:	50                   	push   %eax
47ae35:	50                   	push   %eax
47ae36:	56                   	push   %esi
47ae37:	57                   	push   %edi
47ae38:	50                   	push   %eax
47ae39:	ff 75 24             	push   0x24(%ebp)
47ae3c:	ff 15 78 41 49 00    	call   *0x494178
47ae42:	8b f0                	mov    %eax,%esi
47ae44:	85 f6                	test   %esi,%esi
47ae46:	75 2e                	jne    0x47ae76
47ae48:	57                   	push   %edi
47ae49:	e8 d5 d3 fa ff       	call   0x428223
47ae4e:	59                   	pop    %ecx
47ae4f:	33 f6                	xor    %esi,%esi
47ae51:	53                   	push   %ebx
47ae52:	e8 cc d3 fa ff       	call   0x428223
47ae57:	59                   	pop    %ecx
47ae58:	8b c6                	mov    %esi,%eax
47ae5a:	8d 65 ec             	lea    -0x14(%ebp),%esp
47ae5d:	5f                   	pop    %edi
47ae5e:	5e                   	pop    %esi
47ae5f:	5b                   	pop    %ebx
47ae60:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47ae63:	33 cd                	xor    %ebp,%ecx
47ae65:	e8 98 4b fc ff       	call   0x43fa02
47ae6a:	8b e5                	mov    %ebp,%esp
47ae6c:	5d                   	pop    %ebp
47ae6d:	c3                   	ret
47ae6e:	ff 75 20             	push   0x20(%ebp)
47ae71:	ff 75 1c             	push   0x1c(%ebp)
47ae74:	eb c0                	jmp    0x47ae36
47ae76:	57                   	push   %edi
47ae77:	e8 a7 d3 fa ff       	call   0x428223
47ae7c:	59                   	pop    %ecx
47ae7d:	eb d2                	jmp    0x47ae51
47ae7f:	8b ff                	mov    %edi,%edi
47ae81:	55                   	push   %ebp
47ae82:	8b ec                	mov    %esp,%ebp
47ae84:	83 ec 10             	sub    $0x10,%esp
47ae87:	ff 75 08             	push   0x8(%ebp)
47ae8a:	8d 4d f0             	lea    -0x10(%ebp),%ecx
47ae8d:	e8 76 41 fd ff       	call   0x44f008
47ae92:	ff 75 28             	push   0x28(%ebp)
47ae95:	8d 45 f4             	lea    -0xc(%ebp),%eax
47ae98:	ff 75 24             	push   0x24(%ebp)
47ae9b:	ff 75 20             	push   0x20(%ebp)
47ae9e:	ff 75 1c             	push   0x1c(%ebp)
47aea1:	ff 75 18             	push   0x18(%ebp)
47aea4:	ff 75 14             	push   0x14(%ebp)
47aea7:	ff 75 10             	push   0x10(%ebp)
47aeaa:	ff 75 0c             	push   0xc(%ebp)
47aead:	50                   	push   %eax
47aeae:	e8 af fd ff ff       	call   0x47ac62
47aeb3:	83 c4 24             	add    $0x24,%esp
47aeb6:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
47aeba:	74 0a                	je     0x47aec6
47aebc:	8b 4d f0             	mov    -0x10(%ebp),%ecx
47aebf:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
47aec6:	8b e5                	mov    %ebp,%esp
47aec8:	5d                   	pop    %ebp
47aec9:	c3                   	ret
47aeca:	8b ff                	mov    %edi,%edi
47aecc:	55                   	push   %ebp
47aecd:	8b ec                	mov    %esp,%ebp
47aecf:	83 ec 2c             	sub    $0x2c,%esp
47aed2:	a1 94 80 4b 00       	mov    0x4b8094,%eax
47aed7:	33 c5                	xor    %ebp,%eax
47aed9:	89 45 fc             	mov    %eax,-0x4(%ebp)
47aedc:	8b 45 08             	mov    0x8(%ebp),%eax
47aedf:	53                   	push   %ebx
47aee0:	8b 5d 10             	mov    0x10(%ebp),%ebx
47aee3:	56                   	push   %esi
47aee4:	33 f6                	xor    %esi,%esi
47aee6:	89 45 e8             	mov    %eax,-0x18(%ebp)
47aee9:	89 75 f0             	mov    %esi,-0x10(%ebp)
47aeec:	57                   	push   %edi
47aeed:	8b 7d 0c             	mov    0xc(%ebp),%edi
47aef0:	89 7d ec             	mov    %edi,-0x14(%ebp)
47aef3:	85 c0                	test   %eax,%eax
47aef5:	74 0b                	je     0x47af02
47aef7:	85 db                	test   %ebx,%ebx
47aef9:	75 07                	jne    0x47af02
47aefb:	33 c0                	xor    %eax,%eax
47aefd:	e9 38 02 00 00       	jmp    0x47b13a
47af02:	85 ff                	test   %edi,%edi
47af04:	75 18                	jne    0x47af1e
47af06:	e8 24 1f fd ff       	call   0x44ce2f
47af0b:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
47af11:	e8 c0 1d fd ff       	call   0x44ccd6
47af16:	83 c8 ff             	or     $0xffffffff,%eax
47af19:	e9 1c 02 00 00       	jmp    0x47b13a
47af1e:	ff 75 14             	push   0x14(%ebp)
47af21:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
47af24:	e8 df 40 fd ff       	call   0x44f008
47af29:	8b 4d e8             	mov    -0x18(%ebp),%ecx
47af2c:	85 c9                	test   %ecx,%ecx
47af2e:	0f 84 97 01 00 00    	je     0x47b0cb
47af34:	8b 55 d8             	mov    -0x28(%ebp),%edx
47af37:	39 b2 a8 00 00 00    	cmp    %esi,0xa8(%edx)
47af3d:	75 34                	jne    0x47af73
47af3f:	85 db                	test   %ebx,%ebx
47af41:	0f 84 ad 01 00 00    	je     0x47b0f4
47af47:	ba ff 00 00 00       	mov    $0xff,%edx
47af4c:	66 39 17             	cmp    %dx,(%edi)
47af4f:	0f 87 66 01 00 00    	ja     0x47b0bb
47af55:	8a 07                	mov    (%edi),%al
47af57:	88 04 31             	mov    %al,(%ecx,%esi,1)
47af5a:	66 8b 07             	mov    (%edi),%ax
47af5d:	83 c7 02             	add    $0x2,%edi
47af60:	66 85 c0             	test   %ax,%ax
47af63:	0f 84 8b 01 00 00    	je     0x47b0f4
47af69:	46                   	inc    %esi
47af6a:	3b f3                	cmp    %ebx,%esi
47af6c:	72 de                	jb     0x47af4c
47af6e:	e9 81 01 00 00       	jmp    0x47b0f4
47af73:	83 7a 04 01          	cmpl   $0x1,0x4(%edx)
47af77:	75 63                	jne    0x47afdc
47af79:	85 db                	test   %ebx,%ebx
47af7b:	74 24                	je     0x47afa1
47af7d:	8b c7                	mov    %edi,%eax
47af7f:	89 5d ec             	mov    %ebx,-0x14(%ebp)
47af82:	66 39 30             	cmp    %si,(%eax)
47af85:	74 09                	je     0x47af90
47af87:	83 c0 02             	add    $0x2,%eax
47af8a:	83 6d ec 01          	subl   $0x1,-0x14(%ebp)
47af8e:	75 f2                	jne    0x47af82
47af90:	39 75 ec             	cmp    %esi,-0x14(%ebp)
47af93:	74 0c                	je     0x47afa1
47af95:	66 39 30             	cmp    %si,(%eax)
47af98:	75 07                	jne    0x47afa1
47af9a:	8b d8                	mov    %eax,%ebx
47af9c:	2b df                	sub    %edi,%ebx
47af9e:	d1 fb                	sar    $1,%ebx
47afa0:	43                   	inc    %ebx
47afa1:	8d 45 f0             	lea    -0x10(%ebp),%eax
47afa4:	50                   	push   %eax
47afa5:	56                   	push   %esi
47afa6:	53                   	push   %ebx
47afa7:	51                   	push   %ecx
47afa8:	53                   	push   %ebx
47afa9:	57                   	push   %edi
47afaa:	56                   	push   %esi
47afab:	ff 72 08             	push   0x8(%edx)
47afae:	ff 15 78 41 49 00    	call   *0x494178
47afb4:	8b f0                	mov    %eax,%esi
47afb6:	85 f6                	test   %esi,%esi
47afb8:	0f 84 fd 00 00 00    	je     0x47b0bb
47afbe:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
47afc2:	0f 85 f3 00 00 00    	jne    0x47b0bb
47afc8:	8b 45 e8             	mov    -0x18(%ebp),%eax
47afcb:	80 7c 30 ff 00       	cmpb   $0x0,-0x1(%eax,%esi,1)
47afd0:	0f 85 1e 01 00 00    	jne    0x47b0f4
47afd6:	4e                   	dec    %esi
47afd7:	e9 18 01 00 00       	jmp    0x47b0f4
47afdc:	8d 45 f0             	lea    -0x10(%ebp),%eax
47afdf:	50                   	push   %eax
47afe0:	56                   	push   %esi
47afe1:	53                   	push   %ebx
47afe2:	51                   	push   %ecx
47afe3:	6a ff                	push   $0xffffffff
47afe5:	57                   	push   %edi
47afe6:	56                   	push   %esi
47afe7:	ff 72 08             	push   0x8(%edx)
47afea:	ff 15 78 41 49 00    	call   *0x494178
47aff0:	8b f8                	mov    %eax,%edi