52ed3d:	89 14 f0             	mov    %edx,(%eax,%esi,8)
52ed40:	33 d2                	xor    %edx,%edx
52ed42:	89 54 f0 04          	mov    %edx,0x4(%eax,%esi,8)
52ed46:	eb 04                	jmp    0x52ed4c
52ed48:	ff 4c f0 04          	decl   0x4(%eax,%esi,8)
52ed4c:	5e                   	pop    %esi
52ed4d:	5b                   	pop    %ebx
52ed4e:	c3                   	ret
52ed4f:	90                   	nop
52ed50:	53                   	push   %ebx
52ed51:	56                   	push   %esi
52ed52:	8b d8                	mov    %eax,%ebx
52ed54:	8b 83 50 07 00 00    	mov    0x750(%ebx),%eax
52ed5a:	48                   	dec    %eax
52ed5b:	85 c0                	test   %eax,%eax
52ed5d:	7c 13                	jl     0x52ed72
52ed5f:	40                   	inc    %eax
52ed60:	33 d2                	xor    %edx,%edx
52ed62:	8b 8b 4c 07 00 00    	mov    0x74c(%ebx),%ecx
52ed68:	83 3c d1 00          	cmpl   $0x0,(%ecx,%edx,8)
52ed6c:	74 48                	je     0x52edb6
52ed6e:	42                   	inc    %edx
52ed6f:	48                   	dec    %eax
52ed70:	75 f0                	jne    0x52ed62
52ed72:	8b 83 50 07 00 00    	mov    0x750(%ebx),%eax
52ed78:	40                   	inc    %eax
52ed79:	c1 e0 03             	shl    $0x3,%eax
52ed7c:	e8 2b 3a ed ff       	call   0x4027ac
52ed81:	8b f0                	mov    %eax,%esi
52ed83:	8b 8b 50 07 00 00    	mov    0x750(%ebx),%ecx
52ed89:	c1 e1 03             	shl    $0x3,%ecx
52ed8c:	8b 93 4c 07 00 00    	mov    0x74c(%ebx),%edx
52ed92:	8b c6                	mov    %esi,%eax
52ed94:	e8 27 91 ed ff       	call   0x407ec0
52ed99:	8b 83 4c 07 00 00    	mov    0x74c(%ebx),%eax
52ed9f:	e8 28 3a ed ff       	call   0x4027cc
52eda4:	89 b3 4c 07 00 00    	mov    %esi,0x74c(%ebx)
52edaa:	8b 93 50 07 00 00    	mov    0x750(%ebx),%edx
52edb0:	ff 83 50 07 00 00    	incl   0x750(%ebx)
52edb6:	8b c2                	mov    %edx,%eax
52edb8:	5e                   	pop    %esi
52edb9:	5b                   	pop    %ebx
52edba:	c3                   	ret
52edbb:	90                   	nop
52edbc:	53                   	push   %ebx
52edbd:	56                   	push   %esi
52edbe:	57                   	push   %edi
52edbf:	55                   	push   %ebp
52edc0:	8b f9                	mov    %ecx,%edi
52edc2:	8b f2                	mov    %edx,%esi
52edc4:	8b d8                	mov    %eax,%ebx
52edc6:	8b d6                	mov    %esi,%edx
52edc8:	8b c3                	mov    %ebx,%eax
52edca:	e8 29 01 00 00       	call   0x52eef8
52edcf:	8b f0                	mov    %eax,%esi
52edd1:	8b 46 50             	mov    0x50(%esi),%eax
52edd4:	85 c0                	test   %eax,%eax
52edd6:	7c 09                	jl     0x52ede1
52edd8:	8b d0                	mov    %eax,%edx
52edda:	8b c3                	mov    %ebx,%eax
52eddc:	e8 2f ff ff ff       	call   0x52ed10
52ede1:	85 ff                	test   %edi,%edi
52ede3:	7c 62                	jl     0x52ee47
52ede5:	80 bb 54 07 00 00 00 	cmpb   $0x0,0x754(%ebx)
52edec:	75 48                	jne    0x52ee36
52edee:	8b c3                	mov    %ebx,%eax
52edf0:	e8 5b ff ff ff       	call   0x52ed50
52edf5:	8b e8                	mov    %eax,%ebp
52edf7:	8b 83 4c 07 00 00    	mov    0x74c(%ebx),%eax
52edfd:	c7 44 e8 04 01 00 00 	movl   $0x1,0x4(%eax,%ebp,8)
52ee04:	00
52ee05:	b2 01                	mov    $0x1,%dl
52ee07:	a1 18 ff 5e 00       	mov    0x5eff18,%eax
52ee0c:	e8 93 87 0c 00       	call   0x5f75a4
52ee11:	8b 93 4c 07 00 00    	mov    0x74c(%ebx),%edx
52ee17:	89 04 ea             	mov    %eax,(%edx,%ebp,8)
52ee1a:	8b 83 4c 07 00 00    	mov    0x74c(%ebx),%eax
52ee20:	8b 14 f8             	mov    (%eax,%edi,8),%edx
52ee23:	8b 83 4c 07 00 00    	mov    0x74c(%ebx),%eax
52ee29:	8b 04 e8             	mov    (%eax,%ebp,8),%eax
52ee2c:	8b 08                	mov    (%eax),%ecx
52ee2e:	ff 51 28             	call   *0x28(%ecx)
52ee31:	89 6e 50             	mov    %ebp,0x50(%esi)
52ee34:	eb 14                	jmp    0x52ee4a
52ee36:	8b c7                	mov    %edi,%eax
52ee38:	89 46 50             	mov    %eax,0x50(%esi)
52ee3b:	8b 93 4c 07 00 00    	mov    0x74c(%ebx),%edx
52ee41:	ff 44 c2 04          	incl   0x4(%edx,%eax,8)
52ee45:	eb 03                	jmp    0x52ee4a
52ee47:	89 7e 50             	mov    %edi,0x50(%esi)
52ee4a:	5d                   	pop    %ebp
52ee4b:	5f                   	pop    %edi
52ee4c:	5e                   	pop    %esi
52ee4d:	5b                   	pop    %ebx
52ee4e:	c3                   	ret
52ee4f:	90                   	nop
52ee50:	53                   	push   %ebx
52ee51:	56                   	push   %esi
52ee52:	57                   	push   %edi
52ee53:	55                   	push   %ebp
52ee54:	8b f9                	mov    %ecx,%edi
52ee56:	8b f2                	mov    %edx,%esi
52ee58:	8b d8                	mov    %eax,%ebx
52ee5a:	8b d6                	mov    %esi,%edx
52ee5c:	8b c3                	mov    %ebx,%eax
52ee5e:	e8 95 00 00 00       	call   0x52eef8
52ee63:	8b f0                	mov    %eax,%esi
52ee65:	8b 46 50             	mov    0x50(%esi),%eax
52ee68:	85 c0                	test   %eax,%eax
52ee6a:	7c 09                	jl     0x52ee75
52ee6c:	8b d0                	mov    %eax,%edx
52ee6e:	8b c3                	mov    %ebx,%eax
52ee70:	e8 9b fe ff ff       	call   0x52ed10
52ee75:	85 ff                	test   %edi,%edi
52ee77:	74 70                	je     0x52eee9
52ee79:	80 bb 54 07 00 00 00 	cmpb   $0x0,0x754(%ebx)
52ee80:	74 0d                	je     0x52ee8f
52ee82:	8b d7                	mov    %edi,%edx
52ee84:	8b c3                	mov    %ebx,%eax
52ee86:	e8 45 4d 00 00       	call   0x533bd0
52ee8b:	8b d0                	mov    %eax,%edx
52ee8d:	eb 03                	jmp    0x52ee92
52ee8f:	83 ca ff             	or     $0xffffffff,%edx
52ee92:	83 fa ff             	cmp    $0xffffffff,%edx
52ee95:	75 41                	jne    0x52eed8
52ee97:	8b c3                	mov    %ebx,%eax
52ee99:	e8 b2 fe ff ff       	call   0x52ed50
52ee9e:	8b e8                	mov    %eax,%ebp
52eea0:	8b 83 4c 07 00 00    	mov    0x74c(%ebx),%eax
52eea6:	c7 44 e8 04 01 00 00 	movl   $0x1,0x4(%eax,%ebp,8)
52eead:	00
52eeae:	b2 01                	mov    $0x1,%dl
52eeb0:	a1 18 ff 5e 00       	mov    0x5eff18,%eax
52eeb5:	e8 ea 86 0c 00       	call   0x5f75a4
52eeba:	8b 93 4c 07 00 00    	mov    0x74c(%ebx),%edx
52eec0:	89 04 ea             	mov    %eax,(%edx,%ebp,8)
52eec3:	8b 83 4c 07 00 00    	mov    0x74c(%ebx),%eax
52eec9:	8b 04 e8             	mov    (%eax,%ebp,8),%eax
52eecc:	8b d7                	mov    %edi,%edx
52eece:	8b 08                	mov    (%eax),%ecx
52eed0:	ff 51 28             	call   *0x28(%ecx)
52eed3:	89 6e 50             	mov    %ebp,0x50(%esi)
52eed6:	eb 18                	jmp    0x52eef0
52eed8:	8b c2                	mov    %edx,%eax
52eeda:	89 46 50             	mov    %eax,0x50(%esi)
52eedd:	8b 93 4c 07 00 00    	mov    0x74c(%ebx),%edx
52eee3:	ff 44 c2 04          	incl   0x4(%edx,%eax,8)
52eee7:	eb 07                	jmp    0x52eef0
52eee9:	c7 46 50 ff ff ff ff 	movl   $0xffffffff,0x50(%esi)
52eef0:	5d                   	pop    %ebp
52eef1:	5f                   	pop    %edi
52eef2:	5e                   	pop    %esi
52eef3:	5b                   	pop    %ebx
52eef4:	c3                   	ret
52eef5:	8d 40 00             	lea    0x0(%eax),%eax
52eef8:	8b ca                	mov    %edx,%ecx
52eefa:	83 e9 fc             	sub    $0xfffffffc,%ecx
52eefd:	74 2d                	je     0x52ef2c
52eeff:	49                   	dec    %ecx
52ef00:	74 27                	je     0x52ef29
52ef02:	49                   	dec    %ecx
52ef03:	74 09                	je     0x52ef0e
52ef05:	49                   	dec    %ecx
52ef06:	75 27                	jne    0x52ef2f
52ef08:	05 30 06 00 00       	add    $0x630,%eax
52ef0d:	c3                   	ret
52ef0e:	8b 90 48 07 00 00    	mov    0x748(%eax),%edx
52ef14:	8b ca                	mov    %edx,%ecx
52ef16:	c1 e2 05             	shl    $0x5,%edx
52ef19:	2b d1                	sub    %ecx,%edx
52ef1b:	8b 80 44 07 00 00    	mov    0x744(%eax),%eax
52ef21:	8d 84 d0 08 ff ff ff 	lea    -0xf8(%eax,%edx,8),%eax
52ef28:	c3                   	ret
52ef29:	33 c0                	xor    %eax,%eax
52ef2b:	c3                   	ret
52ef2c:	33 c0                	xor    %eax,%eax
52ef2e:	c3                   	ret
52ef2f:	8b ca                	mov    %edx,%ecx
52ef31:	c1 e2 05             	shl    $0x5,%edx
52ef34:	2b d1                	sub    %ecx,%edx
52ef36:	8b 80 44 07 00 00    	mov    0x744(%eax),%eax
52ef3c:	8d 04 d0             	lea    (%eax,%edx,8),%eax
52ef3f:	c3                   	ret
52ef40:	55                   	push   %ebp
52ef41:	8b ec                	mov    %esp,%ebp
52ef43:	83 c4 f8             	add    $0xfffffff8,%esp
52ef46:	53                   	push   %ebx
52ef47:	56                   	push   %esi
52ef48:	57                   	push   %edi
52ef49:	89 4d f8             	mov    %ecx,-0x8(%ebp)
52ef4c:	89 55 fc             	mov    %edx,-0x4(%ebp)
52ef4f:	8b f8                	mov    %eax,%edi
52ef51:	8b 55 fc             	mov    -0x4(%ebp),%edx
52ef54:	8b c7                	mov    %edi,%eax
52ef56:	e8 9d ff ff ff       	call   0x52eef8
52ef5b:	b2 01                	mov    $0x1,%dl
52ef5d:	a1 ec 6a 42 00       	mov    0x426aec,%eax
52ef62:	e8 69 e2 ef ff       	call   0x42d1d0
52ef67:	8b d8                	mov    %eax,%ebx
52ef69:	b2 06                	mov    $0x6,%dl
52ef6b:	8b c3                	mov    %ebx,%eax
52ef6d:	e8 36 f8 ef ff       	call   0x42e7a8
52ef72:	8b 55 0c             	mov    0xc(%ebp),%edx
52ef75:	8b c3                	mov    %ebx,%eax
52ef77:	8b 08                	mov    (%eax),%ecx
52ef79:	ff 51 40             	call   *0x40(%ecx)
52ef7c:	8b 55 08             	mov    0x8(%ebp),%edx
52ef7f:	8b c3                	mov    %ebx,%eax
52ef81:	8b 08                	mov    (%eax),%ecx
52ef83:	ff 51 34             	call   *0x34(%ecx)
52ef86:	68 00 80 00 00       	push   $0x8000
52ef8b:	8b 45 08             	mov    0x8(%ebp),%eax
52ef8e:	50                   	push   %eax
52ef8f:	8b 45 0c             	mov    0xc(%ebp),%eax
52ef92:	50                   	push   %eax
52ef93:	6a 01                	push   $0x1
52ef95:	8b 45 f8             	mov    -0x8(%ebp),%eax
52ef98:	50                   	push   %eax
52ef99:	6a 00                	push   $0x0
52ef9b:	e8 88 8c ed ff       	call   0x407c28
52efa0:	8b f0                	mov    %eax,%esi
52efa2:	85 f6                	test   %esi,%esi
52efa4:	74 2b                	je     0x52efd1
52efa6:	6a 03                	push   $0x3
52efa8:	6a 00                	push   $0x0
52efaa:	6a 00                	push   $0x0
52efac:	8b 45 08             	mov    0x8(%ebp),%eax
52efaf:	50                   	push   %eax
52efb0:	8b 45 0c             	mov    0xc(%ebp),%eax
52efb3:	50                   	push   %eax
52efb4:	56                   	push   %esi
52efb5:	6a 00                	push   $0x0
52efb7:	6a 00                	push   $0x0
52efb9:	8b c3                	mov    %ebx,%eax
52efbb:	e8 d8 e7 ef ff       	call   0x42d798
52efc0:	e8 fb 9c ef ff       	call   0x428cc0
52efc5:	50                   	push   %eax
52efc6:	e8 5d 89 ed ff       	call   0x407928
52efcb:	56                   	push   %esi
52efcc:	e8 07 89 ed ff       	call   0x4078d8
52efd1:	b2 01                	mov    $0x1,%dl
52efd3:	a1 18 ff 5e 00       	mov    0x5eff18,%eax
52efd8:	e8 c7 85 0c 00       	call   0x5f75a4
52efdd:	8b f0                	mov    %eax,%esi
52efdf:	33 c9                	xor    %ecx,%ecx
52efe1:	8b d3                	mov    %ebx,%edx
52efe3:	8b c6                	mov    %esi,%eax
52efe5:	e8 56 96 0c 00       	call   0x5f8640
52efea:	8b ce                	mov    %esi,%ecx
52efec:	8b 55 fc             	mov    -0x4(%ebp),%edx
52efef:	8b c7                	mov    %edi,%eax
52eff1:	e8 5a fe ff ff       	call   0x52ee50
52eff6:	8b c6                	mov    %esi,%eax
52eff8:	e8 7b 4a ed ff       	call   0x403a78
52effd:	8b c3                	mov    %ebx,%eax
52efff:	e8 74 4a ed ff       	call   0x403a78
52f004:	83 7d fc ff          	cmpl   $0xffffffff,-0x4(%ebp)
52f008:	74 0a                	je     0x52f014
52f00a:	8b c7                	mov    %edi,%eax
52f00c:	8b 10                	mov    (%eax),%edx
52f00e:	ff 92 88 00 00 00    	call   *0x88(%edx)
52f014:	5f                   	pop    %edi
52f015:	5e                   	pop    %esi
52f016:	5b                   	pop    %ebx
52f017:	59                   	pop    %ecx
52f018:	59                   	pop    %ecx
52f019:	5d                   	pop    %ebp
52f01a:	c2 08 00             	ret    $0x8
52f01d:	8d 40 00             	lea    0x0(%eax),%eax
52f020:	53                   	push   %ebx
52f021:	56                   	push   %esi
52f022:	57                   	push   %edi
52f023:	55                   	push   %ebp
52f024:	83 c4 f8             	add    $0xfffffff8,%esp
52f027:	8b f1                	mov    %ecx,%esi
52f029:	89 14 24             	mov    %edx,(%esp)
52f02c:	8b e8                	mov    %eax,%ebp
52f02e:	b2 01                	mov    $0x1,%dl
52f030:	a1 18 ff 5e 00       	mov    0x5eff18,%eax
52f035:	e8 6a 85 0c 00       	call   0x5f75a4
52f03a:	8b f8                	mov    %eax,%edi
52f03c:	8b cd                	mov    %ebp,%ecx
52f03e:	b2 01                	mov    $0x1,%dl
52f040:	a1 7c 67 5c 00       	mov    0x5c677c,%eax
52f045:	e8 2e 7b 09 00       	call   0x5c6b78
52f04a:	8b d8                	mov    %eax,%ebx
52f04c:	8b d7                	mov    %edi,%edx
52f04e:	8b c3                	mov    %ebx,%eax
52f050:	e8 6f 45 0a 00       	call   0x5d35c4
52f055:	8b d6                	mov    %esi,%edx
52f057:	8b c3                	mov    %ebx,%eax
52f059:	66 be ee ff          	mov    $0xffee,%si
52f05d:	e8 12 4c ed ff       	call   0x403c74
52f062:	8a 83 80 01 00 00    	mov    0x180(%ebx),%al
52f068:	34 01                	xor    $0x1,%al
52f06a:	88 44 24 04          	mov    %al,0x4(%esp)
52f06e:	80 7c 24 04 00       	cmpb   $0x0,0x4(%esp)
52f073:	74 0c                	je     0x52f081
52f075:	8b cf                	mov    %edi,%ecx
52f077:	8b 14 24             	mov    (%esp),%edx
52f07a:	8b c5                	mov    %ebp,%eax
52f07c:	e8 cf fd ff ff       	call   0x52ee50
52f081:	8b c3                	mov    %ebx,%eax
52f083:	e8 f0 49 ed ff       	call   0x403a78
52f088:	8b c7                	mov    %edi,%eax
52f08a:	e8 e9 49 ed ff       	call   0x403a78
52f08f:	8a 44 24 04          	mov    0x4(%esp),%al
52f093:	59                   	pop    %ecx
52f094:	5a                   	pop    %edx
52f095:	5d                   	pop    %ebp
52f096:	5f                   	pop    %edi
52f097:	5e                   	pop    %esi
52f098:	5b                   	pop    %ebx
52f099:	c3                   	ret
52f09a:	8b c0                	mov    %eax,%eax
52f09c:	55                   	push   %ebp
52f09d:	8b ec                	mov    %esp,%ebp
52f09f:	53                   	push   %ebx
52f0a0:	56                   	push   %esi
52f0a1:	57                   	push   %edi
52f0a2:	8b f9                	mov    %ecx,%edi
52f0a4:	8b f2                	mov    %edx,%esi
52f0a6:	8b d8                	mov    %eax,%ebx
52f0a8:	8b 93 f0 05 00 00    	mov    0x5f0(%ebx),%edx
52f0ae:	8b 46 10             	mov    0x10(%esi),%eax
52f0b1:	8b 08                	mov    (%eax),%ecx
52f0b3:	ff 51 08             	call   *0x8(%ecx)
52f0b6:	8b 93 f4 05 00 00    	mov    0x5f4(%ebx),%edx
52f0bc:	8b 46 14             	mov    0x14(%esi),%eax
52f0bf:	8b 08                	mov    (%eax),%ecx
52f0c1:	ff 51 08             	call   *0x8(%ecx)
52f0c4:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
52f0c8:	75 23                	jne    0x52f0ed
52f0ca:	8b 83 ec 05 00 00    	mov    0x5ec(%ebx),%eax
52f0d0:	8b d0                	mov    %eax,%edx
52f0d2:	03 d7                	add    %edi,%edx
52f0d4:	52                   	push   %edx
52f0d5:	8b 55 0c             	mov    0xc(%ebp),%edx
52f0d8:	03 d0                	add    %eax,%edx
52f0da:	52                   	push   %edx
52f0db:	8b 4d 0c             	mov    0xc(%ebp),%ecx
52f0de:	2b c8                	sub    %eax,%ecx
52f0e0:	8b d7                	mov    %edi,%edx
52f0e2:	2b d0                	sub    %eax,%edx
52f0e4:	8b c6                	mov    %esi,%eax
52f0e6:	e8 85 97 ef ff       	call   0x428870
52f0eb:	eb 6d                	jmp    0x52f15a
52f0ed:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
52f0f1:	75 67                	jne    0x52f15a
52f0f3:	ba 01 00 00 00       	mov    $0x1,%edx