5a4ba6:	8b 7c 24 14          	mov    0x14(%esp),%edi
5a4baa:	85 ff                	test   %edi,%edi
5a4bac:	0f 84 bb 00 00 00    	je     0x5a4c6d
5a4bb2:	53                   	push   %ebx
5a4bb3:	8b 5c 24 10          	mov    0x10(%esp),%ebx
5a4bb7:	8b 43 10             	mov    0x10(%ebx),%eax
5a4bba:	8d 0c f8             	lea    (%eax,%edi,8),%ecx
5a4bbd:	3b c8                	cmp    %eax,%ecx
5a4bbf:	73 03                	jae    0x5a4bc4
5a4bc1:	ff 43 14             	incl   0x14(%ebx)
5a4bc4:	8b c7                	mov    %edi,%eax
5a4bc6:	89 4b 10             	mov    %ecx,0x10(%ebx)
5a4bc9:	8b 4b 58             	mov    0x58(%ebx),%ecx
5a4bcc:	c1 e8 1d             	shr    $0x1d,%eax
5a4bcf:	01 43 14             	add    %eax,0x14(%ebx)
5a4bd2:	56                   	push   %esi
5a4bd3:	85 c9                	test   %ecx,%ecx
5a4bd5:	74 64                	je     0x5a4c3b
5a4bd7:	8d 53 18             	lea    0x18(%ebx),%edx
5a4bda:	83 ff 40             	cmp    $0x40,%edi
5a4bdd:	73 23                	jae    0x5a4c02
5a4bdf:	8d 04 39             	lea    (%ecx,%edi,1),%eax
5a4be2:	83 f8 40             	cmp    $0x40,%eax
5a4be5:	73 1b                	jae    0x5a4c02
5a4be7:	57                   	push   %edi
5a4be8:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
5a4beb:	55                   	push   %ebp
5a4bec:	50                   	push   %eax
5a4bed:	e8 0e e3 03 00       	call   0x5e2f00
5a4bf2:	83 c4 0c             	add    $0xc,%esp
5a4bf5:	b8 01 00 00 00       	mov    $0x1,%eax
5a4bfa:	01 7b 58             	add    %edi,0x58(%ebx)
5a4bfd:	5e                   	pop    %esi
5a4bfe:	5b                   	pop    %ebx
5a4bff:	5f                   	pop    %edi
5a4c00:	5d                   	pop    %ebp
5a4c01:	c3                   	ret
5a4c02:	be 40 00 00 00       	mov    $0x40,%esi
5a4c07:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
5a4c0a:	2b f1                	sub    %ecx,%esi
5a4c0c:	56                   	push   %esi
5a4c0d:	55                   	push   %ebp
5a4c0e:	50                   	push   %eax
5a4c0f:	e8 ec e2 03 00       	call   0x5e2f00
5a4c14:	6a 01                	push   $0x1
5a4c16:	8d 43 18             	lea    0x18(%ebx),%eax
5a4c19:	50                   	push   %eax
5a4c1a:	53                   	push   %ebx
5a4c1b:	e8 60 00 00 00       	call   0x5a4c80
5a4c20:	6a 40                	push   $0x40
5a4c22:	8d 43 18             	lea    0x18(%ebx),%eax
5a4c25:	c7 43 58 00 00 00 00 	movl   $0x0,0x58(%ebx)
5a4c2c:	6a 00                	push   $0x0
5a4c2e:	50                   	push   %eax
5a4c2f:	03 ee                	add    %esi,%ebp
5a4c31:	2b fe                	sub    %esi,%edi
5a4c33:	e8 c8 ed 03 00       	call   0x5e3a00
5a4c38:	83 c4 24             	add    $0x24,%esp
5a4c3b:	8b f7                	mov    %edi,%esi
5a4c3d:	c1 ee 06             	shr    $0x6,%esi
5a4c40:	85 f6                	test   %esi,%esi
5a4c42:	74 12                	je     0x5a4c56
5a4c44:	56                   	push   %esi
5a4c45:	55                   	push   %ebp
5a4c46:	53                   	push   %ebx
5a4c47:	e8 34 00 00 00       	call   0x5a4c80
5a4c4c:	c1 e6 06             	shl    $0x6,%esi
5a4c4f:	83 c4 0c             	add    $0xc,%esp
5a4c52:	03 ee                	add    %esi,%ebp
5a4c54:	2b fe                	sub    %esi,%edi
5a4c56:	85 ff                	test   %edi,%edi
5a4c58:	74 11                	je     0x5a4c6b
5a4c5a:	57                   	push   %edi
5a4c5b:	8d 43 18             	lea    0x18(%ebx),%eax
5a4c5e:	89 7b 58             	mov    %edi,0x58(%ebx)
5a4c61:	55                   	push   %ebp
5a4c62:	50                   	push   %eax
5a4c63:	e8 98 e2 03 00       	call   0x5e2f00
5a4c68:	83 c4 0c             	add    $0xc,%esp
5a4c6b:	5e                   	pop    %esi
5a4c6c:	5b                   	pop    %ebx
5a4c6d:	5f                   	pop    %edi
5a4c6e:	b8 01 00 00 00       	mov    $0x1,%eax
5a4c73:	5d                   	pop    %ebp
5a4c74:	c3                   	ret
5a4c75:	cc                   	int3
5a4c76:	cc                   	int3
5a4c77:	cc                   	int3
5a4c78:	cc                   	int3
5a4c79:	cc                   	int3
5a4c7a:	cc                   	int3
5a4c7b:	cc                   	int3
5a4c7c:	cc                   	int3
5a4c7d:	cc                   	int3
5a4c7e:	cc                   	int3
5a4c7f:	cc                   	int3
5a4c80:	b8 48 00 00 00       	mov    $0x48,%eax
5a4c85:	e8 66 c8 03 00       	call   0x5e14f0
5a4c8a:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
5a4c8e:	8b 44 24 50          	mov    0x50(%esp),%eax
5a4c92:	55                   	push   %ebp
5a4c93:	56                   	push   %esi
5a4c94:	8b 11                	mov    (%ecx),%edx
5a4c96:	8b 71 08             	mov    0x8(%ecx),%esi
5a4c99:	8b 69 0c             	mov    0xc(%ecx),%ebp
5a4c9c:	57                   	push   %edi
5a4c9d:	8b 79 04             	mov    0x4(%ecx),%edi
5a4ca0:	8b 4c 24 60          	mov    0x60(%esp),%ecx
5a4ca4:	89 54 24 44          	mov    %edx,0x44(%esp)
5a4ca8:	89 7c 24 5c          	mov    %edi,0x5c(%esp)
5a4cac:	89 74 24 38          	mov    %esi,0x38(%esp)
5a4cb0:	89 6c 24 34          	mov    %ebp,0x34(%esp)
5a4cb4:	85 c9                	test   %ecx,%ecx
5a4cb6:	0f 84 d3 08 00 00    	je     0x5a558f
5a4cbc:	89 7c 24 48          	mov    %edi,0x48(%esp)
5a4cc0:	89 74 24 4c          	mov    %esi,0x4c(%esp)
5a4cc4:	89 6c 24 50          	mov    %ebp,0x50(%esp)
5a4cc8:	53                   	push   %ebx
5a4cc9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
5a4cd0:	49                   	dec    %ecx
5a4cd1:	0f b6 10             	movzbl (%eax),%edx
5a4cd4:	89 4c 24 64          	mov    %ecx,0x64(%esp)
5a4cd8:	0f b6 48 01          	movzbl 0x1(%eax),%ecx
5a4cdc:	c1 e1 08             	shl    $0x8,%ecx
5a4cdf:	0b d1                	or     %ecx,%edx
5a4ce1:	0f b6 58 04          	movzbl 0x4(%eax),%ebx
5a4ce5:	0f b6 48 02          	movzbl 0x2(%eax),%ecx
5a4ce9:	c1 e1 10             	shl    $0x10,%ecx
5a4cec:	0b d1                	or     %ecx,%edx
5a4cee:	0f b6 48 03          	movzbl 0x3(%eax),%ecx
5a4cf2:	c1 e1 18             	shl    $0x18,%ecx
5a4cf5:	0b d1                	or     %ecx,%edx
5a4cf7:	0f b6 48 05          	movzbl 0x5(%eax),%ecx
5a4cfb:	c1 e1 08             	shl    $0x8,%ecx
5a4cfe:	0b d9                	or     %ecx,%ebx
5a4d00:	89 54 24 28          	mov    %edx,0x28(%esp)
5a4d04:	0f b6 48 06          	movzbl 0x6(%eax),%ecx
5a4d08:	c1 e1 10             	shl    $0x10,%ecx
5a4d0b:	0b d9                	or     %ecx,%ebx
5a4d0d:	0f b6 48 07          	movzbl 0x7(%eax),%ecx
5a4d11:	c1 e1 18             	shl    $0x18,%ecx
5a4d14:	0b d9                	or     %ecx,%ebx
5a4d16:	8b cd                	mov    %ebp,%ecx
5a4d18:	33 ce                	xor    %esi,%ecx
5a4d1a:	89 5c 24 40          	mov    %ebx,0x40(%esp)
5a4d1e:	23 cf                	and    %edi,%ecx
5a4d20:	33 cd                	xor    %ebp,%ecx
5a4d22:	0f b6 68 08          	movzbl 0x8(%eax),%ebp
5a4d26:	03 ca                	add    %edx,%ecx
5a4d28:	8b 54 24 48          	mov    0x48(%esp),%edx
5a4d2c:	81 c2 78 a4 6a d7    	add    $0xd76aa478,%edx
5a4d32:	03 d1                	add    %ecx,%edx
5a4d34:	0f b6 48 09          	movzbl 0x9(%eax),%ecx
5a4d38:	c1 e1 08             	shl    $0x8,%ecx
5a4d3b:	0b e9                	or     %ecx,%ebp
5a4d3d:	c1 c2 07             	rol    $0x7,%edx
5a4d40:	0f b6 48 0a          	movzbl 0xa(%eax),%ecx
5a4d44:	03 d7                	add    %edi,%edx
5a4d46:	c1 e1 10             	shl    $0x10,%ecx
5a4d49:	0b e9                	or     %ecx,%ebp
5a4d4b:	0f b6 48 0b          	movzbl 0xb(%eax),%ecx
5a4d4f:	c1 e1 18             	shl    $0x18,%ecx
5a4d52:	0b e9                	or     %ecx,%ebp
5a4d54:	8b ce                	mov    %esi,%ecx
5a4d56:	33 cf                	xor    %edi,%ecx
5a4d58:	89 6c 24 44          	mov    %ebp,0x44(%esp)
5a4d5c:	23 ca                	and    %edx,%ecx
5a4d5e:	33 ce                	xor    %esi,%ecx
5a4d60:	8b 74 24 38          	mov    0x38(%esp),%esi
5a4d64:	03 cb                	add    %ebx,%ecx
5a4d66:	81 c6 56 b7 c7 e8    	add    $0xe8c7b756,%esi
5a4d6c:	0f b6 58 0c          	movzbl 0xc(%eax),%ebx
5a4d70:	03 f1                	add    %ecx,%esi
5a4d72:	0f b6 48 0d          	movzbl 0xd(%eax),%ecx
5a4d76:	c1 e1 08             	shl    $0x8,%ecx
5a4d79:	0b d9                	or     %ecx,%ebx
5a4d7b:	c1 c6 0c             	rol    $0xc,%esi
5a4d7e:	0f b6 48 0e          	movzbl 0xe(%eax),%ecx
5a4d82:	03 f2                	add    %edx,%esi
5a4d84:	c1 e1 10             	shl    $0x10,%ecx
5a4d87:	0b d9                	or     %ecx,%ebx
5a4d89:	0f b6 48 0f          	movzbl 0xf(%eax),%ecx
5a4d8d:	c1 e1 18             	shl    $0x18,%ecx
5a4d90:	0b d9                	or     %ecx,%ebx
5a4d92:	8b cf                	mov    %edi,%ecx
5a4d94:	33 ca                	xor    %edx,%ecx
5a4d96:	89 5c 24 38          	mov    %ebx,0x38(%esp)
5a4d9a:	23 ce                	and    %esi,%ecx
5a4d9c:	33 cf                	xor    %edi,%ecx
5a4d9e:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
5a4da2:	03 cd                	add    %ebp,%ecx
5a4da4:	81 c7 db 70 20 24    	add    $0x242070db,%edi
5a4daa:	0f b6 68 10          	movzbl 0x10(%eax),%ebp
5a4dae:	03 f9                	add    %ecx,%edi
5a4db0:	0f b6 48 11          	movzbl 0x11(%eax),%ecx
5a4db4:	c1 c7 11             	rol    $0x11,%edi
5a4db7:	c1 e1 08             	shl    $0x8,%ecx
5a4dba:	03 fe                	add    %esi,%edi
5a4dbc:	0b e9                	or     %ecx,%ebp
5a4dbe:	0f b6 48 12          	movzbl 0x12(%eax),%ecx
5a4dc2:	c1 e1 10             	shl    $0x10,%ecx
5a4dc5:	0b e9                	or     %ecx,%ebp
5a4dc7:	0f b6 48 13          	movzbl 0x13(%eax),%ecx
5a4dcb:	c1 e1 18             	shl    $0x18,%ecx
5a4dce:	0b e9                	or     %ecx,%ebp
5a4dd0:	8b ce                	mov    %esi,%ecx
5a4dd2:	33 ca                	xor    %edx,%ecx
5a4dd4:	89 6c 24 20          	mov    %ebp,0x20(%esp)
5a4dd8:	23 cf                	and    %edi,%ecx
5a4dda:	0f b6 68 14          	movzbl 0x14(%eax),%ebp
5a4dde:	33 ca                	xor    %edx,%ecx
5a4de0:	03 cb                	add    %ebx,%ecx
5a4de2:	8b 5c 24 60          	mov    0x60(%esp),%ebx
5a4de6:	81 c3 ee ce bd c1    	add    $0xc1bdceee,%ebx
5a4dec:	03 d9                	add    %ecx,%ebx
5a4dee:	0f b6 48 15          	movzbl 0x15(%eax),%ecx
5a4df2:	c1 e1 08             	shl    $0x8,%ecx
5a4df5:	0b e9                	or     %ecx,%ebp
5a4df7:	c1 c3 16             	rol    $0x16,%ebx
5a4dfa:	0f b6 48 16          	movzbl 0x16(%eax),%ecx
5a4dfe:	03 df                	add    %edi,%ebx
5a4e00:	c1 e1 10             	shl    $0x10,%ecx
5a4e03:	0b e9                	or     %ecx,%ebp
5a4e05:	0f b6 48 17          	movzbl 0x17(%eax),%ecx
5a4e09:	c1 e1 18             	shl    $0x18,%ecx
5a4e0c:	0b e9                	or     %ecx,%ebp
5a4e0e:	8b ce                	mov    %esi,%ecx
5a4e10:	33 cf                	xor    %edi,%ecx
5a4e12:	89 6c 24 30          	mov    %ebp,0x30(%esp)
5a4e16:	23 cb                	and    %ebx,%ecx
5a4e18:	81 c5 2a c6 87 47    	add    $0x4787c62a,%ebp
5a4e1e:	33 ce                	xor    %esi,%ecx
5a4e20:	81 c1 af 0f 7c f5    	add    $0xf57c0faf,%ecx
5a4e26:	03 4c 24 20          	add    0x20(%esp),%ecx
5a4e2a:	03 d1                	add    %ecx,%edx
5a4e2c:	0f b6 48 18          	movzbl 0x18(%eax),%ecx
5a4e30:	89 4c 24 14          	mov    %ecx,0x14(%esp)
5a4e34:	0f b6 48 19          	movzbl 0x19(%eax),%ecx
5a4e38:	c1 e1 08             	shl    $0x8,%ecx
5a4e3b:	09 4c 24 14          	or     %ecx,0x14(%esp)
5a4e3f:	0f b6 48 1a          	movzbl 0x1a(%eax),%ecx
5a4e43:	c1 e1 10             	shl    $0x10,%ecx
5a4e46:	09 4c 24 14          	or     %ecx,0x14(%esp)
5a4e4a:	0f b6 48 1b          	movzbl 0x1b(%eax),%ecx
5a4e4e:	c1 e1 18             	shl    $0x18,%ecx
5a4e51:	09 4c 24 14          	or     %ecx,0x14(%esp)
5a4e55:	8b cf                	mov    %edi,%ecx
5a4e57:	33 cb                	xor    %ebx,%ecx
5a4e59:	c1 c2 07             	rol    $0x7,%edx
5a4e5c:	03 d3                	add    %ebx,%edx
5a4e5e:	23 ca                	and    %edx,%ecx
5a4e60:	33 cf                	xor    %edi,%ecx
5a4e62:	03 cd                	add    %ebp,%ecx
5a4e64:	0f b6 68 1c          	movzbl 0x1c(%eax),%ebp
5a4e68:	03 f1                	add    %ecx,%esi
5a4e6a:	0f b6 48 1d          	movzbl 0x1d(%eax),%ecx
5a4e6e:	c1 e1 08             	shl    $0x8,%ecx
5a4e71:	0b e9                	or     %ecx,%ebp
5a4e73:	c1 c6 0c             	rol    $0xc,%esi
5a4e76:	0f b6 48 1e          	movzbl 0x1e(%eax),%ecx
5a4e7a:	03 f2                	add    %edx,%esi
5a4e7c:	c1 e1 10             	shl    $0x10,%ecx
5a4e7f:	0b e9                	or     %ecx,%ebp
5a4e81:	0f b6 48 1f          	movzbl 0x1f(%eax),%ecx
5a4e85:	c1 e1 18             	shl    $0x18,%ecx
5a4e88:	0b e9                	or     %ecx,%ebp
5a4e8a:	8b cb                	mov    %ebx,%ecx
5a4e8c:	33 ca                	xor    %edx,%ecx
5a4e8e:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
5a4e92:	23 ce                	and    %esi,%ecx
5a4e94:	33 cb                	xor    %ebx,%ecx
5a4e96:	81 c1 13 46 30 a8    	add    $0xa8304613,%ecx
5a4e9c:	03 4c 24 14          	add    0x14(%esp),%ecx
5a4ea0:	03 f9                	add    %ecx,%edi
5a4ea2:	0f b6 48 20          	movzbl 0x20(%eax),%ecx
5a4ea6:	89 4c 24 60          	mov    %ecx,0x60(%esp)
5a4eaa:	0f b6 48 21          	movzbl 0x21(%eax),%ecx
5a4eae:	c1 c7 11             	rol    $0x11,%edi
5a4eb1:	c1 e1 08             	shl    $0x8,%ecx
5a4eb4:	03 fe                	add    %esi,%edi
5a4eb6:	09 4c 24 60          	or     %ecx,0x60(%esp)
5a4eba:	0f b6 48 22          	movzbl 0x22(%eax),%ecx
5a4ebe:	81 c5 01 95 46 fd    	add    $0xfd469501,%ebp
5a4ec4:	c1 e1 10             	shl    $0x10,%ecx
5a4ec7:	09 4c 24 60          	or     %ecx,0x60(%esp)
5a4ecb:	0f b6 48 23          	movzbl 0x23(%eax),%ecx
5a4ecf:	c1 e1 18             	shl    $0x18,%ecx
5a4ed2:	09 4c 24 60          	or     %ecx,0x60(%esp)
5a4ed6:	8b ce                	mov    %esi,%ecx
5a4ed8:	33 ca                	xor    %edx,%ecx
5a4eda:	23 cf                	and    %edi,%ecx
5a4edc:	33 ca                	xor    %edx,%ecx
5a4ede:	03 cd                	add    %ebp,%ecx
5a4ee0:	0f b6 68 24          	movzbl 0x24(%eax),%ebp
5a4ee4:	03 d9                	add    %ecx,%ebx
5a4ee6:	0f b6 48 25          	movzbl 0x25(%eax),%ecx
5a4eea:	c1 e1 08             	shl    $0x8,%ecx
5a4eed:	0b e9                	or     %ecx,%ebp
5a4eef:	c1 c3 16             	rol    $0x16,%ebx
5a4ef2:	0f b6 48 26          	movzbl 0x26(%eax),%ecx
5a4ef6:	03 df                	add    %edi,%ebx
5a4ef8:	c1 e1 10             	shl    $0x10,%ecx
5a4efb:	0b e9                	or     %ecx,%ebp
5a4efd:	0f b6 48 27          	movzbl 0x27(%eax),%ecx
5a4f01:	c1 e1 18             	shl    $0x18,%ecx
5a4f04:	0b e9                	or     %ecx,%ebp
5a4f06:	8b ce                	mov    %esi,%ecx
5a4f08:	33 cf                	xor    %edi,%ecx
5a4f0a:	89 6c 24 24          	mov    %ebp,0x24(%esp)
5a4f0e:	23 cb                	and    %ebx,%ecx
5a4f10:	8d aa d8 98 80 69    	lea    0x698098d8(%edx),%ebp
5a4f16:	33 ce                	xor    %esi,%ecx
5a4f18:	0f b6 50 28          	movzbl 0x28(%eax),%edx
5a4f1c:	03 4c 24 60          	add    0x60(%esp),%ecx
5a4f20:	03 e9                	add    %ecx,%ebp
5a4f22:	0f b6 48 29          	movzbl 0x29(%eax),%ecx
5a4f26:	c1 e1 08             	shl    $0x8,%ecx
5a4f29:	0b d1                	or     %ecx,%edx
5a4f2b:	c1 c5 07             	rol    $0x7,%ebp
5a4f2e:	0f b6 48 2a          	movzbl 0x2a(%eax),%ecx
5a4f32:	03 eb                	add    %ebx,%ebp
5a4f34:	c1 e1 10             	shl    $0x10,%ecx
5a4f37:	0b d1                	or     %ecx,%edx
5a4f39:	0f b6 48 2b          	movzbl 0x2b(%eax),%ecx
5a4f3d:	c1 e1 18             	shl    $0x18,%ecx
5a4f40:	0b d1                	or     %ecx,%edx
5a4f42:	8b cf                	mov    %edi,%ecx
5a4f44:	33 cb                	xor    %ebx,%ecx
5a4f46:	89 54 24 3c          	mov    %edx,0x3c(%esp)
5a4f4a:	23 cd                	and    %ebp,%ecx
5a4f4c:	33 cf                	xor    %edi,%ecx
5a4f4e:	81 c1 af f7 44 8b    	add    $0x8b44f7af,%ecx
5a4f54:	03 4c 24 24          	add    0x24(%esp),%ecx
5a4f58:	03 f1                	add    %ecx,%esi
5a4f5a:	0f b6 48 2c          	movzbl 0x2c(%eax),%ecx
5a4f5e:	89 4c 24 18          	mov    %ecx,0x18(%esp)
5a4f62:	0f b6 48 2d          	movzbl 0x2d(%eax),%ecx
5a4f66:	c1 e1 08             	shl    $0x8,%ecx
5a4f69:	09 4c 24 18          	or     %ecx,0x18(%esp)
5a4f6d:	0f b6 48 2e          	movzbl 0x2e(%eax),%ecx
5a4f71:	c1 e1 10             	shl    $0x10,%ecx
5a4f74:	09 4c 24 18          	or     %ecx,0x18(%esp)
5a4f78:	0f b6 48 2f          	movzbl 0x2f(%eax),%ecx
5a4f7c:	c1 e1 18             	shl    $0x18,%ecx
5a4f7f:	09 4c 24 18          	or     %ecx,0x18(%esp)
5a4f83:	8b cb                	mov    %ebx,%ecx
5a4f85:	33 cd                	xor    %ebp,%ecx
5a4f87:	c1 c6 0c             	rol    $0xc,%esi
5a4f8a:	03 f5                	add    %ebp,%esi
5a4f8c:	23 ce                	and    %esi,%ecx