540ab3:	8b c2                	mov    %edx,%eax
540ab5:	c1 e8 10             	shr    $0x10,%eax
540ab8:	88 44 24 31          	mov    %al,0x31(%esp)
540abc:	8b c2                	mov    %edx,%eax
540abe:	c1 e8 08             	shr    $0x8,%eax
540ac1:	88 44 24 32          	mov    %al,0x32(%esp)
540ac5:	8b 44 24 44          	mov    0x44(%esp),%eax
540ac9:	89 54 24 1c          	mov    %edx,0x1c(%esp)
540acd:	88 54 24 33          	mov    %dl,0x33(%esp)
540ad1:	85 c0                	test   %eax,%eax
540ad3:	0f 84 ec 00 00 00    	je     0x540bc5
540ad9:	8b 4c 24 10          	mov    0x10(%esp),%ecx
540add:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
540ae1:	2b cf                	sub    %edi,%ecx
540ae3:	89 4c 24 10          	mov    %ecx,0x10(%esp)
540ae7:	33 ed                	xor    %ebp,%ebp
540ae9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
540af0:	48                   	dec    %eax
540af1:	89 44 24 44          	mov    %eax,0x44(%esp)
540af5:	85 f6                	test   %esi,%esi
540af7:	75 5c                	jne    0x540b55
540af9:	ff 74 24 20          	push   0x20(%esp)
540afd:	8d 44 24 1c          	lea    0x1c(%esp),%eax
540b01:	50                   	push   %eax
540b02:	e8 39 55 ed ff       	call   0x416040
540b07:	8b 5c 24 20          	mov    0x20(%esp),%ebx
540b0b:	83 c4 08             	add    $0x8,%esp
540b0e:	8b 54 24 1c          	mov    0x1c(%esp),%edx
540b12:	8b c3                	mov    %ebx,%eax
540b14:	c1 e8 18             	shr    $0x18,%eax
540b17:	88 44 24 2c          	mov    %al,0x2c(%esp)
540b1b:	8b c3                	mov    %ebx,%eax
540b1d:	8b 4c 24 10          	mov    0x10(%esp),%ecx
540b21:	c1 e8 10             	shr    $0x10,%eax
540b24:	88 44 24 2d          	mov    %al,0x2d(%esp)
540b28:	8b c3                	mov    %ebx,%eax
540b2a:	c1 e8 08             	shr    $0x8,%eax
540b2d:	88 44 24 2e          	mov    %al,0x2e(%esp)
540b31:	8b c2                	mov    %edx,%eax
540b33:	c1 e8 18             	shr    $0x18,%eax
540b36:	88 44 24 30          	mov    %al,0x30(%esp)
540b3a:	8b c2                	mov    %edx,%eax
540b3c:	c1 e8 10             	shr    $0x10,%eax
540b3f:	88 44 24 31          	mov    %al,0x31(%esp)
540b43:	8b c2                	mov    %edx,%eax
540b45:	c1 e8 08             	shr    $0x8,%eax
540b48:	45                   	inc    %ebp
540b49:	88 5c 24 2f          	mov    %bl,0x2f(%esp)
540b4d:	88 44 24 32          	mov    %al,0x32(%esp)
540b51:	88 54 24 33          	mov    %dl,0x33(%esp)
540b55:	8a 44 34 2c          	mov    0x2c(%esp,%esi,1),%al
540b59:	46                   	inc    %esi
540b5a:	32 07                	xor    (%edi),%al
540b5c:	83 e6 07             	and    $0x7,%esi
540b5f:	88 04 39             	mov    %al,(%ecx,%edi,1)
540b62:	47                   	inc    %edi
540b63:	8b 44 24 44          	mov    0x44(%esp),%eax
540b67:	85 c0                	test   %eax,%eax
540b69:	75 85                	jne    0x540af0
540b6b:	85 ed                	test   %ebp,%ebp
540b6d:	8b 6c 24 24          	mov    0x24(%esp),%ebp
540b71:	74 39                	je     0x540bac
540b73:	8b 4c 24 28          	mov    0x28(%esp),%ecx
540b77:	8b c3                	mov    %ebx,%eax
540b79:	c1 e8 18             	shr    $0x18,%eax
540b7c:	88 5d 02             	mov    %bl,0x2(%ebp)
540b7f:	88 55 06             	mov    %dl,0x6(%ebp)
540b82:	88 01                	mov    %al,(%ecx)
540b84:	8b c3                	mov    %ebx,%eax
540b86:	c1 e8 10             	shr    $0x10,%eax
540b89:	88 45 00             	mov    %al,0x0(%ebp)
540b8c:	8b c3                	mov    %ebx,%eax
540b8e:	c1 e8 08             	shr    $0x8,%eax
540b91:	88 45 01             	mov    %al,0x1(%ebp)
540b94:	8b c2                	mov    %edx,%eax
540b96:	c1 e8 18             	shr    $0x18,%eax
540b99:	88 45 03             	mov    %al,0x3(%ebp)
540b9c:	8b c2                	mov    %edx,%eax
540b9e:	c1 e8 10             	shr    $0x10,%eax
540ba1:	88 45 04             	mov    %al,0x4(%ebp)
540ba4:	8b c2                	mov    %edx,%eax
540ba6:	c1 e8 08             	shr    $0x8,%eax
540ba9:	88 45 05             	mov    %al,0x5(%ebp)
540bac:	8b 44 24 14          	mov    0x14(%esp),%eax
540bb0:	5f                   	pop    %edi
540bb1:	89 30                	mov    %esi,(%eax)
540bb3:	5e                   	pop    %esi
540bb4:	5d                   	pop    %ebp
540bb5:	5b                   	pop    %ebx
540bb6:	8b 4c 24 24          	mov    0x24(%esp),%ecx
540bba:	33 cc                	xor    %esp,%ecx
540bbc:	e8 65 0e 09 00       	call   0x5d1a26
540bc1:	83 c4 28             	add    $0x28,%esp
540bc4:	c3                   	ret
540bc5:	8b 4c 24 34          	mov    0x34(%esp),%ecx
540bc9:	89 37                	mov    %esi,(%edi)
540bcb:	5f                   	pop    %edi
540bcc:	5e                   	pop    %esi
540bcd:	5d                   	pop    %ebp
540bce:	5b                   	pop    %ebx
540bcf:	33 cc                	xor    %esp,%ecx
540bd1:	e8 50 0e 09 00       	call   0x5d1a26
540bd6:	83 c4 28             	add    $0x28,%esp
540bd9:	c3                   	ret
540bda:	cc                   	int3
540bdb:	cc                   	int3
540bdc:	cc                   	int3
540bdd:	cc                   	int3
540bde:	cc                   	int3
540bdf:	cc                   	int3
540be0:	b8 10 00 00 00       	mov    $0x10,%eax
540be5:	e8 c6 0b 09 00       	call   0x5d17b0
540bea:	8b 54 24 14          	mov    0x14(%esp),%edx
540bee:	85 d2                	test   %edx,%edx
540bf0:	0f 84 dd 06 00 00    	je     0x5412d3
540bf6:	55                   	push   %ebp
540bf7:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
540bfb:	85 ed                	test   %ebp,%ebp
540bfd:	0f 84 cf 06 00 00    	je     0x5412d2
540c03:	56                   	push   %esi
540c04:	8b 74 24 24          	mov    0x24(%esp),%esi
540c08:	85 f6                	test   %esi,%esi
540c0a:	0f 84 c1 06 00 00    	je     0x5412d1
540c10:	8b 86 10 01 00 00    	mov    0x110(%esi),%eax
540c16:	89 44 24 0c          	mov    %eax,0xc(%esp)
540c1a:	83 f8 0c             	cmp    $0xc,%eax
540c1d:	74 0e                	je     0x540c2d
540c1f:	83 f8 0e             	cmp    $0xe,%eax
540c22:	74 09                	je     0x540c2d
540c24:	83 f8 10             	cmp    $0x10,%eax
540c27:	0f 85 a4 06 00 00    	jne    0x5412d1
540c2d:	0f b6 0a             	movzbl (%edx),%ecx
540c30:	c1 e1 08             	shl    $0x8,%ecx
540c33:	0f b6 42 01          	movzbl 0x1(%edx),%eax
540c37:	33 c8                	xor    %eax,%ecx
540c39:	0f b6 42 02          	movzbl 0x2(%edx),%eax
540c3d:	c1 e1 08             	shl    $0x8,%ecx
540c40:	33 c8                	xor    %eax,%ecx
540c42:	0f b6 42 03          	movzbl 0x3(%edx),%eax
540c46:	c1 e1 08             	shl    $0x8,%ecx
540c49:	33 c8                	xor    %eax,%ecx
540c4b:	0f b6 42 05          	movzbl 0x5(%edx),%eax
540c4f:	33 0e                	xor    (%esi),%ecx
540c51:	89 4c 24 10          	mov    %ecx,0x10(%esp)
540c55:	0f b6 4a 04          	movzbl 0x4(%edx),%ecx
540c59:	c1 e1 08             	shl    $0x8,%ecx
540c5c:	33 c8                	xor    %eax,%ecx
540c5e:	0f b6 42 06          	movzbl 0x6(%edx),%eax
540c62:	c1 e1 08             	shl    $0x8,%ecx
540c65:	33 c8                	xor    %eax,%ecx
540c67:	0f b6 42 07          	movzbl 0x7(%edx),%eax
540c6b:	c1 e1 08             	shl    $0x8,%ecx
540c6e:	33 c8                	xor    %eax,%ecx
540c70:	0f b6 42 09          	movzbl 0x9(%edx),%eax
540c74:	33 4e 04             	xor    0x4(%esi),%ecx
540c77:	89 4c 24 14          	mov    %ecx,0x14(%esp)
540c7b:	0f b6 4a 0c          	movzbl 0xc(%edx),%ecx
540c7f:	53                   	push   %ebx
540c80:	0f b6 5a 08          	movzbl 0x8(%edx),%ebx
540c84:	c1 e3 08             	shl    $0x8,%ebx
540c87:	33 d8                	xor    %eax,%ebx
540c89:	c1 e1 08             	shl    $0x8,%ecx
540c8c:	0f b6 42 0a          	movzbl 0xa(%edx),%eax
540c90:	c1 e3 08             	shl    $0x8,%ebx
540c93:	33 d8                	xor    %eax,%ebx
540c95:	0f b6 42 0b          	movzbl 0xb(%edx),%eax
540c99:	c1 e3 08             	shl    $0x8,%ebx
540c9c:	33 d8                	xor    %eax,%ebx
540c9e:	0f b6 42 0d          	movzbl 0xd(%edx),%eax
540ca2:	33 c8                	xor    %eax,%ecx
540ca4:	33 5e 08             	xor    0x8(%esi),%ebx
540ca7:	0f b6 42 0e          	movzbl 0xe(%edx),%eax
540cab:	c1 e1 08             	shl    $0x8,%ecx
540cae:	33 c8                	xor    %eax,%ecx
540cb0:	0f b6 42 0f          	movzbl 0xf(%edx),%eax
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