52c9d1:	e8 2a 9b fd ff       	call   0x506500
52c9d6:	83 c4 14             	add    $0x14,%esp
52c9d9:	eb 31                	jmp    0x52ca0c
52c9db:	8b 5d 14             	mov    0x14(%ebp),%ebx
52c9de:	8d 41 01             	lea    0x1(%ecx),%eax
52c9e1:	89 47 6c             	mov    %eax,0x6c(%edi)
52c9e4:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
52c9e7:	8b 47 68             	mov    0x68(%edi),%eax
52c9ea:	89 5c 88 04          	mov    %ebx,0x4(%eax,%ecx,4)
52c9ee:	8b 5d 0c             	mov    0xc(%ebp),%ebx
52c9f1:	c7 04 88 7a 00 00 00 	movl   $0x7a,(%eax,%ecx,4)
52c9f8:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
52c9fc:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
52ca03:	00
52ca04:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
52ca0b:	00
52ca0c:	80 7e 12 00          	cmpb   $0x0,0x12(%esi)
52ca10:	74 18                	je     0x52ca2a
52ca12:	8b 03                	mov    (%ebx),%eax
52ca14:	85 c0                	test   %eax,%eax
52ca16:	74 3a                	je     0x52ca52
52ca18:	68 64 78 6b 00       	push   $0x6b7864
52ca1d:	50                   	push   %eax
52ca1e:	e8 0d 12 01 00       	call   0x53dc30
52ca23:	83 c4 08             	add    $0x8,%esp
52ca26:	85 c0                	test   %eax,%eax
52ca28:	75 28                	jne    0x52ca52
52ca2a:	8b 07                	mov    (%edi),%eax
52ca2c:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
52ca30:	74 0e                	je     0x52ca40
52ca32:	53                   	push   %ebx
52ca33:	6a fa                	push   $0xfffffffa
52ca35:	50                   	push   %eax
52ca36:	e8 75 72 fd ff       	call   0x503cb0
52ca3b:	83 c4 0c             	add    $0xc,%esp
52ca3e:	eb 12                	jmp    0x52ca52
52ca40:	8b 47 6c             	mov    0x6c(%edi),%eax
52ca43:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
52ca46:	8b 47 68             	mov    0x68(%edi),%eax
52ca49:	c6 44 88 ed fa       	movb   $0xfa,-0x13(%eax,%ecx,4)
52ca4e:	89 5c 88 fc          	mov    %ebx,-0x4(%eax,%ecx,4)
52ca52:	80 7d 2c 00          	cmpb   $0x0,0x2c(%ebp)
52ca56:	74 17                	je     0x52ca6f
52ca58:	8b 47 6c             	mov    0x6c(%edi),%eax
52ca5b:	85 c0                	test   %eax,%eax
52ca5d:	7e 10                	jle    0x52ca6f
52ca5f:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
52ca62:	ba 04 00 00 00       	mov    $0x4,%edx
52ca67:	8b 47 68             	mov    0x68(%edi),%eax
52ca6a:	66 89 54 88 ee       	mov    %dx,-0x12(%eax,%ecx,4)
52ca6f:	8b 55 f8             	mov    -0x8(%ebp),%edx
52ca72:	85 d2                	test   %edx,%edx
52ca74:	78 51                	js     0x52cac7
52ca76:	3b 55 14             	cmp    0x14(%ebp),%edx
52ca79:	74 4c                	je     0x52cac7
52ca7b:	8b 4f 6c             	mov    0x6c(%edi),%ecx
52ca7e:	39 4f 70             	cmp    %ecx,0x70(%edi)
52ca81:	7f 12                	jg     0x52ca95
52ca83:	6a 00                	push   $0x0
52ca85:	6a 00                	push   $0x0
52ca87:	52                   	push   %edx
52ca88:	6a 7a                	push   $0x7a
52ca8a:	57                   	push   %edi
52ca8b:	e8 70 9a fd ff       	call   0x506500
52ca90:	83 c4 14             	add    $0x14,%esp
52ca93:	eb 32                	jmp    0x52cac7
52ca95:	8b 75 08             	mov    0x8(%ebp),%esi
52ca98:	8d 41 01             	lea    0x1(%ecx),%eax
52ca9b:	89 47 6c             	mov    %eax,0x6c(%edi)
52ca9e:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
52caa1:	8b 47 68             	mov    0x68(%edi),%eax
52caa4:	c7 04 88 7a 00 00 00 	movl   $0x7a,(%eax,%ecx,4)
52caab:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
52caaf:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
52cab6:	00
52cab7:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
52cabe:	00
52cabf:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
52cac6:	00
52cac7:	8b 47 6c             	mov    0x6c(%edi),%eax
52caca:	85 c0                	test   %eax,%eax
52cacc:	7e 18                	jle    0x52cae6
52cace:	ba 02 00 00 00       	mov    $0x2,%edx
52cad3:	33 c9                	xor    %ecx,%ecx
52cad5:	38 55 2c             	cmp    %dl,0x2c(%ebp)
52cad8:	0f 45 d1             	cmovne %ecx,%edx
52cadb:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
52cade:	8b 47 68             	mov    0x68(%edi),%eax
52cae1:	66 89 54 88 ee       	mov    %dx,-0x12(%eax,%ecx,4)
52cae6:	6a 00                	push   $0x0
52cae8:	6a 00                	push   $0x0
52caea:	ff 75 fc             	push   -0x4(%ebp)
52caed:	6a 00                	push   $0x0
52caef:	53                   	push   %ebx
52caf0:	56                   	push   %esi
52caf1:	e8 5a c9 ff ff       	call   0x529450
52caf6:	ff 75 f4             	push   -0xc(%ebp)
52caf9:	0f b6 45 28          	movzbl 0x28(%ebp),%eax
52cafd:	50                   	push   %eax
52cafe:	ff 75 fc             	push   -0x4(%ebp)
52cb01:	53                   	push   %ebx
52cb02:	6a 02                	push   $0x2
52cb04:	6a 00                	push   $0x0
52cb06:	6a 7e                	push   $0x7e
52cb08:	ff 75 10             	push   0x10(%ebp)
52cb0b:	56                   	push   %esi
52cb0c:	e8 df 22 ff ff       	call   0x51edf0
52cb11:	8b 4f 0c             	mov    0xc(%edi),%ecx
52cb14:	83 c4 3c             	add    $0x3c,%esp
52cb17:	8b 55 f4             	mov    -0xc(%ebp),%edx
52cb1a:	f7 d2                	not    %edx
52cb1c:	8b 41 3c             	mov    0x3c(%ecx),%eax
52cb1f:	03 41 38             	add    0x38(%ecx),%eax
52cb22:	79 12                	jns    0x52cb36
52cb24:	52                   	push   %edx
52cb25:	57                   	push   %edi
52cb26:	51                   	push   %ecx
52cb27:	e8 74 6c fe ff       	call   0x5137a0
52cb2c:	83 c4 0c             	add    $0xc,%esp
52cb2f:	5f                   	pop    %edi
52cb30:	5e                   	pop    %esi
52cb31:	5b                   	pop    %ebx
52cb32:	8b e5                	mov    %ebp,%esp
52cb34:	5d                   	pop    %ebp
52cb35:	c3                   	ret
52cb36:	8b 47 6c             	mov    0x6c(%edi),%eax
52cb39:	8b 49 40             	mov    0x40(%ecx),%ecx
52cb3c:	5f                   	pop    %edi
52cb3d:	5e                   	pop    %esi
52cb3e:	5b                   	pop    %ebx
52cb3f:	89 04 91             	mov    %eax,(%ecx,%edx,4)
52cb42:	8b e5                	mov    %ebp,%esp
52cb44:	5d                   	pop    %ebp
52cb45:	c3                   	ret
52cb46:	cc                   	int3
52cb47:	cc                   	int3
52cb48:	cc                   	int3
52cb49:	cc                   	int3
52cb4a:	cc                   	int3
52cb4b:	cc                   	int3
52cb4c:	cc                   	int3
52cb4d:	cc                   	int3
52cb4e:	cc                   	int3
52cb4f:	cc                   	int3
52cb50:	55                   	push   %ebp
52cb51:	8b ec                	mov    %esp,%ebp
52cb53:	83 ec 0c             	sub    $0xc,%esp
52cb56:	8b 45 08             	mov    0x8(%ebp),%eax
52cb59:	83 ca ff             	or     $0xffffffff,%edx
52cb5c:	56                   	push   %esi
52cb5d:	8b 75 0c             	mov    0xc(%ebp),%esi
52cb60:	33 c9                	xor    %ecx,%ecx
52cb62:	57                   	push   %edi
52cb63:	8b 40 08             	mov    0x8(%eax),%eax
52cb66:	89 45 fc             	mov    %eax,-0x4(%ebp)
52cb69:	f6 46 24 80          	testb  $0x80,0x24(%esi)
52cb6d:	75 04                	jne    0x52cb73
52cb6f:	33 ff                	xor    %edi,%edi
52cb71:	eb 1d                	jmp    0x52cb90
52cb73:	8b 7e 08             	mov    0x8(%esi),%edi
52cb76:	85 ff                	test   %edi,%edi
52cb78:	74 16                	je     0x52cb90
52cb7a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
52cb80:	8b 47 38             	mov    0x38(%edi),%eax
52cb83:	24 03                	and    $0x3,%al
52cb85:	3c 02                	cmp    $0x2,%al
52cb87:	74 07                	je     0x52cb90
52cb89:	8b 7f 14             	mov    0x14(%edi),%edi
52cb8c:	85 ff                	test   %edi,%edi
52cb8e:	75 f0                	jne    0x52cb80
52cb90:	8b 76 08             	mov    0x8(%esi),%esi
52cb93:	85 f6                	test   %esi,%esi
52cb95:	0f 84 0b 01 00 00    	je     0x52cca6
52cb9b:	8b 45 18             	mov    0x18(%ebp),%eax
52cb9e:	53                   	push   %ebx
52cb9f:	8b 5d 14             	mov    0x14(%ebp),%ebx
52cba2:	89 45 f8             	mov    %eax,-0x8(%ebp)
52cba5:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
52cba9:	74 09                	je     0x52cbb4
52cbab:	83 38 00             	cmpl   $0x0,(%eax)
52cbae:	0f 84 dc 00 00 00    	je     0x52cc90
52cbb4:	3b f7                	cmp    %edi,%esi
52cbb6:	0f 84 d4 00 00 00    	je     0x52cc90
52cbbc:	3b 5d 1c             	cmp    0x1c(%ebp),%ebx
52cbbf:	0f 84 cb 00 00 00    	je     0x52cc90
52cbc5:	52                   	push   %edx
52cbc6:	51                   	push   %ecx
52cbc7:	8d 45 f4             	lea    -0xc(%ebp),%eax
52cbca:	50                   	push   %eax
52cbcb:	6a 01                	push   $0x1
52cbcd:	6a 00                	push   $0x0
52cbcf:	ff 75 10             	push   0x10(%ebp)
52cbd2:	56                   	push   %esi
52cbd3:	ff 75 08             	push   0x8(%ebp)
52cbd6:	e8 75 f9 ff ff       	call   0x52c550
52cbdb:	83 c4 20             	add    $0x20,%esp
52cbde:	89 45 0c             	mov    %eax,0xc(%ebp)
52cbe1:	f6 46 38 08          	testb  $0x8,0x38(%esi)
52cbe5:	74 06                	je     0x52cbed
52cbe7:	0f b7 4e 32          	movzwl 0x32(%esi),%ecx
52cbeb:	eb 04                	jmp    0x52cbf1
52cbed:	0f b7 4e 34          	movzwl 0x34(%esi),%ecx
52cbf1:	8b 45 fc             	mov    -0x4(%ebp),%eax
52cbf4:	0f b7 d1             	movzwl %cx,%edx
52cbf7:	8b 48 6c             	mov    0x6c(%eax),%ecx
52cbfa:	39 48 70             	cmp    %ecx,0x70(%eax)
52cbfd:	7f 15                	jg     0x52cc14
52cbff:	52                   	push   %edx
52cc00:	ff 75 0c             	push   0xc(%ebp)
52cc03:	53                   	push   %ebx
52cc04:	68 84 00 00 00       	push   $0x84
52cc09:	50                   	push   %eax
52cc0a:	e8 f1 98 fd ff       	call   0x506500
52cc0f:	83 c4 14             	add    $0x14,%esp
52cc12:	eb 35                	jmp    0x52cc49
52cc14:	8b 5d fc             	mov    -0x4(%ebp),%ebx
52cc17:	8d 41 01             	lea    0x1(%ecx),%eax
52cc1a:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
52cc1d:	89 43 6c             	mov    %eax,0x6c(%ebx)
52cc20:	8b c3                	mov    %ebx,%eax
52cc22:	8b 5d 14             	mov    0x14(%ebp),%ebx
52cc25:	8b 40 68             	mov    0x68(%eax),%eax
52cc28:	89 5c 88 04          	mov    %ebx,0x4(%eax,%ecx,4)
52cc2c:	8b 5d 0c             	mov    0xc(%ebp),%ebx
52cc2f:	89 5c 88 08          	mov    %ebx,0x8(%eax,%ecx,4)
52cc33:	8b 5d 14             	mov    0x14(%ebp),%ebx
52cc36:	c7 04 88 84 00 00 00 	movl   $0x84,(%eax,%ecx,4)
52cc3d:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
52cc41:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
52cc48:	00
52cc49:	8b 55 f4             	mov    -0xc(%ebp),%edx
52cc4c:	85 d2                	test   %edx,%edx
52cc4e:	74 38                	je     0x52cc88
52cc50:	8b 45 08             	mov    0x8(%ebp),%eax
52cc53:	f7 d2                	not    %edx
52cc55:	8b 40 08             	mov    0x8(%eax),%eax
52cc58:	8b 48 0c             	mov    0xc(%eax),%ecx
52cc5b:	8b 41 3c             	mov    0x3c(%ecx),%eax
52cc5e:	03 41 38             	add    0x38(%ecx),%eax
52cc61:	79 13                	jns    0x52cc76
52cc63:	52                   	push   %edx
52cc64:	8b 55 08             	mov    0x8(%ebp),%edx
52cc67:	8b 42 08             	mov    0x8(%edx),%eax
52cc6a:	50                   	push   %eax
52cc6b:	51                   	push   %ecx
52cc6c:	e8 2f 6b fe ff       	call   0x5137a0
52cc71:	83 c4 0c             	add    $0xc,%esp
52cc74:	eb 12                	jmp    0x52cc88
52cc76:	8b 5d 08             	mov    0x8(%ebp),%ebx
52cc79:	8b 49 40             	mov    0x40(%ecx),%ecx
52cc7c:	8b 43 08             	mov    0x8(%ebx),%eax
52cc7f:	8b 5d 14             	mov    0x14(%ebp),%ebx
52cc82:	8b 40 6c             	mov    0x6c(%eax),%eax
52cc85:	89 04 91             	mov    %eax,(%ecx,%edx,4)
52cc88:	8b 45 f8             	mov    -0x8(%ebp),%eax
52cc8b:	8b ce                	mov    %esi,%ecx
52cc8d:	8b 55 0c             	mov    0xc(%ebp),%edx
52cc90:	8b 76 14             	mov    0x14(%esi),%esi
52cc93:	83 c0 04             	add    $0x4,%eax
52cc96:	43                   	inc    %ebx
52cc97:	89 45 f8             	mov    %eax,-0x8(%ebp)
52cc9a:	89 5d 14             	mov    %ebx,0x14(%ebp)
52cc9d:	85 f6                	test   %esi,%esi
52cc9f:	0f 85 00 ff ff ff    	jne    0x52cba5
52cca5:	5b                   	pop    %ebx
52cca6:	5f                   	pop    %edi
52cca7:	5e                   	pop    %esi
52cca8:	8b e5                	mov    %ebp,%esp
52ccaa:	5d                   	pop    %ebp
52ccab:	c3                   	ret
52ccac:	cc                   	int3
52ccad:	cc                   	int3
52ccae:	cc                   	int3
52ccaf:	cc                   	int3
52ccb0:	55                   	push   %ebp
52ccb1:	8b ec                	mov    %esp,%ebp
52ccb3:	ff 75 0c             	push   0xc(%ebp)
52ccb6:	6a 01                	push   $0x1
52ccb8:	ff 75 08             	push   0x8(%ebp)
52ccbb:	e8 e0 96 fd ff       	call   0x5063a0
52ccc0:	33 c9                	xor    %ecx,%ecx
52ccc2:	83 c4 0c             	add    $0xc,%esp
52ccc5:	84 c0                	test   %al,%al
52ccc7:	0f 95 c1             	setne  %cl
52ccca:	8a c1                	mov    %cl,%al
52cccc:	5d                   	pop    %ebp
52cccd:	c3                   	ret
52ccce:	cc                   	int3
52cccf:	cc                   	int3
52ccd0:	55                   	push   %ebp
52ccd1:	8b ec                	mov    %esp,%ebp
52ccd3:	53                   	push   %ebx
52ccd4:	8b 5d 08             	mov    0x8(%ebp),%ebx
52ccd7:	56                   	push   %esi
52ccd8:	8b 75 10             	mov    0x10(%ebp),%esi
52ccdb:	57                   	push   %edi
52ccdc:	8b 1b                	mov    (%ebx),%ebx
52ccde:	8b 7d 14             	mov    0x14(%ebp),%edi
52cce1:	85 f6                	test   %esi,%esi
52cce3:	75 33                	jne    0x52cd18
52cce5:	85 ff                	test   %edi,%edi
52cce7:	74 17                	je     0x52cd00
52cce9:	6a 00                	push   $0x0
52cceb:	8d 83 94 01 00 00    	lea    0x194(%ebx),%eax
52ccf1:	57                   	push   %edi
52ccf2:	50                   	push   %eax
52ccf3:	e8 d8 52 fd ff       	call   0x501fd0
52ccf8:	83 c4 0c             	add    $0xc,%esp
52ccfb:	8b 70 08             	mov    0x8(%eax),%esi
52ccfe:	eb 03                	jmp    0x52cd03
52cd00:	8b 73 08             	mov    0x8(%ebx),%esi
52cd03:	85 f6                	test   %esi,%esi
52cd05:	74 17                	je     0x52cd1e
52cd07:	0f b6 45 0c          	movzbl 0xc(%ebp),%eax
52cd0b:	8d 04 80             	lea    (%eax,%eax,4),%eax
52cd0e:	8d 34 86             	lea    (%esi,%eax,4),%esi
52cd11:	83 c6 ec             	add    $0xffffffec,%esi
52cd14:	85 f6                	test   %esi,%esi
52cd16:	74 06                	je     0x52cd1e
52cd18:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
52cd1c:	75 40                	jne    0x52cd5e
52cd1e:	0f b6 45 0c          	movzbl 0xc(%ebp),%eax
52cd22:	57                   	push   %edi
52cd23:	50                   	push   %eax
52cd24:	53                   	push   %ebx
52cd25:	89 45 10             	mov    %eax,0x10(%ebp)
52cd28:	e8 b3 ad fc ff       	call   0x4f7ae0
52cd2d:	83 c4 0c             	add    $0xc,%esp
52cd30:	85 ff                	test   %edi,%edi
52cd32:	74 17                	je     0x52cd4b
52cd34:	6a 00                	push   $0x0
52cd36:	8d 83 94 01 00 00    	lea    0x194(%ebx),%eax
52cd3c:	57                   	push   %edi
52cd3d:	50                   	push   %eax
52cd3e:	e8 8d 52 fd ff       	call   0x501fd0
52cd43:	83 c4 0c             	add    $0xc,%esp
52cd46:	8b 70 08             	mov    0x8(%eax),%esi
52cd49:	eb 03                	jmp    0x52cd4e
52cd4b:	8b 73 08             	mov    0x8(%ebx),%esi
52cd4e:	85 f6                	test   %esi,%esi
52cd50:	74 26                	je     0x52cd78
52cd52:	8b 45 10             	mov    0x10(%ebp),%eax
52cd55:	8d 04 80             	lea    (%eax,%eax,4),%eax
52cd58:	8d 34 86             	lea    (%esi,%eax,4),%esi
52cd5b:	83 c6 ec             	add    $0xffffffec,%esi
52cd5e:	85 f6                	test   %esi,%esi
52cd60:	74 16                	je     0x52cd78
52cd62:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
52cd66:	75 29                	jne    0x52cd91
52cd68:	56                   	push   %esi