5a49e6:	8b f8                	mov    %eax,%edi
5a49e8:	83 c4 04             	add    $0x4,%esp
5a49eb:	83 ef 01             	sub    $0x1,%edi
5a49ee:	78 29                	js     0x5a4a19
5a49f0:	56                   	push   %esi
5a49f1:	57                   	push   %edi
5a49f2:	53                   	push   %ebx
5a49f3:	e8 38 9d f0 ff       	call   0x4ae730
5a49f8:	8b f0                	mov    %eax,%esi
5a49fa:	ff 76 08             	push   0x8(%esi)
5a49fd:	e8 2e b7 ef ff       	call   0x4a0130
5a4a02:	ff 76 04             	push   0x4(%esi)
5a4a05:	e8 26 b7 ef ff       	call   0x4a0130
5a4a0a:	56                   	push   %esi
5a4a0b:	e8 20 b7 ef ff       	call   0x4a0130
5a4a10:	83 c4 14             	add    $0x14,%esp
5a4a13:	83 ef 01             	sub    $0x1,%edi
5a4a16:	79 d9                	jns    0x5a49f1
5a4a18:	5e                   	pop    %esi
5a4a19:	85 db                	test   %ebx,%ebx
5a4a1b:	74 09                	je     0x5a4a26
5a4a1d:	53                   	push   %ebx
5a4a1e:	e8 4d 9a f0 ff       	call   0x4ae470
5a4a23:	83 c4 04             	add    $0x4,%esp
5a4a26:	ff 75 00             	push   0x0(%ebp)
5a4a29:	e8 02 b7 ef ff       	call   0x4a0130
5a4a2e:	55                   	push   %ebp
5a4a2f:	e8 fc b6 ef ff       	call   0x4a0130
5a4a34:	83 c4 08             	add    $0x8,%esp
5a4a37:	5f                   	pop    %edi
5a4a38:	5b                   	pop    %ebx
5a4a39:	5d                   	pop    %ebp
5a4a3a:	c3                   	ret
5a4a3b:	cc                   	int3
5a4a3c:	cc                   	int3
5a4a3d:	cc                   	int3
5a4a3e:	cc                   	int3
5a4a3f:	cc                   	int3
5a4a40:	53                   	push   %ebx
5a4a41:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
5a4a45:	56                   	push   %esi
5a4a46:	57                   	push   %edi
5a4a47:	8d 7b 18             	lea    0x18(%ebx),%edi
5a4a4a:	8b 73 58             	mov    0x58(%ebx),%esi
5a4a4d:	c6 04 3e 80          	movb   $0x80,(%esi,%edi,1)
5a4a51:	46                   	inc    %esi
5a4a52:	83 fe 38             	cmp    $0x38,%esi
5a4a55:	76 21                	jbe    0x5a4a78
5a4a57:	b8 40 00 00 00       	mov    $0x40,%eax
5a4a5c:	2b c6                	sub    %esi,%eax
5a4a5e:	50                   	push   %eax
5a4a5f:	8d 04 3e             	lea    (%esi,%edi,1),%eax
5a4a62:	6a 00                	push   $0x0
5a4a64:	50                   	push   %eax
5a4a65:	e8 96 ef 03 00       	call   0x5e3a00
5a4a6a:	6a 01                	push   $0x1
5a4a6c:	57                   	push   %edi
5a4a6d:	53                   	push   %ebx
5a4a6e:	33 f6                	xor    %esi,%esi
5a4a70:	e8 0b 02 00 00       	call   0x5a4c80
5a4a75:	83 c4 18             	add    $0x18,%esp
5a4a78:	b8 38 00 00 00       	mov    $0x38,%eax
5a4a7d:	2b c6                	sub    %esi,%eax
5a4a7f:	50                   	push   %eax
5a4a80:	8d 04 3e             	lea    (%esi,%edi,1),%eax
5a4a83:	6a 00                	push   $0x0
5a4a85:	50                   	push   %eax
5a4a86:	e8 75 ef 03 00       	call   0x5e3a00
5a4a8b:	0f b6 43 10          	movzbl 0x10(%ebx),%eax
5a4a8f:	88 47 38             	mov    %al,0x38(%edi)
5a4a92:	0f b6 43 11          	movzbl 0x11(%ebx),%eax
5a4a96:	88 47 39             	mov    %al,0x39(%edi)
5a4a99:	0f b6 43 12          	movzbl 0x12(%ebx),%eax
5a4a9d:	88 47 3a             	mov    %al,0x3a(%edi)
5a4aa0:	0f b6 43 13          	movzbl 0x13(%ebx),%eax
5a4aa4:	88 47 3b             	mov    %al,0x3b(%edi)
5a4aa7:	0f b6 43 14          	movzbl 0x14(%ebx),%eax
5a4aab:	88 47 3c             	mov    %al,0x3c(%edi)
5a4aae:	0f b6 43 15          	movzbl 0x15(%ebx),%eax
5a4ab2:	88 47 3d             	mov    %al,0x3d(%edi)
5a4ab5:	0f b6 43 16          	movzbl 0x16(%ebx),%eax
5a4ab9:	6a 01                	push   $0x1
5a4abb:	88 47 3e             	mov    %al,0x3e(%edi)
5a4abe:	0f b6 43 17          	movzbl 0x17(%ebx),%eax
5a4ac2:	57                   	push   %edi
5a4ac3:	53                   	push   %ebx
5a4ac4:	88 47 3f             	mov    %al,0x3f(%edi)
5a4ac7:	e8 b4 01 00 00       	call   0x5a4c80
5a4acc:	6a 40                	push   $0x40
5a4ace:	57                   	push   %edi
5a4acf:	c7 43 58 00 00 00 00 	movl   $0x0,0x58(%ebx)
5a4ad6:	e8 75 b8 ef ff       	call   0x4a0350
5a4adb:	8b 0b                	mov    (%ebx),%ecx
5a4add:	83 c4 20             	add    $0x20,%esp
5a4ae0:	8b 54 24 10          	mov    0x10(%esp),%edx
5a4ae4:	8b c1                	mov    %ecx,%eax
5a4ae6:	c1 e8 08             	shr    $0x8,%eax
5a4ae9:	5f                   	pop    %edi
5a4aea:	88 0a                	mov    %cl,(%edx)
5a4aec:	88 42 01             	mov    %al,0x1(%edx)
5a4aef:	8b c1                	mov    %ecx,%eax
5a4af1:	c1 e8 10             	shr    $0x10,%eax
5a4af4:	88 42 02             	mov    %al,0x2(%edx)
5a4af7:	c1 e9 18             	shr    $0x18,%ecx
5a4afa:	88 4a 03             	mov    %cl,0x3(%edx)
5a4afd:	8b 4b 04             	mov    0x4(%ebx),%ecx
5a4b00:	8b c1                	mov    %ecx,%eax
5a4b02:	88 4a 04             	mov    %cl,0x4(%edx)
5a4b05:	c1 e8 08             	shr    $0x8,%eax
5a4b08:	88 42 05             	mov    %al,0x5(%edx)
5a4b0b:	8b c1                	mov    %ecx,%eax
5a4b0d:	c1 e8 10             	shr    $0x10,%eax
5a4b10:	88 42 06             	mov    %al,0x6(%edx)
5a4b13:	c1 e9 18             	shr    $0x18,%ecx
5a4b16:	88 4a 07             	mov    %cl,0x7(%edx)
5a4b19:	8b 4b 08             	mov    0x8(%ebx),%ecx
5a4b1c:	8b c1                	mov    %ecx,%eax
5a4b1e:	88 4a 08             	mov    %cl,0x8(%edx)
5a4b21:	c1 e8 08             	shr    $0x8,%eax
5a4b24:	88 42 09             	mov    %al,0x9(%edx)
5a4b27:	8b c1                	mov    %ecx,%eax
5a4b29:	c1 e8 10             	shr    $0x10,%eax
5a4b2c:	88 42 0a             	mov    %al,0xa(%edx)
5a4b2f:	c1 e9 18             	shr    $0x18,%ecx
5a4b32:	88 4a 0b             	mov    %cl,0xb(%edx)
5a4b35:	8b 4b 0c             	mov    0xc(%ebx),%ecx
5a4b38:	8b c1                	mov    %ecx,%eax
5a4b3a:	c1 e8 08             	shr    $0x8,%eax
5a4b3d:	88 4a 0c             	mov    %cl,0xc(%edx)
5a4b40:	88 42 0d             	mov    %al,0xd(%edx)
5a4b43:	8b c1                	mov    %ecx,%eax
5a4b45:	c1 e8 10             	shr    $0x10,%eax
5a4b48:	88 42 0e             	mov    %al,0xe(%edx)
5a4b4b:	b8 01 00 00 00       	mov    $0x1,%eax
5a4b50:	c1 e9 18             	shr    $0x18,%ecx
5a4b53:	5e                   	pop    %esi
5a4b54:	88 4a 0f             	mov    %cl,0xf(%edx)
5a4b57:	5b                   	pop    %ebx
5a4b58:	c3                   	ret
5a4b59:	cc                   	int3
5a4b5a:	cc                   	int3
5a4b5b:	cc                   	int3
5a4b5c:	cc                   	int3
5a4b5d:	cc                   	int3
5a4b5e:	cc                   	int3
5a4b5f:	cc                   	int3
5a4b60:	56                   	push   %esi
5a4b61:	8b 74 24 08          	mov    0x8(%esp),%esi
5a4b65:	6a 5c                	push   $0x5c
5a4b67:	6a 00                	push   $0x0
5a4b69:	56                   	push   %esi
5a4b6a:	e8 91 ee 03 00       	call   0x5e3a00
5a4b6f:	83 c4 0c             	add    $0xc,%esp
5a4b72:	c7 06 01 23 45 67    	movl   $0x67452301,(%esi)
5a4b78:	c7 46 04 89 ab cd ef 	movl   $0xefcdab89,0x4(%esi)
5a4b7f:	b8 01 00 00 00       	mov    $0x1,%eax
5a4b84:	c7 46 08 fe dc ba 98 	movl   $0x98badcfe,0x8(%esi)
5a4b8b:	c7 46 0c 76 54 32 10 	movl   $0x10325476,0xc(%esi)
5a4b92:	5e                   	pop    %esi
5a4b93:	c3                   	ret
5a4b94:	cc                   	int3
5a4b95:	cc                   	int3
5a4b96:	cc                   	int3
5a4b97:	cc                   	int3
5a4b98:	cc                   	int3
5a4b99:	cc                   	int3
5a4b9a:	cc                   	int3
5a4b9b:	cc                   	int3
5a4b9c:	cc                   	int3
5a4b9d:	cc                   	int3
5a4b9e:	cc                   	int3
5a4b9f:	cc                   	int3
5a4ba0:	55                   	push   %ebp
5a4ba1:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
5a4ba5:	57                   	push   %edi
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