540cb4:	c1 e1 08             	shl    $0x8,%ecx
540cb7:	33 c8                	xor    %eax,%ecx
540cb9:	8d 46 10             	lea    0x10(%esi),%eax
540cbc:	33 4e 0c             	xor    0xc(%esi),%ecx
540cbf:	89 44 24 0c          	mov    %eax,0xc(%esp)
540cc3:	8b c3                	mov    %ebx,%eax
540cc5:	89 4c 24 20          	mov    %ecx,0x20(%esp)
540cc9:	c1 e8 10             	shr    $0x10,%eax
540ccc:	0f b6 d0             	movzbl %al,%edx
540ccf:	8b c3                	mov    %ebx,%eax
540cd1:	c1 e8 08             	shr    $0x8,%eax
540cd4:	0f b6 c8             	movzbl %al,%ecx
540cd7:	57                   	push   %edi
540cd8:	8b 04 95 58 c1 64 00 	mov    0x64c158(,%edx,4),%eax
540cdf:	33 04 8d 58 c5 64 00 	xor    0x64c558(,%ecx,4),%eax
540ce6:	8b cb                	mov    %ebx,%ecx
540ce8:	c1 e9 18             	shr    $0x18,%ecx
540ceb:	33 04 8d 58 bd 64 00 	xor    0x64bd58(,%ecx,4),%eax
540cf2:	0f b6 cb             	movzbl %bl,%ecx
540cf5:	8b 5c 24 24          	mov    0x24(%esp),%ebx
540cf9:	33 04 8d 58 c9 64 00 	xor    0x64c958(,%ecx,4),%eax
540d00:	8b cb                	mov    %ebx,%ecx
540d02:	c1 e9 10             	shr    $0x10,%ecx
540d05:	0f b6 d1             	movzbl %cl,%edx
540d08:	8b cb                	mov    %ebx,%ecx
540d0a:	c1 e9 08             	shr    $0x8,%ecx
540d0d:	0f b6 c9             	movzbl %cl,%ecx
540d10:	8b 3c 95 58 c1 64 00 	mov    0x64c158(,%edx,4),%edi
540d17:	33 3c 8d 58 c5 64 00 	xor    0x64c558(,%ecx,4),%edi
540d1e:	8b cb                	mov    %ebx,%ecx
540d20:	c1 e9 18             	shr    $0x18,%ecx
540d23:	33 3c 8d 58 bd 64 00 	xor    0x64bd58(,%ecx,4),%edi
540d2a:	0f b6 cb             	movzbl %bl,%ecx
540d2d:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
540d31:	33 3c 8d 58 c9 64 00 	xor    0x64c958(,%ecx,4),%edi
540d38:	8b cb                	mov    %ebx,%ecx
540d3a:	c1 e9 10             	shr    $0x10,%ecx
540d3d:	0f b6 d1             	movzbl %cl,%edx
540d40:	8b cb                	mov    %ebx,%ecx
540d42:	c1 e9 08             	shr    $0x8,%ecx
540d45:	0f b6 c9             	movzbl %cl,%ecx
540d48:	8b 34 95 58 c1 64 00 	mov    0x64c158(,%edx,4),%esi
540d4f:	33 34 8d 58 c5 64 00 	xor    0x64c558(,%ecx,4),%esi
540d56:	8b cb                	mov    %ebx,%ecx
540d58:	c1 e9 18             	shr    $0x18,%ecx
540d5b:	33 34 8d 58 bd 64 00 	xor    0x64bd58(,%ecx,4),%esi
540d62:	0f b6 cb             	movzbl %bl,%ecx
540d65:	8b 5c 24 18          	mov    0x18(%esp),%ebx
540d69:	33 34 8d 58 c9 64 00 	xor    0x64c958(,%ecx,4),%esi
540d70:	8b cb                	mov    %ebx,%ecx
540d72:	c1 e9 10             	shr    $0x10,%ecx
540d75:	33 f0                	xor    %eax,%esi
540d77:	0f b6 d1             	movzbl %cl,%edx
540d7a:	33 c7                	xor    %edi,%eax
540d7c:	8b cb                	mov    %ebx,%ecx
540d7e:	33 fe                	xor    %esi,%edi
540d80:	c1 e9 08             	shr    $0x8,%ecx
540d83:	0f b6 c9             	movzbl %cl,%ecx
540d86:	8b 14 95 58 c1 64 00 	mov    0x64c158(,%edx,4),%edx
540d8d:	33 14 8d 58 c5 64 00 	xor    0x64c558(,%ecx,4),%edx
540d94:	8b cb                	mov    %ebx,%ecx
540d96:	c1 e9 18             	shr    $0x18,%ecx
540d99:	33 14 8d 58 bd 64 00 	xor    0x64bd58(,%ecx,4),%edx
540da0:	0f b6 cb             	movzbl %bl,%ecx
540da3:	8b df                	mov    %edi,%ebx
540da5:	81 e3 00 00 ff 00    	and    $0xff0000,%ebx
540dab:	33 14 8d 58 c9 64 00 	xor    0x64c958(,%ecx,4),%edx
540db2:	8b cf                	mov    %edi,%ecx
540db4:	c1 e9 10             	shr    $0x10,%ecx
540db7:	33 d6                	xor    %esi,%edx
540db9:	33 d9                	xor    %ecx,%ebx
540dbb:	33 c2                	xor    %edx,%eax
540dbd:	8b cf                	mov    %edi,%ecx
540dbf:	c1 eb 08             	shr    $0x8,%ebx
540dc2:	81 e1 00 ff 00 00    	and    $0xff00,%ecx
540dc8:	c1 e7 10             	shl    $0x10,%edi
540dcb:	33 cf                	xor    %edi,%ecx
540dcd:	33 f0                	xor    %eax,%esi
540dcf:	8b 7c 24 10          	mov    0x10(%esp),%edi
540dd3:	c1 e1 08             	shl    $0x8,%ecx
540dd6:	33 d9                	xor    %ecx,%ebx
540dd8:	c1 c0 10             	rol    $0x10,%eax
540ddb:	89 5c 24 24          	mov    %ebx,0x24(%esp)
540ddf:	8b ce                	mov    %esi,%ecx
540de1:	c1 e1 08             	shl    $0x8,%ecx
540de4:	8b de                	mov    %esi,%ebx
540de6:	c1 eb 08             	shr    $0x8,%ebx
540de9:	33 d9                	xor    %ecx,%ebx
540deb:	c1 e6 08             	shl    $0x8,%esi
540dee:	8b 4c 24 24          	mov    0x24(%esp),%ecx
540df2:	81 e3 ff 00 ff 00    	and    $0xff00ff,%ebx
540df8:	33 de                	xor    %esi,%ebx
540dfa:	33 d8                	xor    %eax,%ebx
540dfc:	33 c1                	xor    %ecx,%eax
540dfe:	33 cb                	xor    %ebx,%ecx
540e00:	33 d3                	xor    %ebx,%edx
540e02:	89 4c 24 24          	mov    %ecx,0x24(%esp)
540e06:	33 c2                	xor    %edx,%eax
540e08:	8b 4f 04             	mov    0x4(%edi),%ecx
540e0b:	33 17                	xor    (%edi),%edx
540e0d:	33 c8                	xor    %eax,%ecx
540e0f:	33 47 08             	xor    0x8(%edi),%eax
540e12:	33 d9                	xor    %ecx,%ebx
540e14:	8b 4c 24 24          	mov    0x24(%esp),%ecx
540e18:	33 4f 0c             	xor    0xc(%edi),%ecx
540e1b:	83 c7 10             	add    $0x10,%edi
540e1e:	83 6c 24 14 02       	subl   $0x2,0x14(%esp)
540e23:	89 54 24 18          	mov    %edx,0x18(%esp)
540e27:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
540e2b:	89 4c 24 24          	mov    %ecx,0x24(%esp)
540e2f:	0f 84 db 02 00 00    	je     0x541110
540e35:	8b ef                	mov    %edi,%ebp
540e37:	8b c8                	mov    %eax,%ecx
540e39:	8b 7c 24 18          	mov    0x18(%esp),%edi
540e3d:	c1 e9 10             	shr    $0x10,%ecx
540e40:	0f b6 d1             	movzbl %cl,%edx
540e43:	8b c8                	mov    %eax,%ecx
540e45:	c1 e9 08             	shr    $0x8,%ecx
540e48:	0f b6 c9             	movzbl %cl,%ecx
540e4b:	8b 1c 95 58 c9 64 00 	mov    0x64c958(,%edx,4),%ebx
540e52:	8b 54 24 24          	mov    0x24(%esp),%edx
540e56:	33 1c 8d 58 bd 64 00 	xor    0x64bd58(,%ecx,4),%ebx
540e5d:	8b c8                	mov    %eax,%ecx
540e5f:	0f b6 c0             	movzbl %al,%eax
540e62:	c1 e9 18             	shr    $0x18,%ecx
540e65:	33 1c 8d 58 c5 64 00 	xor    0x64c558(,%ecx,4),%ebx
540e6c:	33 1c 85 58 c1 64 00 	xor    0x64c158(,%eax,4),%ebx
540e73:	8b c2                	mov    %edx,%eax
540e75:	c1 e8 10             	shr    $0x10,%eax
540e78:	0f b6 c8             	movzbl %al,%ecx
540e7b:	8b c2                	mov    %edx,%eax
540e7d:	c1 e8 08             	shr    $0x8,%eax
540e80:	0f b6 c0             	movzbl %al,%eax
540e83:	8b 34 8d 58 c9 64 00 	mov    0x64c958(,%ecx,4),%esi
540e8a:	33 34 85 58 bd 64 00 	xor    0x64bd58(,%eax,4),%esi
540e91:	8b c2                	mov    %edx,%eax
540e93:	c1 e8 18             	shr    $0x18,%eax
540e96:	33 34 85 58 c5 64 00 	xor    0x64c558(,%eax,4),%esi
540e9d:	0f b6 c2             	movzbl %dl,%eax
540ea0:	33 34 85 58 c1 64 00 	xor    0x64c158(,%eax,4),%esi
540ea7:	8b 44 24 1c          	mov    0x1c(%esp),%eax
540eab:	c1 e8 10             	shr    $0x10,%eax
540eae:	0f b6 c8             	movzbl %al,%ecx
540eb1:	8b 44 24 1c          	mov    0x1c(%esp),%eax
540eb5:	c1 e8 08             	shr    $0x8,%eax
540eb8:	0f b6 c0             	movzbl %al,%eax
540ebb:	8b 14 8d 58 c9 64 00 	mov    0x64c958(,%ecx,4),%edx
540ec2:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
540ec6:	33 14 85 58 bd 64 00 	xor    0x64bd58(,%eax,4),%edx
540ecd:	8b c1                	mov    %ecx,%eax
540ecf:	c1 e8 18             	shr    $0x18,%eax
540ed2:	33 14 85 58 c5 64 00 	xor    0x64c558(,%eax,4),%edx
540ed9:	0f b6 c1             	movzbl %cl,%eax
540edc:	33 14 85 58 c1 64 00 	xor    0x64c158(,%eax,4),%edx
540ee3:	8b c7                	mov    %edi,%eax
540ee5:	c1 e8 10             	shr    $0x10,%eax
540ee8:	33 d3                	xor    %ebx,%edx
540eea:	0f b6 c8             	movzbl %al,%ecx
540eed:	33 de                	xor    %esi,%ebx
540eef:	8b c7                	mov    %edi,%eax
540ef1:	33 f2                	xor    %edx,%esi
540ef3:	c1 e8 08             	shr    $0x8,%eax
540ef6:	0f b6 c0             	movzbl %al,%eax
540ef9:	8b 0c 8d 58 c9 64 00 	mov    0x64c958(,%ecx,4),%ecx
540f00:	33 0c 85 58 bd 64 00 	xor    0x64bd58(,%eax,4),%ecx
540f07:	8b c7                	mov    %edi,%eax
540f09:	c1 e8 18             	shr    $0x18,%eax
540f0c:	33 0c 85 58 c5 64 00 	xor    0x64c558(,%eax,4),%ecx
540f13:	8b c7                	mov    %edi,%eax
540f15:	0f b6 c0             	movzbl %al,%eax
540f18:	33 0c 85 58 c1 64 00 	xor    0x64c158(,%eax,4),%ecx
540f1f:	8b c6                	mov    %esi,%eax
540f21:	33 ca                	xor    %edx,%ecx
540f23:	c1 e0 08             	shl    $0x8,%eax
540f26:	33 d9                	xor    %ecx,%ebx
540f28:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
540f2c:	33 d3                	xor    %ebx,%edx
540f2e:	89 5c 24 24          	mov    %ebx,0x24(%esp)
540f32:	8b de                	mov    %esi,%ebx
540f34:	8b ca                	mov    %edx,%ecx
540f36:	c1 eb 08             	shr    $0x8,%ebx
540f39:	81 e1 00 00 ff 00    	and    $0xff0000,%ecx
540f3f:	33 d8                	xor    %eax,%ebx
540f41:	c1 e6 08             	shl    $0x8,%esi
540f44:	8b c2                	mov    %edx,%eax
540f46:	81 e3 ff 00 ff 00    	and    $0xff00ff,%ebx
540f4c:	c1 e8 10             	shr    $0x10,%eax
540f4f:	33 de                	xor    %esi,%ebx
540f51:	33 c8                	xor    %eax,%ecx
540f53:	8b c2                	mov    %edx,%eax
540f55:	c1 e9 08             	shr    $0x8,%ecx
540f58:	25 00 ff 00 00       	and    $0xff00,%eax
540f5d:	c1 e2 10             	shl    $0x10,%edx
540f60:	33 c2                	xor    %edx,%eax
540f62:	8b 54 24 24          	mov    0x24(%esp),%edx
540f66:	c1 e0 08             	shl    $0x8,%eax
540f69:	33 c8                	xor    %eax,%ecx
540f6b:	8b 44 24 1c          	mov    0x1c(%esp),%eax
540f6f:	33 ca                	xor    %edx,%ecx
540f71:	c1 c0 10             	rol    $0x10,%eax
540f74:	33 c1                	xor    %ecx,%eax
540f76:	33 d3                	xor    %ebx,%edx
540f78:	33 d9                	xor    %ecx,%ebx
540f7a:	33 d0                	xor    %eax,%edx
540f7c:	33 45 00             	xor    0x0(%ebp),%eax
540f7f:	89 44 24 1c          	mov    %eax,0x1c(%esp)
540f83:	8b 45 04             	mov    0x4(%ebp),%eax
540f86:	33 c2                	xor    %edx,%eax
540f88:	33 5d 0c             	xor    0xc(%ebp),%ebx
540f8b:	33 55 08             	xor    0x8(%ebp),%edx
540f8e:	33 c8                	xor    %eax,%ecx
540f90:	89 4c 24 18          	mov    %ecx,0x18(%esp)
540f94:	8b c2                	mov    %edx,%eax
540f96:	89 54 24 24          	mov    %edx,0x24(%esp)
540f9a:	c1 e8 10             	shr    $0x10,%eax
540f9d:	0f b6 d0             	movzbl %al,%edx
540fa0:	8b 44 24 24          	mov    0x24(%esp),%eax
540fa4:	c1 e8 08             	shr    $0x8,%eax
540fa7:	0f b6 c8             	movzbl %al,%ecx
540faa:	8b 04 95 58 c1 64 00 	mov    0x64c158(,%edx,4),%eax
540fb1:	8b 54 24 24          	mov    0x24(%esp),%edx
540fb5:	33 04 8d 58 c5 64 00 	xor    0x64c558(,%ecx,4),%eax
540fbc:	8b ca                	mov    %edx,%ecx
540fbe:	c1 e9 18             	shr    $0x18,%ecx
540fc1:	33 04 8d 58 bd 64 00 	xor    0x64bd58(,%ecx,4),%eax
540fc8:	0f b6 ca             	movzbl %dl,%ecx
540fcb:	33 04 8d 58 c9 64 00 	xor    0x64c958(,%ecx,4),%eax
540fd2:	8b cb                	mov    %ebx,%ecx
540fd4:	c1 e9 10             	shr    $0x10,%ecx
540fd7:	0f b6 d1             	movzbl %cl,%edx
540fda:	8b cb                	mov    %ebx,%ecx
540fdc:	c1 e9 08             	shr    $0x8,%ecx
540fdf:	0f b6 c9             	movzbl %cl,%ecx
540fe2:	8b 3c 95 58 c1 64 00 	mov    0x64c158(,%edx,4),%edi
540fe9:	33 3c 8d 58 c5 64 00 	xor    0x64c558(,%ecx,4),%edi
540ff0:	8b cb                	mov    %ebx,%ecx
540ff2:	c1 e9 18             	shr    $0x18,%ecx
540ff5:	33 3c 8d 58 bd 64 00 	xor    0x64bd58(,%ecx,4),%edi
540ffc:	0f b6 cb             	movzbl %bl,%ecx
540fff:	8b 5c 24 18          	mov    0x18(%esp),%ebx
541003:	33 3c 8d 58 c9 64 00 	xor    0x64c958(,%ecx,4),%edi
54100a:	8b cb                	mov    %ebx,%ecx
54100c:	c1 e9 10             	shr    $0x10,%ecx
54100f:	0f b6 d1             	movzbl %cl,%edx
541012:	8b cb                	mov    %ebx,%ecx
541014:	c1 e9 08             	shr    $0x8,%ecx
541017:	0f b6 c9             	movzbl %cl,%ecx
54101a:	8b 34 95 58 c1 64 00 	mov    0x64c158(,%edx,4),%esi
541021:	33 34 8d 58 c5 64 00 	xor    0x64c558(,%ecx,4),%esi
541028:	8b cb                	mov    %ebx,%ecx
54102a:	c1 e9 18             	shr    $0x18,%ecx
54102d:	33 34 8d 58 bd 64 00 	xor    0x64bd58(,%ecx,4),%esi
541034:	0f b6 cb             	movzbl %bl,%ecx
541037:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
54103b:	33 34 8d 58 c9 64 00 	xor    0x64c958(,%ecx,4),%esi
541042:	8b cb                	mov    %ebx,%ecx
541044:	c1 e9 10             	shr    $0x10,%ecx
541047:	33 f0                	xor    %eax,%esi
541049:	0f b6 d1             	movzbl %cl,%edx
54104c:	33 c7                	xor    %edi,%eax
54104e:	8b cb                	mov    %ebx,%ecx
541050:	33 fe                	xor    %esi,%edi
541052:	c1 e9 08             	shr    $0x8,%ecx
541055:	0f b6 c9             	movzbl %cl,%ecx
541058:	8b 14 95 58 c1 64 00 	mov    0x64c158(,%edx,4),%edx
54105f:	33 14 8d 58 c5 64 00 	xor    0x64c558(,%ecx,4),%edx
541066:	8b cb                	mov    %ebx,%ecx
541068:	c1 e9 18             	shr    $0x18,%ecx
54106b:	33 14 8d 58 bd 64 00 	xor    0x64bd58(,%ecx,4),%edx
541072:	0f b6 cb             	movzbl %bl,%ecx
541075:	33 14 8d 58 c9 64 00 	xor    0x64c958(,%ecx,4),%edx
54107c:	33 d6                	xor    %esi,%edx
54107e:	33 c2                	xor    %edx,%eax
541080:	33 f0                	xor    %eax,%esi
541082:	8b df                	mov    %edi,%ebx
541084:	c1 c0 10             	rol    $0x10,%eax
541087:	81 e3 00 00 ff 00    	and    $0xff0000,%ebx
54108d:	8b cf                	mov    %edi,%ecx
54108f:	c1 e9 10             	shr    $0x10,%ecx
541092:	33 d9                	xor    %ecx,%ebx
541094:	8b cf                	mov    %edi,%ecx
541096:	81 e1 00 ff 00 00    	and    $0xff00,%ecx
54109c:	c1 eb 08             	shr    $0x8,%ebx
54109f:	c1 e7 10             	shl    $0x10,%edi
5410a2:	33 cf                	xor    %edi,%ecx
5410a4:	c1 e1 08             	shl    $0x8,%ecx
5410a7:	33 d9                	xor    %ecx,%ebx
5410a9:	8b ce                	mov    %esi,%ecx
5410ab:	89 5c 24 24          	mov    %ebx,0x24(%esp)
5410af:	8b de                	mov    %esi,%ebx
5410b1:	c1 e1 08             	shl    $0x8,%ecx
5410b4:	c1 eb 08             	shr    $0x8,%ebx
5410b7:	33 d9                	xor    %ecx,%ebx
5410b9:	c1 e6 08             	shl    $0x8,%esi
5410bc:	8b 4c 24 24          	mov    0x24(%esp),%ecx
5410c0:	81 e3 ff 00 ff 00    	and    $0xff00ff,%ebx
5410c6:	33 de                	xor    %esi,%ebx
5410c8:	33 d8                	xor    %eax,%ebx
5410ca:	33 c1                	xor    %ecx,%eax
5410cc:	33 cb                	xor    %ebx,%ecx
5410ce:	33 d3                	xor    %ebx,%edx
5410d0:	89 4c 24 24          	mov    %ecx,0x24(%esp)
5410d4:	33 c2                	xor    %edx,%eax
5410d6:	8b 4d 14             	mov    0x14(%ebp),%ecx
5410d9:	33 55 10             	xor    0x10(%ebp),%edx
5410dc:	33 c8                	xor    %eax,%ecx
5410de:	33 45 18             	xor    0x18(%ebp),%eax
5410e1:	33 d9                	xor    %ecx,%ebx
5410e3:	8b 4c 24 24          	mov    0x24(%esp),%ecx
5410e7:	33 4d 1c             	xor    0x1c(%ebp),%ecx
5410ea:	83 c5 20             	add    $0x20,%ebp
5410ed:	83 6c 24 14 02       	subl   $0x2,0x14(%esp)
5410f2:	89 54 24 18          	mov    %edx,0x18(%esp)
5410f6:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
5410fa:	89 4c 24 24          	mov    %ecx,0x24(%esp)
5410fe:	0f 85 33 fd ff ff    	jne    0x540e37
541104:	89 6c 24 10          	mov    %ebp,0x10(%esp)
541108:	8b 6c 24 28          	mov    0x28(%esp),%ebp
54110c:	8b 7c 24 10          	mov    0x10(%esp),%edi
541110:	8b 5c 24 18          	mov    0x18(%esp),%ebx
541114:	8b ca                	mov    %edx,%ecx
541116:	c1 e9 10             	shr    $0x10,%ecx
541119:	0f b6 c9             	movzbl %cl,%ecx
54111c:	8b 74 24 24          	mov    0x24(%esp),%esi
541120:	8b 0c 8d 58 c9 64 00 	mov    0x64c958(,%ecx,4),%ecx
541127:	c1 e9 08             	shr    $0x8,%ecx
54112a:	0f b6 d1             	movzbl %cl,%edx
54112d:	8b cb                	mov    %ebx,%ecx
54112f:	c1 e9 18             	shr    $0x18,%ecx
541132:	0f b6 0c 8d 58 c5 64 	movzbl 0x64c558(,%ecx,4),%ecx
541139:	00
54113a:	c1 e1 08             	shl    $0x8,%ecx
54113d:	0b d1                	or     %ecx,%edx
54113f:	8b cb                	mov    %ebx,%ecx
541141:	c1 e9 08             	shr    $0x8,%ecx
541144:	0f b6 c9             	movzbl %cl,%ecx
541147:	c1 e2 08             	shl    $0x8,%edx
54114a:	0f b6 0c 8d 58 bd 64 	movzbl 0x64bd58(,%ecx,4),%ecx
541151:	00
541152:	0b d1                	or     %ecx,%edx
541154:	0f b6 cb             	movzbl %bl,%ecx
541157:	c1 e2 08             	shl    $0x8,%edx
54115a:	0f b6 0c 8d 58 c1 64 	movzbl 0x64c158(,%ecx,4),%ecx
541161:	00
541162:	0b d1                	or     %ecx,%edx
541164:	33 17                	xor    (%edi),%edx
541166:	89 54 24 18          	mov    %edx,0x18(%esp)
54116a:	8b 54 24 1c          	mov    0x1c(%esp),%edx
54116e:	8b ca                	mov    %edx,%ecx
541170:	c1 e9 10             	shr    $0x10,%ecx