405b28:	cc                   	int3
405b29:	55                   	push   %ebp
405b2a:	8b ec                	mov    %esp,%ebp
405b2c:	51                   	push   %ecx
405b2d:	53                   	push   %ebx
405b2e:	56                   	push   %esi
405b2f:	33 f6                	xor    %esi,%esi
405b31:	89 55 fc             	mov    %edx,-0x4(%ebp)
405b34:	57                   	push   %edi
405b35:	8b 7d 08             	mov    0x8(%ebp),%edi
405b38:	8b d9                	mov    %ecx,%ebx
405b3a:	8b c6                	mov    %esi,%eax
405b3c:	eb 4f                	jmp    0x405b8d
405b3e:	46                   	inc    %esi
405b3f:	81 e6 ff 00 00 80    	and    $0x800000ff,%esi
405b45:	79 08                	jns    0x405b4f
405b47:	4e                   	dec    %esi
405b48:	81 ce 00 ff ff ff    	or     $0xffffff00,%esi
405b4e:	46                   	inc    %esi
405b4f:	8a 0c 1e             	mov    (%esi,%ebx,1),%cl
405b52:	0f b6 d1             	movzbl %cl,%edx
405b55:	03 c2                	add    %edx,%eax
405b57:	25 ff 00 00 80       	and    $0x800000ff,%eax
405b5c:	79 07                	jns    0x405b65
405b5e:	48                   	dec    %eax
405b5f:	0d 00 ff ff ff       	or     $0xffffff00,%eax
405b64:	40                   	inc    %eax
405b65:	89 45 08             	mov    %eax,0x8(%ebp)
405b68:	8a 04 18             	mov    (%eax,%ebx,1),%al
405b6b:	88 04 1e             	mov    %al,(%esi,%ebx,1)
405b6e:	8b 45 08             	mov    0x8(%ebp),%eax
405b71:	88 0c 18             	mov    %cl,(%eax,%ebx,1)
405b74:	0f b6 04 1e          	movzbl (%esi,%ebx,1),%eax
405b78:	8b 4d fc             	mov    -0x4(%ebp),%ecx
405b7b:	03 c2                	add    %edx,%eax
405b7d:	0f b6 c0             	movzbl %al,%eax
405b80:	8a 04 18             	mov    (%eax,%ebx,1),%al
405b83:	30 01                	xor    %al,(%ecx)
405b85:	41                   	inc    %ecx
405b86:	8b 45 08             	mov    0x8(%ebp),%eax
405b89:	4f                   	dec    %edi
405b8a:	89 4d fc             	mov    %ecx,-0x4(%ebp)
405b8d:	85 ff                	test   %edi,%edi
405b8f:	7f ad                	jg     0x405b3e
405b91:	5f                   	pop    %edi
405b92:	5e                   	pop    %esi
405b93:	5b                   	pop    %ebx
405b94:	c9                   	leave
405b95:	c3                   	ret
405b96:	55                   	push   %ebp
405b97:	8b ec                	mov    %esp,%ebp
405b99:	51                   	push   %ecx
405b9a:	51                   	push   %ecx
405b9b:	53                   	push   %ebx
405b9c:	56                   	push   %esi
405b9d:	33 f6                	xor    %esi,%esi
405b9f:	89 55 fc             	mov    %edx,-0x4(%ebp)
405ba2:	57                   	push   %edi
405ba3:	89 4d f8             	mov    %ecx,-0x8(%ebp)
405ba6:	8b fe                	mov    %esi,%edi
405ba8:	8b c7                	mov    %edi,%eax
405baa:	8a 1c 0f             	mov    (%edi,%ecx,1),%bl
405bad:	99                   	cltd
405bae:	f7 7d 08             	idivl  0x8(%ebp)
405bb1:	8b 45 fc             	mov    -0x4(%ebp),%eax
405bb4:	0f b6 cb             	movzbl %bl,%ecx
405bb7:	0f b6 04 02          	movzbl (%edx,%eax,1),%eax
405bbb:	03 f0                	add    %eax,%esi
405bbd:	03 f1                	add    %ecx,%esi
405bbf:	81 e6 ff 00 00 80    	and    $0x800000ff,%esi
405bc5:	79 08                	jns    0x405bcf
405bc7:	4e                   	dec    %esi
405bc8:	81 ce 00 ff ff ff    	or     $0xffffff00,%esi
405bce:	46                   	inc    %esi
405bcf:	8b 4d f8             	mov    -0x8(%ebp),%ecx
405bd2:	8a 04 0e             	mov    (%esi,%ecx,1),%al
405bd5:	88 04 0f             	mov    %al,(%edi,%ecx,1)
405bd8:	47                   	inc    %edi
405bd9:	88 1c 0e             	mov    %bl,(%esi,%ecx,1)
405bdc:	81 ff 00 01 00 00    	cmp    $0x100,%edi
405be2:	7c c4                	jl     0x405ba8
405be4:	5f                   	pop    %edi
405be5:	5e                   	pop    %esi
405be6:	5b                   	pop    %ebx
405be7:	c9                   	leave
405be8:	c3                   	ret
405be9:	33 c0                	xor    %eax,%eax
405beb:	88 04 08             	mov    %al,(%eax,%ecx,1)
405bee:	40                   	inc    %eax
405bef:	3d 00 01 00 00       	cmp    $0x100,%eax
405bf4:	7c f5                	jl     0x405beb
405bf6:	c3                   	ret
405bf7:	8a 02                	mov    (%edx),%al
405bf9:	53                   	push   %ebx
405bfa:	8a 19                	mov    (%ecx),%bl
405bfc:	88 01                	mov    %al,(%ecx)
405bfe:	88 1a                	mov    %bl,(%edx)
405c00:	5b                   	pop    %ebx
405c01:	c3                   	ret
405c02:	55                   	push   %ebp
405c03:	8b ec                	mov    %esp,%ebp
405c05:	83 ec 18             	sub    $0x18,%esp
405c08:	56                   	push   %esi
405c09:	8b f1                	mov    %ecx,%esi
405c0b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
405c0e:	83 26 00             	andl   $0x0,(%esi)
405c11:	83 66 04 00          	andl   $0x0,0x4(%esi)
405c15:	ff 72 04             	push   0x4(%edx)
405c18:	8b 12                	mov    (%edx),%edx
405c1a:	e8 e1 12 00 00       	call   0x406f00
405c1f:	59                   	pop    %ecx
405c20:	6a 14                	push   $0x14
405c22:	8d 45 e8             	lea    -0x18(%ebp),%eax
405c25:	8b ce                	mov    %esi,%ecx
405c27:	50                   	push   %eax
405c28:	e8 94 d1 ff ff       	call   0x402dc1
405c2d:	8b c6                	mov    %esi,%eax
405c2f:	5e                   	pop    %esi
405c30:	c9                   	leave
405c31:	c3                   	ret
405c32:	55                   	push   %ebp
405c33:	8b ec                	mov    %esp,%ebp
405c35:	81 ec 08 01 00 00    	sub    $0x108,%esp
405c3b:	8d 45 10             	lea    0x10(%ebp),%eax
405c3e:	56                   	push   %esi
405c3f:	8b f1                	mov    %ecx,%esi
405c41:	8d 4d f8             	lea    -0x8(%ebp),%ecx
405c44:	50                   	push   %eax
405c45:	e8 2f d2 ff ff       	call   0x402e79
405c4a:	33 c0                	xor    %eax,%eax
405c4c:	88 84 05 f8 fe ff ff 	mov    %al,-0x108(%ebp,%eax,1)
405c53:	40                   	inc    %eax
405c54:	3d 00 01 00 00       	cmp    $0x100,%eax
405c59:	7c f1                	jl     0x405c4c
405c5b:	ff 75 0c             	push   0xc(%ebp)
405c5e:	8b 55 08             	mov    0x8(%ebp),%edx
405c61:	8d 8d f8 fe ff ff    	lea    -0x108(%ebp),%ecx
405c67:	e8 2a ff ff ff       	call   0x405b96
405c6c:	ff 75 14             	push   0x14(%ebp)
405c6f:	8b 55 10             	mov    0x10(%ebp),%edx
405c72:	8d 8d f8 fe ff ff    	lea    -0x108(%ebp),%ecx
405c78:	e8 ac fe ff ff       	call   0x405b29
405c7d:	59                   	pop    %ecx
405c7e:	59                   	pop    %ecx
405c7f:	8d 45 10             	lea    0x10(%ebp),%eax
405c82:	8b ce                	mov    %esi,%ecx
405c84:	50                   	push   %eax
405c85:	e8 ef d1 ff ff       	call   0x402e79
405c8a:	8d 4d f8             	lea    -0x8(%ebp),%ecx
405c8d:	e8 d4 d1 ff ff       	call   0x402e66
405c92:	8d 4d 08             	lea    0x8(%ebp),%ecx
405c95:	e8 cc d1 ff ff       	call   0x402e66
405c9a:	8d 4d 10             	lea    0x10(%ebp),%ecx
405c9d:	e8 c4 d1 ff ff       	call   0x402e66
405ca2:	8b c6                	mov    %esi,%eax
405ca4:	5e                   	pop    %esi
405ca5:	c9                   	leave
405ca6:	c3                   	ret
405ca7:	55                   	push   %ebp
405ca8:	8b ec                	mov    %esp,%ebp
405caa:	83 ec 0c             	sub    $0xc,%esp
405cad:	56                   	push   %esi
405cae:	57                   	push   %edi
405caf:	8b f2                	mov    %edx,%esi
405cb1:	8b f9                	mov    %ecx,%edi
405cb3:	33 d2                	xor    %edx,%edx
405cb5:	8b c2                	mov    %edx,%eax
405cb7:	83 e0 03             	and    $0x3,%eax
405cba:	6a 03                	push   $0x3
405cbc:	59                   	pop    %ecx
405cbd:	2b c8                	sub    %eax,%ecx
405cbf:	c1 e1 03             	shl    $0x3,%ecx
405cc2:	83 fa 04             	cmp    $0x4,%edx
405cc5:	1b c0                	sbb    %eax,%eax
405cc7:	83 e0 04             	and    $0x4,%eax
405cca:	8b 44 30 14          	mov    0x14(%eax,%esi,1),%eax
405cce:	d3 e8                	shr    %cl,%eax
405cd0:	88 44 15 f4          	mov    %al,-0xc(%ebp,%edx,1)
405cd4:	42                   	inc    %edx
405cd5:	83 fa 08             	cmp    $0x8,%edx
405cd8:	72 db                	jb     0x405cb5
405cda:	c6 45 ff 80          	movb   $0x80,-0x1(%ebp)
405cde:	eb 04                	jmp    0x405ce4
405ce0:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
405ce4:	6a 01                	push   $0x1
405ce6:	8d 55 ff             	lea    -0x1(%ebp),%edx
405ce9:	8b ce                	mov    %esi,%ecx
405ceb:	e8 5d 00 00 00       	call   0x405d4d
405cf0:	8b 46 14             	mov    0x14(%esi),%eax
405cf3:	25 f8 01 00 00       	and    $0x1f8,%eax
405cf8:	59                   	pop    %ecx
405cf9:	3d c0 01 00 00       	cmp    $0x1c0,%eax
405cfe:	75 e0                	jne    0x405ce0
405d00:	6a 08                	push   $0x8
405d02:	8d 55 f4             	lea    -0xc(%ebp),%edx
405d05:	8b ce                	mov    %esi,%ecx
405d07:	e8 41 00 00 00       	call   0x405d4d
405d0c:	59                   	pop    %ecx
405d0d:	33 d2                	xor    %edx,%edx
405d0f:	8b c2                	mov    %edx,%eax
405d11:	83 e0 03             	and    $0x3,%eax
405d14:	6a 03                	push   $0x3
405d16:	59                   	pop    %ecx
405d17:	2b c8                	sub    %eax,%ecx
405d19:	8b c2                	mov    %edx,%eax
405d1b:	c1 e8 02             	shr    $0x2,%eax
405d1e:	c1 e1 03             	shl    $0x3,%ecx
405d21:	8b 04 86             	mov    (%esi,%eax,4),%eax
405d24:	d3 e8                	shr    %cl,%eax
405d26:	88 04 3a             	mov    %al,(%edx,%edi,1)
405d29:	42                   	inc    %edx
405d2a:	83 fa 14             	cmp    $0x14,%edx
405d2d:	72 e0                	jb     0x405d0f
405d2f:	6a 5c                	push   $0x5c
405d31:	6a 00                	push   $0x0
405d33:	56                   	push   %esi
405d34:	e8 19 b3 ff ff       	call   0x401052
405d39:	6a 08                	push   $0x8
405d3b:	8d 45 f4             	lea    -0xc(%ebp),%eax
405d3e:	6a 00                	push   $0x0
405d40:	50                   	push   %eax
405d41:	e8 0c b3 ff ff       	call   0x401052
405d46:	83 c4 18             	add    $0x18,%esp
405d49:	5f                   	pop    %edi
405d4a:	5e                   	pop    %esi
405d4b:	c9                   	leave
405d4c:	c3                   	ret
405d4d:	55                   	push   %ebp
405d4e:	8b ec                	mov    %esp,%ebp
405d50:	51                   	push   %ecx
405d51:	51                   	push   %ecx
405d52:	53                   	push   %ebx
405d53:	8b 5d 08             	mov    0x8(%ebp),%ebx
405d56:	56                   	push   %esi
405d57:	8b 71 14             	mov    0x14(%ecx),%esi
405d5a:	89 55 fc             	mov    %edx,-0x4(%ebp)
405d5d:	8b 51 18             	mov    0x18(%ecx),%edx
405d60:	57                   	push   %edi
405d61:	8d 04 de             	lea    (%esi,%ebx,8),%eax
405d64:	89 4d f8             	mov    %ecx,-0x8(%ebp)
405d67:	89 41 14             	mov    %eax,0x14(%ecx)
405d6a:	3b c6                	cmp    %esi,%eax
405d6c:	73 01                	jae    0x405d6f
405d6e:	42                   	inc    %edx
405d6f:	c1 ee 03             	shr    $0x3,%esi
405d72:	8b c3                	mov    %ebx,%eax
405d74:	c1 e8 1d             	shr    $0x1d,%eax
405d77:	83 e6 3f             	and    $0x3f,%esi
405d7a:	03 c2                	add    %edx,%eax
405d7c:	89 41 18             	mov    %eax,0x18(%ecx)
405d7f:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
405d82:	83 f8 3f             	cmp    $0x3f,%eax
405d85:	76 4f                	jbe    0x405dd6
405d87:	6a 40                	push   $0x40
405d89:	5f                   	pop    %edi
405d8a:	2b fe                	sub    %esi,%edi
405d8c:	8d 41 1c             	lea    0x1c(%ecx),%eax
405d8f:	57                   	push   %edi
405d90:	ff 75 fc             	push   -0x4(%ebp)
405d93:	03 c6                	add    %esi,%eax
405d95:	50                   	push   %eax
405d96:	e8 91 b2 ff ff       	call   0x40102c
405d9b:	8b 75 f8             	mov    -0x8(%ebp),%esi
405d9e:	83 c4 0c             	add    $0xc,%esp
405da1:	8b ce                	mov    %esi,%ecx
405da3:	8d 56 1c             	lea    0x1c(%esi),%edx
405da6:	e8 74 00 00 00       	call   0x405e1f
405dab:	8d 47 3f             	lea    0x3f(%edi),%eax
405dae:	eb 18                	jmp    0x405dc8
405db0:	8b 55 fc             	mov    -0x4(%ebp),%edx
405db3:	8b ce                	mov    %esi,%ecx
405db5:	83 c2 c1             	add    $0xffffffc1,%edx
405db8:	03 d0                	add    %eax,%edx
405dba:	e8 60 00 00 00       	call   0x405e1f
405dbf:	8b 45 08             	mov    0x8(%ebp),%eax
405dc2:	83 c7 40             	add    $0x40,%edi
405dc5:	83 c0 40             	add    $0x40,%eax
405dc8:	89 45 08             	mov    %eax,0x8(%ebp)
405dcb:	3b c3                	cmp    %ebx,%eax
405dcd:	72 e1                	jb     0x405db0
405dcf:	8b 4d f8             	mov    -0x8(%ebp),%ecx
405dd2:	33 f6                	xor    %esi,%esi
405dd4:	eb 02                	jmp    0x405dd8
405dd6:	33 ff                	xor    %edi,%edi
405dd8:	8b 45 fc             	mov    -0x4(%ebp),%eax
405ddb:	2b df                	sub    %edi,%ebx
405ddd:	03 c7                	add    %edi,%eax
405ddf:	53                   	push   %ebx
405de0:	50                   	push   %eax
405de1:	8d 41 1c             	lea    0x1c(%ecx),%eax
405de4:	03 c6                	add    %esi,%eax
405de6:	50                   	push   %eax
405de7:	e8 40 b2 ff ff       	call   0x40102c
405dec:	83 c4 0c             	add    $0xc,%esp
405def:	5f                   	pop    %edi
405df0:	5e                   	pop    %esi
405df1:	5b                   	pop    %ebx
405df2:	c9                   	leave
405df3:	c3                   	ret
405df4:	83 61 18 00          	andl   $0x0,0x18(%ecx)
405df8:	83 61 14 00          	andl   $0x0,0x14(%ecx)
405dfc:	c7 01 01 23 45 67    	movl   $0x67452301,(%ecx)
405e02:	c7 41 04 89 ab cd ef 	movl   $0xefcdab89,0x4(%ecx)
405e09:	c7 41 08 fe dc ba 98 	movl   $0x98badcfe,0x8(%ecx)
405e10:	c7 41 0c 76 54 32 10 	movl   $0x10325476,0xc(%ecx)
405e17:	c7 41 10 f0 e1 d2 c3 	movl   $0xc3d2e1f0,0x10(%ecx)
405e1e:	c3                   	ret
405e1f:	55                   	push   %ebp
405e20:	8b ec                	mov    %esp,%ebp
405e22:	81 ec 9c 00 00 00    	sub    $0x9c,%esp
405e28:	53                   	push   %ebx
405e29:	56                   	push   %esi
405e2a:	57                   	push   %edi
405e2b:	6a 40                	push   $0x40
405e2d:	52                   	push   %edx
405e2e:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
405e34:	8b f1                	mov    %ecx,%esi
405e36:	50                   	push   %eax
405e37:	89 75 a4             	mov    %esi,-0x5c(%ebp)
405e3a:	e8 ed b1 ff ff       	call   0x40102c
405e3f:	8b 85 64 ff ff ff    	mov    -0x9c(%ebp),%eax
405e45:	83 c4 0c             	add    $0xc,%esp
405e48:	8b 3e                	mov    (%esi),%edi
405e4a:	8b d8                	mov    %eax,%ebx
405e4c:	8b 56 04             	mov    0x4(%esi),%edx
405e4f:	8b cf                	mov    %edi,%ecx
405e51:	c1 c0 08             	rol    $0x8,%eax
405e54:	8b 76 10             	mov    0x10(%esi),%esi
405e57:	25 ff 00 ff 00       	and    $0xff00ff,%eax
405e5c:	c1 cb 08             	ror    $0x8,%ebx
405e5f:	81 e3 00 ff 00 ff    	and    $0xff00ff00,%ebx
405e65:	c1 c1 05             	rol    $0x5,%ecx
405e68:	0b d8                	or     %eax,%ebx
405e6a:	03 ce                	add    %esi,%ecx
405e6c:	89 5d cc             	mov    %ebx,-0x34(%ebp)
405e6f:	8b 5d a4             	mov    -0x5c(%ebp),%ebx
405e72:	8b 43 0c             	mov    0xc(%ebx),%eax
405e75:	33 43 08             	xor    0x8(%ebx),%eax
405e78:	23 c2                	and    %edx,%eax
405e7a:	c1 ca 02             	ror    $0x2,%edx
405e7d:	33 43 0c             	xor    0xc(%ebx),%eax
405e80:	8b 5d cc             	mov    -0x34(%ebp),%ebx
405e83:	03 c1                	add    %ecx,%eax
405e85:	81 c3 99 79 82 5a    	add    $0x5a827999,%ebx
405e8b:	03 d8                	add    %eax,%ebx
405e8d:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
405e93:	8b f0                	mov    %eax,%esi
405e95:	8b cb                	mov    %ebx,%ecx
405e97:	c1 c0 08             	rol    $0x8,%eax
405e9a:	25 ff 00 ff 00       	and    $0xff00ff,%eax