508c40:	5e                   	pop    %esi
508c41:	5b                   	pop    %ebx
508c42:	c3                   	ret
508c43:	90                   	nop
508c44:	53                   	push   %ebx
508c45:	56                   	push   %esi
508c46:	8b f2                	mov    %edx,%esi
508c48:	8b d8                	mov    %eax,%ebx
508c4a:	ba ff 00 00 00       	mov    $0xff,%edx
508c4f:	8b c3                	mov    %ebx,%eax
508c51:	e8 be ff ff ff       	call   0x508c14
508c56:	8b d6                	mov    %esi,%edx
508c58:	8b c3                	mov    %ebx,%eax
508c5a:	e8 b5 ff ff ff       	call   0x508c14
508c5f:	5e                   	pop    %esi
508c60:	5b                   	pop    %ebx
508c61:	c3                   	ret
508c62:	90                   	nop
508c63:	90                   	nop
508c64:	53                   	push   %ebx
508c65:	56                   	push   %esi
508c66:	8b f2                	mov    %edx,%esi
508c68:	8b d8                	mov    %eax,%ebx
508c6a:	8b d6                	mov    %esi,%edx
508c6c:	8b c3                	mov    %ebx,%eax
508c6e:	c1 fa 08             	sar    $0x8,%edx
508c71:	81 e2 ff 00 00 00    	and    $0xff,%edx
508c77:	e8 98 ff ff ff       	call   0x508c14
508c7c:	8b d6                	mov    %esi,%edx
508c7e:	8b c3                	mov    %ebx,%eax
508c80:	81 e2 ff 00 00 00    	and    $0xff,%edx
508c86:	e8 89 ff ff ff       	call   0x508c14
508c8b:	5e                   	pop    %esi
508c8c:	5b                   	pop    %ebx
508c8d:	c3                   	ret
508c8e:	90                   	nop
508c8f:	90                   	nop
508c90:	53                   	push   %ebx
508c91:	56                   	push   %esi
508c92:	57                   	push   %edi
508c93:	55                   	push   %ebp
508c94:	83 c4 f4             	add    $0xfffffff4,%esp
508c97:	89 14 24             	mov    %edx,(%esp)
508c9a:	8b f0                	mov    %eax,%esi
508c9c:	8b 04 24             	mov    (%esp),%eax
508c9f:	8b 6c 86 40          	mov    0x40(%esi,%eax,4),%ebp
508ca3:	85 ed                	test   %ebp,%ebp
508ca5:	75 15                	jne    0x508cbc
508ca7:	8b 06                	mov    (%esi),%eax
508ca9:	c7 40 14 33 00 00 00 	movl   $0x33,0x14(%eax)
508cb0:	8b 14 24             	mov    (%esp),%edx
508cb3:	89 50 18             	mov    %edx,0x18(%eax)
508cb6:	8b c6                	mov    %esi,%eax
508cb8:	8b 10                	mov    (%eax),%edx
508cba:	ff 12                	call   *(%edx)
508cbc:	33 ff                	xor    %edi,%edi
508cbe:	33 db                	xor    %ebx,%ebx
508cc0:	8b c5                	mov    %ebp,%eax
508cc2:	66 81 38 ff 00       	cmpw   $0xff,(%eax)
508cc7:	76 05                	jbe    0x508cce
508cc9:	bf 01 00 00 00       	mov    $0x1,%edi
508cce:	43                   	inc    %ebx
508ccf:	83 c0 02             	add    $0x2,%eax
508cd2:	83 fb 40             	cmp    $0x40,%ebx
508cd5:	7c eb                	jl     0x508cc2
508cd7:	83 bd 80 00 00 00 00 	cmpl   $0x0,0x80(%ebp)
508cde:	0f 85 83 00 00 00    	jne    0x508d67
508ce4:	ba db 00 00 00       	mov    $0xdb,%edx
508ce9:	8b c6                	mov    %esi,%eax
508ceb:	e8 54 ff ff ff       	call   0x508c44
508cf0:	85 ff                	test   %edi,%edi
508cf2:	74 07                	je     0x508cfb
508cf4:	ba 83 00 00 00       	mov    $0x83,%edx
508cf9:	eb 05                	jmp    0x508d00
508cfb:	ba 43 00 00 00       	mov    $0x43,%edx
508d00:	8b c6                	mov    %esi,%eax
508d02:	e8 5d ff ff ff       	call   0x508c64
508d07:	8b d7                	mov    %edi,%edx
508d09:	8b c6                	mov    %esi,%eax
508d0b:	c1 e2 04             	shl    $0x4,%edx
508d0e:	03 14 24             	add    (%esp),%edx
508d11:	e8 fe fe ff ff       	call   0x508c14
508d16:	c7 44 24 08 64 d9 68 	movl   $0x68d964,0x8(%esp)
508d1d:	00
508d1e:	33 db                	xor    %ebx,%ebx
508d20:	8b 44 24 08          	mov    0x8(%esp),%eax
508d24:	85 ff                	test   %edi,%edi
508d26:	8b 10                	mov    (%eax),%edx
508d28:	0f b7 4c 55 00       	movzwl 0x0(%ebp,%edx,2),%ecx
508d2d:	89 4c 24 04          	mov    %ecx,0x4(%esp)
508d31:	74 0e                	je     0x508d41
508d33:	8b 54 24 04          	mov    0x4(%esp),%edx
508d37:	8b c6                	mov    %esi,%eax
508d39:	c1 ea 08             	shr    $0x8,%edx
508d3c:	e8 d3 fe ff ff       	call   0x508c14
508d41:	8b 54 24 04          	mov    0x4(%esp),%edx
508d45:	8b c6                	mov    %esi,%eax
508d47:	81 e2 ff 00 00 00    	and    $0xff,%edx
508d4d:	e8 c2 fe ff ff       	call   0x508c14
508d52:	43                   	inc    %ebx
508d53:	83 44 24 08 04       	addl   $0x4,0x8(%esp)
508d58:	83 fb 40             	cmp    $0x40,%ebx
508d5b:	7c c3                	jl     0x508d20
508d5d:	c7 85 80 00 00 00 01 	movl   $0x1,0x80(%ebp)
508d64:	00 00 00
508d67:	8b c7                	mov    %edi,%eax
508d69:	83 c4 0c             	add    $0xc,%esp
508d6c:	5d                   	pop    %ebp
508d6d:	5f                   	pop    %edi
508d6e:	5e                   	pop    %esi
508d6f:	5b                   	pop    %ebx
508d70:	c3                   	ret
508d71:	90                   	nop
508d72:	90                   	nop
508d73:	90                   	nop
508d74:	53                   	push   %ebx
508d75:	56                   	push   %esi
508d76:	57                   	push   %edi
508d77:	55                   	push   %ebp
508d78:	83 c4 f4             	add    $0xfffffff4,%esp
508d7b:	89 14 24             	mov    %edx,(%esp)
508d7e:	8b f0                	mov    %eax,%esi
508d80:	85 c9                	test   %ecx,%ecx
508d82:	74 0d                	je     0x508d91
508d84:	8b 04 24             	mov    (%esp),%eax
508d87:	8b 7c 86 60          	mov    0x60(%esi,%eax,4),%edi
508d8b:	83 04 24 10          	addl   $0x10,(%esp)
508d8f:	eb 07                	jmp    0x508d98
508d91:	8b 04 24             	mov    (%esp),%eax
508d94:	8b 7c 86 50          	mov    0x50(%esi,%eax,4),%edi
508d98:	85 ff                	test   %edi,%edi
508d9a:	75 15                	jne    0x508db1
508d9c:	8b 06                	mov    (%esi),%eax
508d9e:	c7 40 14 31 00 00 00 	movl   $0x31,0x14(%eax)
508da5:	8b 14 24             	mov    (%esp),%edx
508da8:	89 50 18             	mov    %edx,0x18(%eax)
508dab:	8b c6                	mov    %esi,%eax
508dad:	8b 10                	mov    (%eax),%edx
508daf:	ff 12                	call   *(%edx)
508db1:	83 bf 14 01 00 00 00 	cmpl   $0x0,0x114(%edi)
508db8:	0f 85 89 00 00 00    	jne    0x508e47
508dbe:	ba c4 00 00 00       	mov    $0xc4,%edx
508dc3:	8b c6                	mov    %esi,%eax
508dc5:	e8 7a fe ff ff       	call   0x508c44
508dca:	33 ed                	xor    %ebp,%ebp
508dcc:	bb 01 00 00 00       	mov    $0x1,%ebx
508dd1:	8d 47 01             	lea    0x1(%edi),%eax
508dd4:	33 d2                	xor    %edx,%edx
508dd6:	43                   	inc    %ebx
508dd7:	8a 10                	mov    (%eax),%dl
508dd9:	40                   	inc    %eax
508dda:	03 ea                	add    %edx,%ebp
508ddc:	83 fb 10             	cmp    $0x10,%ebx
508ddf:	7e f3                	jle    0x508dd4
508de1:	8d 55 13             	lea    0x13(%ebp),%edx
508de4:	8b c6                	mov    %esi,%eax
508de6:	e8 79 fe ff ff       	call   0x508c64
508deb:	8b 14 24             	mov    (%esp),%edx
508dee:	8b c6                	mov    %esi,%eax
508df0:	e8 1f fe ff ff       	call   0x508c14
508df5:	bb 01 00 00 00       	mov    $0x1,%ebx
508dfa:	8d 47 01             	lea    0x1(%edi),%eax
508dfd:	89 44 24 04          	mov    %eax,0x4(%esp)
508e01:	8b 54 24 04          	mov    0x4(%esp),%edx
508e05:	0f b6 12             	movzbl (%edx),%edx
508e08:	8b c6                	mov    %esi,%eax
508e0a:	e8 05 fe ff ff       	call   0x508c14
508e0f:	43                   	inc    %ebx
508e10:	ff 44 24 04          	incl   0x4(%esp)
508e14:	83 fb 10             	cmp    $0x10,%ebx
508e17:	7e e8                	jle    0x508e01
508e19:	33 db                	xor    %ebx,%ebx
508e1b:	8d 47 11             	lea    0x11(%edi),%eax
508e1e:	89 44 24 08          	mov    %eax,0x8(%esp)
508e22:	3b eb                	cmp    %ebx,%ebp
508e24:	7e 17                	jle    0x508e3d
508e26:	8b 54 24 08          	mov    0x8(%esp),%edx
508e2a:	0f b6 12             	movzbl (%edx),%edx
508e2d:	8b c6                	mov    %esi,%eax
508e2f:	e8 e0 fd ff ff       	call   0x508c14
508e34:	43                   	inc    %ebx
508e35:	ff 44 24 08          	incl   0x8(%esp)
508e39:	3b eb                	cmp    %ebx,%ebp
508e3b:	7f e9                	jg     0x508e26
508e3d:	c7 87 14 01 00 00 01 	movl   $0x1,0x114(%edi)
508e44:	00 00 00
508e47:	83 c4 0c             	add    $0xc,%esp
508e4a:	5d                   	pop    %ebp
508e4b:	5f                   	pop    %edi
508e4c:	5e                   	pop    %esi
508e4d:	5b                   	pop    %ebx
508e4e:	c3                   	ret
508e4f:	90                   	nop
508e50:	c3                   	ret
508e51:	90                   	nop
508e52:	90                   	nop
508e53:	90                   	nop
508e54:	53                   	push   %ebx
508e55:	8b d8                	mov    %eax,%ebx
508e57:	ba dd 00 00 00       	mov    $0xdd,%edx
508e5c:	8b c3                	mov    %ebx,%eax
508e5e:	e8 e1 fd ff ff       	call   0x508c44
508e63:	ba 04 00 00 00       	mov    $0x4,%edx
508e68:	8b c3                	mov    %ebx,%eax
508e6a:	e8 f5 fd ff ff       	call   0x508c64
508e6f:	8b 93 c0 00 00 00    	mov    0xc0(%ebx),%edx
508e75:	8b c3                	mov    %ebx,%eax
508e77:	e8 e8 fd ff ff       	call   0x508c64
508e7c:	5b                   	pop    %ebx
508e7d:	c3                   	ret
508e7e:	90                   	nop
508e7f:	90                   	nop
508e80:	53                   	push   %ebx
508e81:	56                   	push   %esi
508e82:	57                   	push   %edi
508e83:	8b d8                	mov    %eax,%ebx
508e85:	8b c3                	mov    %ebx,%eax
508e87:	e8 b8 fd ff ff       	call   0x508c44
508e8c:	8b 53 34             	mov    0x34(%ebx),%edx
508e8f:	8b c3                	mov    %ebx,%eax
508e91:	8d 14 52             	lea    (%edx,%edx,2),%edx
508e94:	83 c2 08             	add    $0x8,%edx
508e97:	e8 c8 fd ff ff       	call   0x508c64
508e9c:	81 7b 1c ff ff 00 00 	cmpl   $0xffff,0x1c(%ebx)
508ea3:	7f 09                	jg     0x508eae
508ea5:	81 7b 18 ff ff 00 00 	cmpl   $0xffff,0x18(%ebx)
508eac:	7e 16                	jle    0x508ec4
508eae:	8b 03                	mov    (%ebx),%eax
508eb0:	c7 40 14 28 00 00 00 	movl   $0x28,0x14(%eax)
508eb7:	c7 40 18 ff ff 00 00 	movl   $0xffff,0x18(%eax)
508ebe:	8b c3                	mov    %ebx,%eax
508ec0:	8b 10                	mov    (%eax),%edx
508ec2:	ff 12                	call   *(%edx)
508ec4:	8b 53 30             	mov    0x30(%ebx),%edx
508ec7:	8b c3                	mov    %ebx,%eax
508ec9:	e8 46 fd ff ff       	call   0x508c14
508ece:	8b 53 1c             	mov    0x1c(%ebx),%edx
508ed1:	8b c3                	mov    %ebx,%eax
508ed3:	e8 8c fd ff ff       	call   0x508c64
508ed8:	8b 53 18             	mov    0x18(%ebx),%edx
508edb:	8b c3                	mov    %ebx,%eax
508edd:	e8 82 fd ff ff       	call   0x508c64
508ee2:	8b 53 34             	mov    0x34(%ebx),%edx
508ee5:	8b c3                	mov    %ebx,%eax
508ee7:	e8 28 fd ff ff       	call   0x508c14
508eec:	33 ff                	xor    %edi,%edi
508eee:	8b 73 3c             	mov    0x3c(%ebx),%esi
508ef1:	eb 27                	jmp    0x508f1a
508ef3:	8b 16                	mov    (%esi),%edx
508ef5:	8b c3                	mov    %ebx,%eax
508ef7:	e8 18 fd ff ff       	call   0x508c14
508efc:	8b 56 08             	mov    0x8(%esi),%edx
508eff:	8b c3                	mov    %ebx,%eax
508f01:	c1 e2 04             	shl    $0x4,%edx
508f04:	03 56 0c             	add    0xc(%esi),%edx
508f07:	e8 08 fd ff ff       	call   0x508c14
508f0c:	8b 56 10             	mov    0x10(%esi),%edx
508f0f:	8b c3                	mov    %ebx,%eax
508f11:	e8 fe fc ff ff       	call   0x508c14
508f16:	47                   	inc    %edi
508f17:	83 c6 54             	add    $0x54,%esi
508f1a:	3b 7b 34             	cmp    0x34(%ebx),%edi
508f1d:	7c d4                	jl     0x508ef3
508f1f:	5f                   	pop    %edi
508f20:	5e                   	pop    %esi
508f21:	5b                   	pop    %ebx
508f22:	c3                   	ret
508f23:	90                   	nop
508f24:	53                   	push   %ebx
508f25:	56                   	push   %esi
508f26:	57                   	push   %edi
508f27:	55                   	push   %ebp
508f28:	8b d8                	mov    %eax,%ebx
508f2a:	ba da 00 00 00       	mov    $0xda,%edx
508f2f:	8b c3                	mov    %ebx,%eax
508f31:	e8 0e fd ff ff       	call   0x508c44
508f36:	8b 93 ec 00 00 00    	mov    0xec(%ebx),%edx
508f3c:	8b c3                	mov    %ebx,%eax
508f3e:	03 d2                	add    %edx,%edx
508f40:	83 c2 06             	add    $0x6,%edx
508f43:	e8 1c fd ff ff       	call   0x508c64
508f48:	8b 93 ec 00 00 00    	mov    0xec(%ebx),%edx
508f4e:	8b c3                	mov    %ebx,%eax
508f50:	e8 bf fc ff ff       	call   0x508c14
508f55:	33 ed                	xor    %ebp,%ebp
508f57:	8d bb f0 00 00 00    	lea    0xf0(%ebx),%edi
508f5d:	eb 4d                	jmp    0x508fac
508f5f:	8b 37                	mov    (%edi),%esi
508f61:	8b c3                	mov    %ebx,%eax
508f63:	8b 16                	mov    (%esi),%edx
508f65:	e8 aa fc ff ff       	call   0x508c14
508f6a:	8b 46 14             	mov    0x14(%esi),%eax
508f6d:	8b 56 18             	mov    0x18(%esi),%edx
508f70:	83 bb dc 00 00 00 00 	cmpl   $0x0,0xdc(%ebx)
508f77:	74 23                	je     0x508f9c
508f79:	83 bb 34 01 00 00 00 	cmpl   $0x0,0x134(%ebx)
508f80:	75 18                	jne    0x508f9a
508f82:	33 d2                	xor    %edx,%edx
508f84:	83 bb 3c 01 00 00 00 	cmpl   $0x0,0x13c(%ebx)
508f8b:	74 0f                	je     0x508f9c
508f8d:	83 bb ac 00 00 00 00 	cmpl   $0x0,0xac(%ebx)
508f94:	75 06                	jne    0x508f9c
508f96:	33 c0                	xor    %eax,%eax
508f98:	eb 02                	jmp    0x508f9c
508f9a:	33 c0                	xor    %eax,%eax
508f9c:	c1 e0 04             	shl    $0x4,%eax
508f9f:	03 d0                	add    %eax,%edx
508fa1:	8b c3                	mov    %ebx,%eax
508fa3:	e8 6c fc ff ff       	call   0x508c14
508fa8:	45                   	inc    %ebp
508fa9:	83 c7 04             	add    $0x4,%edi
508fac:	3b ab ec 00 00 00    	cmp    0xec(%ebx),%ebp
508fb2:	7c ab                	jl     0x508f5f
508fb4:	8b 93 34 01 00 00    	mov    0x134(%ebx),%edx
508fba:	8b c3                	mov    %ebx,%eax
508fbc:	e8 53 fc ff ff       	call   0x508c14
508fc1:	8b 93 38 01 00 00    	mov    0x138(%ebx),%edx
508fc7:	8b c3                	mov    %ebx,%eax
508fc9:	e8 46 fc ff ff       	call   0x508c14
508fce:	8b 93 3c 01 00 00    	mov    0x13c(%ebx),%edx
508fd4:	8b c3                	mov    %ebx,%eax
508fd6:	c1 e2 04             	shl    $0x4,%edx
508fd9:	03 93 40 01 00 00    	add    0x140(%ebx),%edx
508fdf:	e8 30 fc ff ff       	call   0x508c14
508fe4:	5d                   	pop    %ebp
508fe5:	5f                   	pop    %edi
508fe6:	5e                   	pop    %esi
508fe7:	5b                   	pop    %ebx
508fe8:	c3                   	ret
508fe9:	90                   	nop
508fea:	90                   	nop
508feb:	90                   	nop
508fec:	53                   	push   %ebx
508fed:	8b d8                	mov    %eax,%ebx
508fef:	ba e0 00 00 00       	mov    $0xe0,%edx
508ff4:	8b c3                	mov    %ebx,%eax
508ff6:	e8 49 fc ff ff       	call   0x508c44
508ffb:	ba 10 00 00 00       	mov    $0x10,%edx
509000:	8b c3                	mov    %ebx,%eax
509002:	e8 5d fc ff ff       	call   0x508c64
509007:	ba 4a 00 00 00       	mov    $0x4a,%edx
50900c:	8b c3                	mov    %ebx,%eax
50900e:	e8 01 fc ff ff       	call   0x508c14
509013:	ba 46 00 00 00       	mov    $0x46,%edx
509018:	8b c3                	mov    %ebx,%eax
50901a:	e8 f5 fb ff ff       	call   0x508c14
50901f:	ba 49 00 00 00       	mov    $0x49,%edx
509024:	8b c3                	mov    %ebx,%eax
509026:	e8 e9 fb ff ff       	call   0x508c14
50902b:	ba 46 00 00 00       	mov    $0x46,%edx