5b0ab9:	83 c4 18             	add    $0x18,%esp
5b0abc:	85 c0                	test   %eax,%eax
5b0abe:	0f 44 f9             	cmove  %ecx,%edi
5b0ac1:	33 c0                	xor    %eax,%eax
5b0ac3:	85 ff                	test   %edi,%edi
5b0ac5:	5f                   	pop    %edi
5b0ac6:	5e                   	pop    %esi
5b0ac7:	0f 9f c0             	setg   %al
5b0aca:	5b                   	pop    %ebx
5b0acb:	c3                   	ret
5b0acc:	cc                   	int3
5b0acd:	cc                   	int3
5b0ace:	cc                   	int3
5b0acf:	cc                   	int3
5b0ad0:	56                   	push   %esi
5b0ad1:	8b 74 24 08          	mov    0x8(%esp),%esi
5b0ad5:	b9 01 00 00 00       	mov    $0x1,%ecx
5b0ada:	f6 06 20             	testb  $0x20,(%esi)
5b0add:	75 07                	jne    0x5b0ae6
5b0adf:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
5b0ae4:	5e                   	pop    %esi
5b0ae5:	c3                   	ret
5b0ae6:	8b 46 0c             	mov    0xc(%esi),%eax
5b0ae9:	85 c0                	test   %eax,%eax
5b0aeb:	74 11                	je     0x5b0afe
5b0aed:	6a 01                	push   $0x1
5b0aef:	ff 74 24 10          	push   0x10(%esp)
5b0af3:	50                   	push   %eax
5b0af4:	e8 77 7c 00 00       	call   0x5b8770
5b0af9:	83 c4 0c             	add    $0xc,%esp
5b0afc:	8b c8                	mov    %eax,%ecx
5b0afe:	8b 46 10             	mov    0x10(%esi),%eax
5b0b01:	85 c0                	test   %eax,%eax
5b0b03:	74 11                	je     0x5b0b16
5b0b05:	6a 01                	push   $0x1
5b0b07:	ff 74 24 10          	push   0x10(%esp)
5b0b0b:	50                   	push   %eax
5b0b0c:	e8 7f 83 00 00       	call   0x5b8e90
5b0b11:	83 c4 0c             	add    $0xc,%esp
5b0b14:	8b c8                	mov    %eax,%ecx
5b0b16:	33 c0                	xor    %eax,%eax
5b0b18:	85 c9                	test   %ecx,%ecx
5b0b1a:	5e                   	pop    %esi
5b0b1b:	0f 9f c0             	setg   %al
5b0b1e:	c3                   	ret
5b0b1f:	cc                   	int3
5b0b20:	8b 44 24 04          	mov    0x4(%esp),%eax
5b0b24:	b9 01 00 00 00       	mov    $0x1,%ecx
5b0b29:	8b 40 0c             	mov    0xc(%eax),%eax
5b0b2c:	85 c0                	test   %eax,%eax
5b0b2e:	74 0f                	je     0x5b0b3f
5b0b30:	ff 74 24 08          	push   0x8(%esp)
5b0b34:	50                   	push   %eax
5b0b35:	e8 26 7f 00 00       	call   0x5b8a60
5b0b3a:	83 c4 08             	add    $0x8,%esp
5b0b3d:	8b c8                	mov    %eax,%ecx
5b0b3f:	33 c0                	xor    %eax,%eax
5b0b41:	85 c9                	test   %ecx,%ecx
5b0b43:	0f 9f c0             	setg   %al
5b0b46:	c3                   	ret
5b0b47:	cc                   	int3
5b0b48:	cc                   	int3
5b0b49:	cc                   	int3
5b0b4a:	cc                   	int3
5b0b4b:	cc                   	int3
5b0b4c:	cc                   	int3
5b0b4d:	cc                   	int3
5b0b4e:	cc                   	int3
5b0b4f:	cc                   	int3
5b0b50:	6a 00                	push   $0x0
5b0b52:	ff 74 24 0c          	push   0xc(%esp)
5b0b56:	6a 00                	push   $0x0
5b0b58:	ff 74 24 10          	push   0x10(%esp)
5b0b5c:	e8 1f 02 00 00       	call   0x5b0d80
5b0b61:	83 c4 10             	add    $0x10,%esp
5b0b64:	c3                   	ret
5b0b65:	cc                   	int3
5b0b66:	cc                   	int3
5b0b67:	cc                   	int3
5b0b68:	cc                   	int3
5b0b69:	cc                   	int3
5b0b6a:	cc                   	int3
5b0b6b:	cc                   	int3
5b0b6c:	cc                   	int3
5b0b6d:	cc                   	int3
5b0b6e:	cc                   	int3
5b0b6f:	cc                   	int3
5b0b70:	6a 00                	push   $0x0
5b0b72:	6a 00                	push   $0x0
5b0b74:	ff 74 24 10          	push   0x10(%esp)
5b0b78:	ff 74 24 10          	push   0x10(%esp)
5b0b7c:	e8 ff 01 00 00       	call   0x5b0d80
5b0b81:	83 c4 10             	add    $0x10,%esp
5b0b84:	c3                   	ret
5b0b85:	cc                   	int3
5b0b86:	cc                   	int3
5b0b87:	cc                   	int3
5b0b88:	cc                   	int3
5b0b89:	cc                   	int3
5b0b8a:	cc                   	int3
5b0b8b:	cc                   	int3
5b0b8c:	cc                   	int3
5b0b8d:	cc                   	int3
5b0b8e:	cc                   	int3
5b0b8f:	cc                   	int3
5b0b90:	6a 01                	push   $0x1
5b0b92:	ff 74 24 0c          	push   0xc(%esp)
5b0b96:	6a 00                	push   $0x0
5b0b98:	ff 74 24 10          	push   0x10(%esp)
5b0b9c:	e8 df 01 00 00       	call   0x5b0d80
5b0ba1:	83 c4 10             	add    $0x10,%esp
5b0ba4:	c3                   	ret
5b0ba5:	cc                   	int3
5b0ba6:	cc                   	int3
5b0ba7:	cc                   	int3
5b0ba8:	cc                   	int3
5b0ba9:	cc                   	int3
5b0baa:	cc                   	int3
5b0bab:	cc                   	int3
5b0bac:	cc                   	int3
5b0bad:	cc                   	int3
5b0bae:	cc                   	int3
5b0baf:	cc                   	int3
5b0bb0:	6a 01                	push   $0x1
5b0bb2:	6a 00                	push   $0x0
5b0bb4:	ff 74 24 10          	push   0x10(%esp)
5b0bb8:	ff 74 24 10          	push   0x10(%esp)
5b0bbc:	e8 bf 01 00 00       	call   0x5b0d80
5b0bc1:	83 c4 10             	add    $0x10,%esp
5b0bc4:	c3                   	ret
5b0bc5:	cc                   	int3
5b0bc6:	cc                   	int3
5b0bc7:	cc                   	int3
5b0bc8:	cc                   	int3
5b0bc9:	cc                   	int3
5b0bca:	cc                   	int3
5b0bcb:	cc                   	int3
5b0bcc:	cc                   	int3
5b0bcd:	cc                   	int3
5b0bce:	cc                   	int3
5b0bcf:	cc                   	int3
5b0bd0:	56                   	push   %esi
5b0bd1:	8b 74 24 08          	mov    0x8(%esp),%esi
5b0bd5:	8b 46 54             	mov    0x54(%esi),%eax
5b0bd8:	85 c0                	test   %eax,%eax
5b0bda:	75 08                	jne    0x5b0be4
5b0bdc:	e8 3f 44 f3 ff       	call   0x4e5020
5b0be1:	89 46 54             	mov    %eax,0x54(%esi)
5b0be4:	5e                   	pop    %esi
5b0be5:	85 c0                	test   %eax,%eax
5b0be7:	75 01                	jne    0x5b0bea
5b0be9:	c3                   	ret
5b0bea:	89 44 24 04          	mov    %eax,0x4(%esp)
5b0bee:	e9 dd a0 fd ff       	jmp    0x58acd0
5b0bf3:	cc                   	int3
5b0bf4:	cc                   	int3
5b0bf5:	cc                   	int3
5b0bf6:	cc                   	int3
5b0bf7:	cc                   	int3
5b0bf8:	cc                   	int3
5b0bf9:	cc                   	int3
5b0bfa:	cc                   	int3
5b0bfb:	cc                   	int3
5b0bfc:	cc                   	int3
5b0bfd:	cc                   	int3
5b0bfe:	cc                   	int3
5b0bff:	cc                   	int3
5b0c00:	56                   	push   %esi
5b0c01:	8b 74 24 08          	mov    0x8(%esp),%esi
5b0c05:	8b 46 54             	mov    0x54(%esi),%eax
5b0c08:	85 c0                	test   %eax,%eax
5b0c0a:	75 08                	jne    0x5b0c14
5b0c0c:	e8 0f 44 f3 ff       	call   0x4e5020
5b0c11:	89 46 54             	mov    %eax,0x54(%esi)
5b0c14:	5e                   	pop    %esi
5b0c15:	85 c0                	test   %eax,%eax
5b0c17:	75 01                	jne    0x5b0c1a
5b0c19:	c3                   	ret
5b0c1a:	89 44 24 04          	mov    %eax,0x4(%esp)
5b0c1e:	e9 0d 9e fd ff       	jmp    0x58aa30
5b0c23:	cc                   	int3
5b0c24:	cc                   	int3
5b0c25:	cc                   	int3
5b0c26:	cc                   	int3
5b0c27:	cc                   	int3
5b0c28:	cc                   	int3
5b0c29:	cc                   	int3
5b0c2a:	cc                   	int3
5b0c2b:	cc                   	int3
5b0c2c:	cc                   	int3
5b0c2d:	cc                   	int3
5b0c2e:	cc                   	int3
5b0c2f:	cc                   	int3
5b0c30:	55                   	push   %ebp
5b0c31:	56                   	push   %esi
5b0c32:	57                   	push   %edi
5b0c33:	8b 7c 24 10          	mov    0x10(%esp),%edi
5b0c37:	33 f6                	xor    %esi,%esi
5b0c39:	33 ed                	xor    %ebp,%ebp
5b0c3b:	39 77 0c             	cmp    %esi,0xc(%edi)
5b0c3e:	75 0c                	jne    0x5b0c4c
5b0c40:	39 77 10             	cmp    %esi,0x10(%edi)
5b0c43:	75 07                	jne    0x5b0c4c
5b0c45:	5f                   	pop    %edi
5b0c46:	5e                   	pop    %esi
5b0c47:	8d 45 01             	lea    0x1(%ebp),%eax
5b0c4a:	5d                   	pop    %ebp
5b0c4b:	c3                   	ret
5b0c4c:	53                   	push   %ebx
5b0c4d:	e8 be 71 f6 ff       	call   0x517e10
5b0c52:	50                   	push   %eax
5b0c53:	e8 d8 84 f4 ff       	call   0x4f9130
5b0c58:	8b d8                	mov    %eax,%ebx
5b0c5a:	83 c4 04             	add    $0x4,%esp
5b0c5d:	85 db                	test   %ebx,%ebx
5b0c5f:	74 58                	je     0x5b0cb9
5b0c61:	ff 74 24 18          	push   0x18(%esp)
5b0c65:	6a 03                	push   $0x3
5b0c67:	6a 6c                	push   $0x6c
5b0c69:	53                   	push   %ebx
5b0c6a:	e8 c1 7e f4 ff       	call   0x4f8b30
5b0c6f:	83 c4 10             	add    $0x10,%esp
5b0c72:	85 c0                	test   %eax,%eax
5b0c74:	7e 43                	jle    0x5b0cb9
5b0c76:	6a 00                	push   $0x0
5b0c78:	6a 00                	push   $0x0
5b0c7a:	6a 00                	push   $0x0
5b0c7c:	53                   	push   %ebx
5b0c7d:	e8 fe 75 f6 ff       	call   0x518280
5b0c82:	8b f0                	mov    %eax,%esi
5b0c84:	83 c4 10             	add    $0x10,%esp
5b0c87:	85 f6                	test   %esi,%esi
5b0c89:	74 2e                	je     0x5b0cb9
5b0c8b:	8b 47 0c             	mov    0xc(%edi),%eax
5b0c8e:	85 c0                	test   %eax,%eax
5b0c90:	74 10                	je     0x5b0ca2
5b0c92:	56                   	push   %esi
5b0c93:	6a 00                	push   $0x0
5b0c95:	6a 03                	push   $0x3
5b0c97:	50                   	push   %eax
5b0c98:	e8 83 7b fd ff       	call   0x588820
5b0c9d:	83 c4 10             	add    $0x10,%esp
5b0ca0:	8b e8                	mov    %eax,%ebp
5b0ca2:	8b 47 10             	mov    0x10(%edi),%eax
5b0ca5:	85 c0                	test   %eax,%eax
5b0ca7:	74 10                	je     0x5b0cb9
5b0ca9:	56                   	push   %esi
5b0caa:	6a 00                	push   $0x0
5b0cac:	6a 03                	push   $0x3
5b0cae:	50                   	push   %eax
5b0caf:	e8 2c 82 fd ff       	call   0x588ee0
5b0cb4:	83 c4 10             	add    $0x10,%esp
5b0cb7:	8b e8                	mov    %eax,%ebp
5b0cb9:	56                   	push   %esi
5b0cba:	e8 c1 bc f5 ff       	call   0x50c980
5b0cbf:	53                   	push   %ebx
5b0cc0:	e8 8b 7f f4 ff       	call   0x4f8c50
5b0cc5:	83 c4 08             	add    $0x8,%esp
5b0cc8:	33 c0                	xor    %eax,%eax
5b0cca:	85 ed                	test   %ebp,%ebp
5b0ccc:	0f 9f c0             	setg   %al
5b0ccf:	5b                   	pop    %ebx
5b0cd0:	5f                   	pop    %edi
5b0cd1:	5e                   	pop    %esi
5b0cd2:	5d                   	pop    %ebp
5b0cd3:	c3                   	ret
5b0cd4:	cc                   	int3
5b0cd5:	cc                   	int3
5b0cd6:	cc                   	int3
5b0cd7:	cc                   	int3
5b0cd8:	cc                   	int3
5b0cd9:	cc                   	int3
5b0cda:	cc                   	int3
5b0cdb:	cc                   	int3
5b0cdc:	cc                   	int3
5b0cdd:	cc                   	int3
5b0cde:	cc                   	int3
5b0cdf:	cc                   	int3
5b0ce0:	56                   	push   %esi
5b0ce1:	57                   	push   %edi
5b0ce2:	ff 74 24 10          	push   0x10(%esp)
5b0ce6:	33 f6                	xor    %esi,%esi
5b0ce8:	e8 1b 4b 03 00       	call   0x5e5808
5b0ced:	8b f8                	mov    %eax,%edi
5b0cef:	83 c4 04             	add    $0x4,%esp
5b0cf2:	85 ff                	test   %edi,%edi
5b0cf4:	78 2d                	js     0x5b0d23
5b0cf6:	53                   	push   %ebx
5b0cf7:	8b 5c 24 10          	mov    0x10(%esp),%ebx
5b0cfb:	8b 43 0c             	mov    0xc(%ebx),%eax
5b0cfe:	85 c0                	test   %eax,%eax
5b0d00:	74 0c                	je     0x5b0d0e
5b0d02:	57                   	push   %edi
5b0d03:	50                   	push   %eax
5b0d04:	e8 87 7e fd ff       	call   0x588b90
5b0d09:	83 c4 08             	add    $0x8,%esp
5b0d0c:	8b f0                	mov    %eax,%esi
5b0d0e:	8b 43 10             	mov    0x10(%ebx),%eax
5b0d11:	5b                   	pop    %ebx
5b0d12:	85 c0                	test   %eax,%eax
5b0d14:	74 0d                	je     0x5b0d23
5b0d16:	57                   	push   %edi
5b0d17:	50                   	push   %eax
5b0d18:	e8 33 8b fd ff       	call   0x589850
5b0d1d:	83 c4 08             	add    $0x8,%esp
5b0d20:	5f                   	pop    %edi
5b0d21:	5e                   	pop    %esi
5b0d22:	c3                   	ret
5b0d23:	5f                   	pop    %edi
5b0d24:	8b c6                	mov    %esi,%eax
5b0d26:	5e                   	pop    %esi
5b0d27:	c3                   	ret
5b0d28:	cc                   	int3
5b0d29:	cc                   	int3
5b0d2a:	cc                   	int3
5b0d2b:	cc                   	int3
5b0d2c:	cc                   	int3
5b0d2d:	cc                   	int3
5b0d2e:	cc                   	int3
5b0d2f:	cc                   	int3
5b0d30:	56                   	push   %esi
5b0d31:	57                   	push   %edi
5b0d32:	ff 74 24 10          	push   0x10(%esp)
5b0d36:	33 f6                	xor    %esi,%esi
5b0d38:	e8 cb 4a 03 00       	call   0x5e5808
5b0d3d:	8b f8                	mov    %eax,%edi
5b0d3f:	83 c4 04             	add    $0x4,%esp
5b0d42:	85 ff                	test   %edi,%edi
5b0d44:	78 2d                	js     0x5b0d73
5b0d46:	53                   	push   %ebx
5b0d47:	8b 5c 24 10          	mov    0x10(%esp),%ebx
5b0d4b:	8b 43 0c             	mov    0xc(%ebx),%eax
5b0d4e:	85 c0                	test   %eax,%eax
5b0d50:	74 0c                	je     0x5b0d5e
5b0d52:	57                   	push   %edi
5b0d53:	50                   	push   %eax
5b0d54:	e8 17 7f fd ff       	call   0x588c70
5b0d59:	83 c4 08             	add    $0x8,%esp
5b0d5c:	8b f0                	mov    %eax,%esi
5b0d5e:	8b 43 10             	mov    0x10(%ebx),%eax
5b0d61:	5b                   	pop    %ebx
5b0d62:	85 c0                	test   %eax,%eax
5b0d64:	74 0d                	je     0x5b0d73
5b0d66:	57                   	push   %edi
5b0d67:	50                   	push   %eax
5b0d68:	e8 d3 8b fd ff       	call   0x589940
5b0d6d:	83 c4 08             	add    $0x8,%esp
5b0d70:	5f                   	pop    %edi
5b0d71:	5e                   	pop    %esi
5b0d72:	c3                   	ret