582b69:	51                   	push   %ecx
582b6a:	e8 d3 e4 05 00       	call   0x5e1042
582b6f:	83 c4 04             	add    $0x4,%esp
582b72:	85 c0                	test   %eax,%eax
582b74:	0f 84 0c 01 00 00    	je     0x582c86
582b7a:	8d 50 23             	lea    0x23(%eax),%edx
582b7d:	83 e2 e0             	and    $0xffffffe0,%edx
582b80:	89 42 fc             	mov    %eax,-0x4(%edx)
582b83:	eb 13                	jmp    0x582b98
582b85:	85 c0                	test   %eax,%eax
582b87:	74 0d                	je     0x582b96
582b89:	50                   	push   %eax
582b8a:	e8 b3 e4 05 00       	call   0x5e1042
582b8f:	83 c4 04             	add    $0x4,%esp
582b92:	8b d0                	mov    %eax,%edx
582b94:	eb 02                	jmp    0x582b98
582b96:	33 d2                	xor    %edx,%edx
582b98:	8b 46 04             	mov    0x4(%esi),%eax
582b9b:	8b 76 08             	mov    0x8(%esi),%esi
582b9e:	c1 e7 02             	shl    $0x2,%edi
582ba1:	c1 e6 02             	shl    $0x2,%esi
582ba4:	89 7d f8             	mov    %edi,-0x8(%ebp)
582ba7:	89 55 fc             	mov    %edx,-0x4(%ebp)
582baa:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
582bad:	03 fa                	add    %edx,%edi
582baf:	2b f1                	sub    %ecx,%esi
582bb1:	03 f0                	add    %eax,%esi
582bb3:	56                   	push   %esi
582bb4:	51                   	push   %ecx
582bb5:	57                   	push   %edi
582bb6:	e8 c5 08 06 00       	call   0x5e3480
582bbb:	8d 04 3e             	lea    (%esi,%edi,1),%eax
582bbe:	83 c4 0c             	add    $0xc,%esp
582bc1:	8b 75 f4             	mov    -0xc(%ebp),%esi
582bc4:	8b 7d f0             	mov    -0x10(%ebp),%edi
582bc7:	89 45 ec             	mov    %eax,-0x14(%ebp)
582bca:	8b 56 04             	mov    0x4(%esi),%edx
582bcd:	3b fb                	cmp    %ebx,%edi
582bcf:	77 35                	ja     0x582c06
582bd1:	8d 0c bd 00 00 00 00 	lea    0x0(,%edi,4),%ecx
582bd8:	51                   	push   %ecx
582bd9:	52                   	push   %edx
582bda:	50                   	push   %eax
582bdb:	e8 a0 08 06 00       	call   0x5e3480
582be0:	8b c3                	mov    %ebx,%eax
582be2:	2b c7                	sub    %edi,%eax
582be4:	8b 7d f8             	mov    -0x8(%ebp),%edi
582be7:	c1 e0 02             	shl    $0x2,%eax
582bea:	50                   	push   %eax
582beb:	8b 45 ec             	mov    -0x14(%ebp),%eax
582bee:	03 c7                	add    %edi,%eax
582bf0:	6a 00                	push   $0x0
582bf2:	50                   	push   %eax
582bf3:	e8 08 0e 06 00       	call   0x5e3a00
582bf8:	57                   	push   %edi
582bf9:	8b 7d fc             	mov    -0x4(%ebp),%edi
582bfc:	6a 00                	push   $0x0
582bfe:	57                   	push   %edi
582bff:	e8 fc 0d 06 00       	call   0x5e3a00
582c04:	eb 36                	jmp    0x582c3c
582c06:	8d 3c 9d 00 00 00 00 	lea    0x0(,%ebx,4),%edi
582c0d:	57                   	push   %edi
582c0e:	52                   	push   %edx
582c0f:	50                   	push   %eax
582c10:	e8 6b 08 06 00       	call   0x5e3480
582c15:	8b 76 04             	mov    0x4(%esi),%esi
582c18:	8d 04 37             	lea    (%edi,%esi,1),%eax
582c1b:	2b f0                	sub    %eax,%esi
582c1d:	03 75 f8             	add    -0x8(%ebp),%esi
582c20:	56                   	push   %esi
582c21:	50                   	push   %eax
582c22:	ff 75 fc             	push   -0x4(%ebp)
582c25:	e8 56 08 06 00       	call   0x5e3480
582c2a:	57                   	push   %edi
582c2b:	8b 7d fc             	mov    -0x4(%ebp),%edi
582c2e:	6a 00                	push   $0x0
582c30:	8d 04 3e             	lea    (%esi,%edi,1),%eax
582c33:	50                   	push   %eax
582c34:	e8 c7 0d 06 00       	call   0x5e3a00
582c39:	8b 75 f4             	mov    -0xc(%ebp),%esi
582c3c:	8b 46 04             	mov    0x4(%esi),%eax
582c3f:	83 c4 24             	add    $0x24,%esp
582c42:	85 c0                	test   %eax,%eax
582c44:	74 2a                	je     0x582c70
582c46:	8b 4e 08             	mov    0x8(%esi),%ecx
582c49:	c1 e1 02             	shl    $0x2,%ecx
582c4c:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
582c52:	72 12                	jb     0x582c66
582c54:	8b 50 fc             	mov    -0x4(%eax),%edx
582c57:	83 c1 23             	add    $0x23,%ecx
582c5a:	2b c2                	sub    %edx,%eax
582c5c:	83 c0 fc             	add    $0xfffffffc,%eax
582c5f:	83 f8 1f             	cmp    $0x1f,%eax
582c62:	77 22                	ja     0x582c86
582c64:	8b c2                	mov    %edx,%eax
582c66:	51                   	push   %ecx
582c67:	50                   	push   %eax
582c68:	e8 05 e4 05 00       	call   0x5e1072
582c6d:	83 c4 08             	add    $0x8,%esp
582c70:	01 5e 08             	add    %ebx,0x8(%esi)
582c73:	89 7e 04             	mov    %edi,0x4(%esi)
582c76:	5f                   	pop    %edi
582c77:	5e                   	pop    %esi
582c78:	5b                   	pop    %ebx
582c79:	8b e5                	mov    %ebp,%esp
582c7b:	5d                   	pop    %ebp
582c7c:	c2 04 00             	ret    $0x4
582c7f:	8b ce                	mov    %esi,%ecx
582c81:	e8 da 93 ed ff       	call   0x45c060
582c86:	e8 a4 a2 06 00       	call   0x5ecf2f
582c8b:	e8 50 22 ec ff       	call   0x444ee0
582c90:	cc                   	int3
582c91:	cc                   	int3
582c92:	cc                   	int3
582c93:	cc                   	int3
582c94:	cc                   	int3
582c95:	cc                   	int3
582c96:	cc                   	int3
582c97:	cc                   	int3
582c98:	cc                   	int3
582c99:	cc                   	int3
582c9a:	cc                   	int3
582c9b:	cc                   	int3
582c9c:	cc                   	int3
582c9d:	cc                   	int3
582c9e:	cc                   	int3
582c9f:	cc                   	int3
582ca0:	55                   	push   %ebp
582ca1:	8b ec                	mov    %esp,%ebp
582ca3:	83 ec 10             	sub    $0x10,%esp
582ca6:	53                   	push   %ebx
582ca7:	56                   	push   %esi
582ca8:	8b f1                	mov    %ecx,%esi
582caa:	b8 01 00 00 00       	mov    $0x1,%eax
582caf:	57                   	push   %edi
582cb0:	8b 7d 08             	mov    0x8(%ebp),%edi
582cb3:	89 75 f4             	mov    %esi,-0xc(%ebp)
582cb6:	8b 56 08             	mov    0x8(%esi),%edx
582cb9:	85 d2                	test   %edx,%edx
582cbb:	0f 45 c2             	cmovne %edx,%eax
582cbe:	66 90                	xchg   %ax,%ax
582cc0:	8b d8                	mov    %eax,%ebx
582cc2:	2b da                	sub    %edx,%ebx
582cc4:	3b df                	cmp    %edi,%ebx
582cc6:	72 05                	jb     0x582ccd
582cc8:	83 f8 08             	cmp    $0x8,%eax
582ccb:	73 13                	jae    0x582ce0
582ccd:	b9 66 66 66 06       	mov    $0x6666666,%ecx
582cd2:	2b c8                	sub    %eax,%ecx
582cd4:	3b c8                	cmp    %eax,%ecx
582cd6:	0f 82 44 01 00 00    	jb     0x582e20
582cdc:	03 c0                	add    %eax,%eax
582cde:	eb e0                	jmp    0x582cc0
582ce0:	8b 7e 0c             	mov    0xc(%esi),%edi
582ce3:	89 7d f8             	mov    %edi,-0x8(%ebp)
582ce6:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
582ceb:	0f 87 3b 01 00 00    	ja     0x582e2c
582cf1:	c1 e0 02             	shl    $0x2,%eax
582cf4:	3d 00 10 00 00       	cmp    $0x1000,%eax
582cf9:	72 27                	jb     0x582d22
582cfb:	8d 48 23             	lea    0x23(%eax),%ecx
582cfe:	3b c8                	cmp    %eax,%ecx
582d00:	0f 86 26 01 00 00    	jbe    0x582e2c
582d06:	51                   	push   %ecx
582d07:	e8 36 e3 05 00       	call   0x5e1042
582d0c:	83 c4 04             	add    $0x4,%esp
582d0f:	85 c0                	test   %eax,%eax
582d11:	0f 84 10 01 00 00    	je     0x582e27
582d17:	8d 50 23             	lea    0x23(%eax),%edx
582d1a:	83 e2 e0             	and    $0xffffffe0,%edx
582d1d:	89 42 fc             	mov    %eax,-0x4(%edx)
582d20:	eb 13                	jmp    0x582d35
582d22:	85 c0                	test   %eax,%eax
582d24:	74 0d                	je     0x582d33
582d26:	50                   	push   %eax
582d27:	e8 16 e3 05 00       	call   0x5e1042
582d2c:	83 c4 04             	add    $0x4,%esp
582d2f:	8b d0                	mov    %eax,%edx
582d31:	eb 02                	jmp    0x582d35
582d33:	33 d2                	xor    %edx,%edx
582d35:	8b 46 04             	mov    0x4(%esi),%eax
582d38:	8b 76 08             	mov    0x8(%esi),%esi
582d3b:	c1 e7 02             	shl    $0x2,%edi
582d3e:	c1 e6 02             	shl    $0x2,%esi
582d41:	89 55 fc             	mov    %edx,-0x4(%ebp)
582d44:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
582d47:	03 fa                	add    %edx,%edi
582d49:	2b f1                	sub    %ecx,%esi
582d4b:	03 f0                	add    %eax,%esi
582d4d:	56                   	push   %esi
582d4e:	51                   	push   %ecx
582d4f:	57                   	push   %edi
582d50:	e8 2b 07 06 00       	call   0x5e3480
582d55:	8b 4d f8             	mov    -0x8(%ebp),%ecx
582d58:	8d 04 3e             	lea    (%esi,%edi,1),%eax
582d5b:	8b 75 f4             	mov    -0xc(%ebp),%esi
582d5e:	83 c4 0c             	add    $0xc,%esp
582d61:	89 45 f0             	mov    %eax,-0x10(%ebp)
582d64:	8b 56 04             	mov    0x4(%esi),%edx
582d67:	3b cb                	cmp    %ebx,%ecx
582d69:	77 33                	ja     0x582d9e
582d6b:	8d 3c 8d 00 00 00 00 	lea    0x0(,%ecx,4),%edi
582d72:	57                   	push   %edi
582d73:	52                   	push   %edx
582d74:	50                   	push   %eax
582d75:	e8 06 07 06 00       	call   0x5e3480
582d7a:	8b c3                	mov    %ebx,%eax
582d7c:	2b 45 f8             	sub    -0x8(%ebp),%eax
582d7f:	c1 e0 02             	shl    $0x2,%eax
582d82:	50                   	push   %eax
582d83:	8b 45 f0             	mov    -0x10(%ebp),%eax
582d86:	03 c7                	add    %edi,%eax
582d88:	6a 00                	push   $0x0
582d8a:	50                   	push   %eax
582d8b:	e8 70 0c 06 00       	call   0x5e3a00
582d90:	57                   	push   %edi
582d91:	8b 7d fc             	mov    -0x4(%ebp),%edi
582d94:	6a 00                	push   $0x0
582d96:	57                   	push   %edi
582d97:	e8 64 0c 06 00       	call   0x5e3a00
582d9c:	eb 3f                	jmp    0x582ddd
582d9e:	8d 3c 9d 00 00 00 00 	lea    0x0(,%ebx,4),%edi
582da5:	57                   	push   %edi
582da6:	52                   	push   %edx
582da7:	50                   	push   %eax
582da8:	e8 d3 06 06 00       	call   0x5e3480
582dad:	8b 76 04             	mov    0x4(%esi),%esi
582db0:	8b 55 f8             	mov    -0x8(%ebp),%edx
582db3:	8d 04 37             	lea    (%edi,%esi,1),%eax
582db6:	2b f0                	sub    %eax,%esi
582db8:	8d 0c 95 00 00 00 00 	lea    0x0(,%edx,4),%ecx
582dbf:	03 f1                	add    %ecx,%esi
582dc1:	56                   	push   %esi
582dc2:	50                   	push   %eax
582dc3:	ff 75 fc             	push   -0x4(%ebp)
582dc6:	e8 b5 06 06 00       	call   0x5e3480
582dcb:	57                   	push   %edi
582dcc:	8b 7d fc             	mov    -0x4(%ebp),%edi
582dcf:	6a 00                	push   $0x0
582dd1:	8d 04 3e             	lea    (%esi,%edi,1),%eax
582dd4:	50                   	push   %eax
582dd5:	e8 26 0c 06 00       	call   0x5e3a00
582dda:	8b 75 f4             	mov    -0xc(%ebp),%esi
582ddd:	8b 46 04             	mov    0x4(%esi),%eax
582de0:	83 c4 24             	add    $0x24,%esp
582de3:	85 c0                	test   %eax,%eax
582de5:	74 2a                	je     0x582e11
582de7:	8b 4e 08             	mov    0x8(%esi),%ecx
582dea:	c1 e1 02             	shl    $0x2,%ecx
582ded:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
582df3:	72 12                	jb     0x582e07
582df5:	8b 50 fc             	mov    -0x4(%eax),%edx
582df8:	83 c1 23             	add    $0x23,%ecx
582dfb:	2b c2                	sub    %edx,%eax
582dfd:	83 c0 fc             	add    $0xfffffffc,%eax
582e00:	83 f8 1f             	cmp    $0x1f,%eax
582e03:	77 22                	ja     0x582e27
582e05:	8b c2                	mov    %edx,%eax
582e07:	51                   	push   %ecx
582e08:	50                   	push   %eax
582e09:	e8 64 e2 05 00       	call   0x5e1072
582e0e:	83 c4 08             	add    $0x8,%esp
582e11:	01 5e 08             	add    %ebx,0x8(%esi)
582e14:	89 7e 04             	mov    %edi,0x4(%esi)
582e17:	5f                   	pop    %edi
582e18:	5e                   	pop    %esi
582e19:	5b                   	pop    %ebx
582e1a:	8b e5                	mov    %ebp,%esp
582e1c:	5d                   	pop    %ebp
582e1d:	c2 04 00             	ret    $0x4
582e20:	8b ce                	mov    %esi,%ecx
582e22:	e8 39 92 ed ff       	call   0x45c060
582e27:	e8 03 a1 06 00       	call   0x5ecf2f
582e2c:	e8 af 20 ec ff       	call   0x444ee0
582e31:	cc                   	int3
582e32:	cc                   	int3
582e33:	cc                   	int3
582e34:	cc                   	int3
582e35:	cc                   	int3
582e36:	cc                   	int3
582e37:	cc                   	int3
582e38:	cc                   	int3
582e39:	cc                   	int3
582e3a:	cc                   	int3
582e3b:	cc                   	int3
582e3c:	cc                   	int3
582e3d:	cc                   	int3
582e3e:	cc                   	int3
582e3f:	cc                   	int3
582e40:	53                   	push   %ebx
582e41:	57                   	push   %edi
582e42:	8b f9                	mov    %ecx,%edi
582e44:	8b 1f                	mov    (%edi),%ebx
582e46:	85 db                	test   %ebx,%ebx
582e48:	74 38                	je     0x582e82
582e4a:	8b 43 1c             	mov    0x1c(%ebx),%eax
582e4d:	8b 08                	mov    (%eax),%ecx
582e4f:	85 c9                	test   %ecx,%ecx
582e51:	74 0d                	je     0x582e60
582e53:	8b 43 2c             	mov    0x2c(%ebx),%eax
582e56:	83 38 00             	cmpl   $0x0,(%eax)
582e59:	7e 05                	jle    0x582e60
582e5b:	0f b6 01             	movzbl (%ecx),%eax
582e5e:	eb 13                	jmp    0x582e73
582e60:	8b 03                	mov    (%ebx),%eax
582e62:	56                   	push   %esi
582e63:	8b 70 18             	mov    0x18(%eax),%esi
582e66:	8b ce                	mov    %esi,%ecx
582e68:	ff 15 e0 24 68 00    	call   *0x6824e0
582e6e:	8b cb                	mov    %ebx,%ecx
582e70:	ff d6                	call   *%esi
582e72:	5e                   	pop    %esi
582e73:	83 f8 ff             	cmp    $0xffffffff,%eax
582e76:	74 0a                	je     0x582e82
582e78:	88 47 05             	mov    %al,0x5(%edi)
582e7b:	c6 47 04 01          	movb   $0x1,0x4(%edi)
582e7f:	5f                   	pop    %edi
582e80:	5b                   	pop    %ebx
582e81:	c3                   	ret
582e82:	8a 47 05             	mov    0x5(%edi),%al
582e85:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
582e8b:	c6 47 04 01          	movb   $0x1,0x4(%edi)
582e8f:	5f                   	pop    %edi
582e90:	5b                   	pop    %ebx
582e91:	c3                   	ret
582e92:	cc                   	int3
582e93:	cc                   	int3
582e94:	cc                   	int3
582e95:	cc                   	int3
582e96:	cc                   	int3
582e97:	cc                   	int3
582e98:	cc                   	int3
582e99:	cc                   	int3
582e9a:	cc                   	int3
582e9b:	cc                   	int3
582e9c:	cc                   	int3
582e9d:	cc                   	int3
582e9e:	cc                   	int3
582e9f:	cc                   	int3
582ea0:	56                   	push   %esi
582ea1:	8b f1                	mov    %ecx,%esi
582ea3:	57                   	push   %edi
582ea4:	8b 4e 10             	mov    0x10(%esi),%ecx
582ea7:	85 c9                	test   %ecx,%ecx
582ea9:	74 73                	je     0x582f1e
582eab:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
582eb0:	8b 46 0c             	mov    0xc(%esi),%eax
582eb3:	48                   	dec    %eax
582eb4:	03 c8                	add    %eax,%ecx
582eb6:	8b 46 08             	mov    0x8(%esi),%eax