53ecee:	c3                   	ret
53ecef:	cc                   	int3
53ecf0:	53                   	push   %ebx
53ecf1:	55                   	push   %ebp
53ecf2:	56                   	push   %esi
53ecf3:	57                   	push   %edi
53ecf4:	8b 4c 24 14          	mov    0x14(%esp),%ecx
53ecf8:	0f b6 59 04          	movzbl 0x4(%ecx),%ebx
53ecfc:	0f b6 51 07          	movzbl 0x7(%ecx),%edx
53ed00:	0f b6 01             	movzbl (%ecx),%eax
53ed03:	8d 71 01             	lea    0x1(%ecx),%esi
53ed06:	c1 e2 08             	shl    $0x8,%edx
53ed09:	0f b6 0e             	movzbl (%esi),%ecx
53ed0c:	c1 e1 08             	shl    $0x8,%ecx
53ed0f:	0b c1                	or     %ecx,%eax
53ed11:	0f b6 4e 01          	movzbl 0x1(%esi),%ecx
53ed15:	c1 e1 10             	shl    $0x10,%ecx
53ed18:	0b c1                	or     %ecx,%eax
53ed1a:	0f b6 4e 02          	movzbl 0x2(%esi),%ecx
53ed1e:	c1 e1 18             	shl    $0x18,%ecx
53ed21:	0b c1                	or     %ecx,%eax
53ed23:	0f b6 4e 04          	movzbl 0x4(%esi),%ecx
53ed27:	c1 e1 08             	shl    $0x8,%ecx
53ed2a:	0b d9                	or     %ecx,%ebx
53ed2c:	0f b6 4e 05          	movzbl 0x5(%esi),%ecx
53ed30:	0b d1                	or     %ecx,%edx
53ed32:	c1 e2 10             	shl    $0x10,%edx
53ed35:	0b da                	or     %edx,%ebx
53ed37:	8b cb                	mov    %ebx,%ecx
53ed39:	c1 e9 04             	shr    $0x4,%ecx
53ed3c:	33 c8                	xor    %eax,%ecx
53ed3e:	81 e1 0f 0f 0f 0f    	and    $0xf0f0f0f,%ecx
53ed44:	33 c1                	xor    %ecx,%eax
53ed46:	c1 e1 04             	shl    $0x4,%ecx
53ed49:	33 d9                	xor    %ecx,%ebx
53ed4b:	8b d0                	mov    %eax,%edx
53ed4d:	c1 e2 12             	shl    $0x12,%edx
53ed50:	33 d0                	xor    %eax,%edx
53ed52:	81 e2 00 00 cc cc    	and    $0xcccc0000,%edx
53ed58:	8b ca                	mov    %edx,%ecx
53ed5a:	c1 e9 12             	shr    $0x12,%ecx
53ed5d:	33 ca                	xor    %edx,%ecx
53ed5f:	8b d3                	mov    %ebx,%edx
53ed61:	33 c1                	xor    %ecx,%eax
53ed63:	c1 e2 12             	shl    $0x12,%edx
53ed66:	33 d3                	xor    %ebx,%edx
53ed68:	81 e2 00 00 cc cc    	and    $0xcccc0000,%edx
53ed6e:	8b ca                	mov    %edx,%ecx
53ed70:	c1 e9 12             	shr    $0x12,%ecx
53ed73:	33 ca                	xor    %edx,%ecx
53ed75:	33 d9                	xor    %ecx,%ebx
53ed77:	8b cb                	mov    %ebx,%ecx
53ed79:	d1 e9                	shr    $1,%ecx
53ed7b:	33 c8                	xor    %eax,%ecx
53ed7d:	81 e1 55 55 55 55    	and    $0x55555555,%ecx
53ed83:	33 c1                	xor    %ecx,%eax
53ed85:	03 c9                	add    %ecx,%ecx
53ed87:	33 d9                	xor    %ecx,%ebx
53ed89:	8b c8                	mov    %eax,%ecx
53ed8b:	c1 e9 08             	shr    $0x8,%ecx
53ed8e:	33 cb                	xor    %ebx,%ecx
53ed90:	81 e1 ff 00 ff 00    	and    $0xff00ff,%ecx
53ed96:	33 d9                	xor    %ecx,%ebx
53ed98:	c1 e1 08             	shl    $0x8,%ecx
53ed9b:	33 c1                	xor    %ecx,%eax
53ed9d:	8b cb                	mov    %ebx,%ecx
53ed9f:	d1 e9                	shr    $1,%ecx
53eda1:	33 c8                	xor    %eax,%ecx
53eda3:	81 e1 55 55 55 55    	and    $0x55555555,%ecx
53eda9:	33 c1                	xor    %ecx,%eax
53edab:	03 c9                	add    %ecx,%ecx
53edad:	33 d9                	xor    %ecx,%ebx
53edaf:	8b c8                	mov    %eax,%ecx
53edb1:	8b eb                	mov    %ebx,%ebp
53edb3:	81 e1 0f 00 00 f0    	and    $0xf000000f,%ecx
53edb9:	c1 ed 0c             	shr    $0xc,%ebp
53edbc:	81 e5 f0 0f 00 00    	and    $0xff0,%ebp
53edc2:	0b e9                	or     %ecx,%ebp
53edc4:	0f b6 cb             	movzbl %bl,%ecx
53edc7:	c1 ed 04             	shr    $0x4,%ebp
53edca:	c1 e1 10             	shl    $0x10,%ecx
53edcd:	0b e9                	or     %ecx,%ebp
53edcf:	81 e3 00 ff 00 00    	and    $0xff00,%ebx
53edd5:	b9 80 ac 64 00       	mov    $0x64ac80,%ecx
53edda:	0b eb                	or     %ebx,%ebp
53eddc:	25 ff ff ff 0f       	and    $0xfffffff,%eax
53ede1:	89 4c 24 14          	mov    %ecx,0x14(%esp)
53ede5:	83 39 00             	cmpl   $0x0,(%ecx)
53ede8:	8b c8                	mov    %eax,%ecx
53edea:	74 12                	je     0x53edfe
53edec:	c1 e1 1a             	shl    $0x1a,%ecx
53edef:	c1 e8 02             	shr    $0x2,%eax
53edf2:	0b c1                	or     %ecx,%eax
53edf4:	8b cd                	mov    %ebp,%ecx
53edf6:	c1 e1 1a             	shl    $0x1a,%ecx
53edf9:	c1 ed 02             	shr    $0x2,%ebp
53edfc:	eb 0e                	jmp    0x53ee0c
53edfe:	c1 e1 1b             	shl    $0x1b,%ecx
53ee01:	d1 e8                	shr    $1,%eax
53ee03:	0b c1                	or     %ecx,%eax
53ee05:	8b cd                	mov    %ebp,%ecx
53ee07:	c1 e1 1b             	shl    $0x1b,%ecx
53ee0a:	d1 ed                	shr    $1,%ebp
53ee0c:	0b e9                	or     %ecx,%ebp
53ee0e:	25 ff ff ff 0f       	and    $0xfffffff,%eax
53ee13:	8b f8                	mov    %eax,%edi
53ee15:	8b c8                	mov    %eax,%ecx
53ee17:	81 e1 00 00 c0 00    	and    $0xc00000,%ecx
53ee1d:	d1 ef                	shr    $1,%edi
53ee1f:	8b f7                	mov    %edi,%esi
53ee21:	8b d0                	mov    %eax,%edx
53ee23:	81 e6 00 00 00 07    	and    $0x7000000,%esi
53ee29:	81 e2 00 e0 01 00    	and    $0x1e000,%edx
53ee2f:	0b f1                	or     %ecx,%esi
53ee31:	81 e5 ff ff ff 0f    	and    $0xfffffff,%ebp
53ee37:	d1 ee                	shr    $1,%esi
53ee39:	8b c8                	mov    %eax,%ecx
53ee3b:	81 e1 00 00 10 00    	and    $0x100000,%ecx
53ee41:	0b f1                	or     %ecx,%esi
53ee43:	8b cf                	mov    %edi,%ecx
53ee45:	81 e1 00 00 06 00    	and    $0x60000,%ecx
53ee4b:	c1 ee 14             	shr    $0x14,%esi
53ee4e:	0b d1                	or     %ecx,%edx
53ee50:	81 e7 00 0f 00 00    	and    $0xf00,%edi
53ee56:	c1 ea 0d             	shr    $0xd,%edx
53ee59:	8b c8                	mov    %eax,%ecx
53ee5b:	81 e1 c0 00 00 00    	and    $0xc0,%ecx
53ee61:	8b 1c b5 80 a7 64 00 	mov    0x64a780(,%esi,4),%ebx
53ee68:	0b f9                	or     %ecx,%edi
53ee6a:	c1 ef 06             	shr    $0x6,%edi
53ee6d:	8b c8                	mov    %eax,%ecx
53ee6f:	0b 1c 95 80 a6 64 00 	or     0x64a680(,%edx,4),%ebx
53ee76:	83 e1 3f             	and    $0x3f,%ecx
53ee79:	8b f5                	mov    %ebp,%esi
53ee7b:	d1 ee                	shr    $1,%esi
53ee7d:	0b 1c bd 80 a5 64 00 	or     0x64a580(,%edi,4),%ebx
53ee84:	8b d6                	mov    %esi,%edx
53ee86:	0b 1c 8d 80 a4 64 00 	or     0x64a480(,%ecx,4),%ebx
53ee8d:	81 e2 00 1e 00 00    	and    $0x1e00,%edx
53ee93:	8b cd                	mov    %ebp,%ecx
53ee95:	81 e6 00 00 00 06    	and    $0x6000000,%esi
53ee9b:	81 e1 80 01 00 00    	and    $0x180,%ecx
53eea1:	0b d1                	or     %ecx,%edx
53eea3:	8b cd                	mov    %ebp,%ecx
53eea5:	81 e1 00 00 e0 01    	and    $0x1e00000,%ecx
53eeab:	c1 ea 07             	shr    $0x7,%edx
53eeae:	0b f1                	or     %ecx,%esi
53eeb0:	8b cd                	mov    %ebp,%ecx
53eeb2:	c1 e9 0f             	shr    $0xf,%ecx
53eeb5:	83 e1 3f             	and    $0x3f,%ecx
53eeb8:	c1 ee 15             	shr    $0x15,%esi
53eebb:	8b 3c 95 80 a9 64 00 	mov    0x64a980(,%edx,4),%edi
53eec2:	0f b7 d3             	movzwl %bx,%edx
53eec5:	c1 eb 10             	shr    $0x10,%ebx
53eec8:	0b 3c b5 80 ab 64 00 	or     0x64ab80(,%esi,4),%edi
53eecf:	0b 3c 8d 80 aa 64 00 	or     0x64aa80(,%ecx,4),%edi
53eed6:	8b cd                	mov    %ebp,%ecx
53eed8:	83 e1 3f             	and    $0x3f,%ecx
53eedb:	0b 3c 8d 80 a8 64 00 	or     0x64a880(,%ecx,4),%edi
53eee2:	8b cf                	mov    %edi,%ecx
53eee4:	81 e7 00 00 ff ff    	and    $0xffff0000,%edi
53eeea:	c1 e1 10             	shl    $0x10,%ecx
53eeed:	0b df                	or     %edi,%ebx
53eeef:	0b d1                	or     %ecx,%edx
53eef1:	c1 cb 1a             	ror    $0x1a,%ebx
53eef4:	8b 4c 24 18          	mov    0x18(%esp),%ecx
53eef8:	c1 ca 1e             	ror    $0x1e,%edx
53eefb:	89 11                	mov    %edx,(%ecx)
53eefd:	89 59 04             	mov    %ebx,0x4(%ecx)
53ef00:	83 c1 08             	add    $0x8,%ecx
53ef03:	89 4c 24 18          	mov    %ecx,0x18(%esp)
53ef07:	8b 4c 24 14          	mov    0x14(%esp),%ecx
53ef0b:	83 c1 04             	add    $0x4,%ecx
53ef0e:	89 4c 24 14          	mov    %ecx,0x14(%esp)
53ef12:	81 f9 c0 ac 64 00    	cmp    $0x64acc0,%ecx
53ef18:	0f 8c c7 fe ff ff    	jl     0x53ede5
53ef1e:	5f                   	pop    %edi
53ef1f:	5e                   	pop    %esi
53ef20:	5d                   	pop    %ebp
53ef21:	5b                   	pop    %ebx
53ef22:	c3                   	ret
53ef23:	cc                   	int3
53ef24:	cc                   	int3
53ef25:	cc                   	int3
53ef26:	cc                   	int3
53ef27:	cc                   	int3
53ef28:	cc                   	int3
53ef29:	cc                   	int3
53ef2a:	cc                   	int3
53ef2b:	cc                   	int3
53ef2c:	cc                   	int3
53ef2d:	cc                   	int3
53ef2e:	cc                   	int3
53ef2f:	cc                   	int3
53ef30:	8b 4c 24 04          	mov    0x4(%esp),%ecx
53ef34:	0f b6 01             	movzbl (%ecx),%eax
53ef37:	0f b6 80 00 a3 64 00 	movzbl 0x64a300(%eax),%eax
53ef3e:	88 01                	mov    %al,(%ecx)
53ef40:	0f b6 41 01          	movzbl 0x1(%ecx),%eax
53ef44:	0f b6 80 00 a3 64 00 	movzbl 0x64a300(%eax),%eax
53ef4b:	88 41 01             	mov    %al,0x1(%ecx)
53ef4e:	0f b6 41 02          	movzbl 0x2(%ecx),%eax
53ef52:	0f b6 80 00 a3 64 00 	movzbl 0x64a300(%eax),%eax
53ef59:	88 41 02             	mov    %al,0x2(%ecx)
53ef5c:	0f b6 41 03          	movzbl 0x3(%ecx),%eax
53ef60:	0f b6 80 00 a3 64 00 	movzbl 0x64a300(%eax),%eax
53ef67:	88 41 03             	mov    %al,0x3(%ecx)
53ef6a:	0f b6 41 04          	movzbl 0x4(%ecx),%eax
53ef6e:	0f b6 80 00 a3 64 00 	movzbl 0x64a300(%eax),%eax
53ef75:	88 41 04             	mov    %al,0x4(%ecx)
53ef78:	0f b6 41 05          	movzbl 0x5(%ecx),%eax
53ef7c:	0f b6 80 00 a3 64 00 	movzbl 0x64a300(%eax),%eax
53ef83:	88 41 05             	mov    %al,0x5(%ecx)
53ef86:	0f b6 41 06          	movzbl 0x6(%ecx),%eax
53ef8a:	0f b6 80 00 a3 64 00 	movzbl 0x64a300(%eax),%eax
53ef91:	88 41 06             	mov    %al,0x6(%ecx)
53ef94:	0f b6 41 07          	movzbl 0x7(%ecx),%eax
53ef98:	0f b6 80 00 a3 64 00 	movzbl 0x64a300(%eax),%eax
53ef9f:	88 41 07             	mov    %al,0x7(%ecx)
53efa2:	c3                   	ret
53efa3:	cc                   	int3
53efa4:	cc                   	int3
53efa5:	cc                   	int3
53efa6:	cc                   	int3
53efa7:	cc                   	int3
53efa8:	cc                   	int3
53efa9:	cc                   	int3
53efaa:	cc                   	int3
53efab:	cc                   	int3
53efac:	cc                   	int3
53efad:	cc                   	int3
53efae:	cc                   	int3
53efaf:	cc                   	int3
53efb0:	b8 08 00 00 00       	mov    $0x8,%eax
53efb5:	e8 f6 27 09 00       	call   0x5d17b0
53efba:	8b 44 24 20          	mov    0x20(%esp),%eax
53efbe:	55                   	push   %ebp
53efbf:	8b 6c 24 18          	mov    0x18(%esp),%ebp
53efc3:	56                   	push   %esi
53efc4:	8b 30                	mov    (%eax),%esi
53efc6:	85 ed                	test   %ebp,%ebp
53efc8:	0f 84 d5 01 00 00    	je     0x53f1a3
53efce:	83 7c 24 2c 00       	cmpl   $0x0,0x2c(%esp)
53efd3:	8b 54 24 24          	mov    0x24(%esp),%edx
53efd7:	53                   	push   %ebx
53efd8:	57                   	push   %edi
53efd9:	0f 84 e1 00 00 00    	je     0x53f0c0
53efdf:	8b 44 24 1c          	mov    0x1c(%esp),%eax
53efe3:	8b 6c 24 20          	mov    0x20(%esp),%ebp
53efe7:	2b c5                	sub    %ebp,%eax
53efe9:	89 44 24 34          	mov    %eax,0x34(%esp)
53efed:	0f 1f 00             	nopl   (%eax)
53eff0:	85 f6                	test   %esi,%esi
53eff2:	0f 85 9a 00 00 00    	jne    0x53f092
53eff8:	0f b6 02             	movzbl (%edx),%eax
53effb:	8d 5a 01             	lea    0x1(%edx),%ebx
53effe:	0f b6 0b             	movzbl (%ebx),%ecx
53f001:	0f b6 53 03          	movzbl 0x3(%ebx),%edx
53f005:	c1 e1 08             	shl    $0x8,%ecx
53f008:	0b c8                	or     %eax,%ecx
53f00a:	0f b6 43 01          	movzbl 0x1(%ebx),%eax
53f00e:	c1 e0 10             	shl    $0x10,%eax
53f011:	0b c8                	or     %eax,%ecx
53f013:	0f b6 43 02          	movzbl 0x2(%ebx),%eax
53f017:	c1 e0 18             	shl    $0x18,%eax
53f01a:	0b c8                	or     %eax,%ecx
53f01c:	0f b6 43 04          	movzbl 0x4(%ebx),%eax
53f020:	89 4c 24 10          	mov    %ecx,0x10(%esp)
53f024:	0f b6 4b 06          	movzbl 0x6(%ebx),%ecx
53f028:	c1 e0 08             	shl    $0x8,%eax
53f02b:	0b d0                	or     %eax,%edx
53f02d:	c1 e1 08             	shl    $0x8,%ecx
53f030:	0f b6 43 05          	movzbl 0x5(%ebx),%eax
53f034:	0b c8                	or     %eax,%ecx
53f036:	8d 44 24 10          	lea    0x10(%esp),%eax
53f03a:	6a 01                	push   $0x1
53f03c:	ff 74 24 2c          	push   0x2c(%esp)
53f040:	c1 e1 10             	shl    $0x10,%ecx
53f043:	0b ca                	or     %edx,%ecx
53f045:	50                   	push   %eax
53f046:	89 4c 24 20          	mov    %ecx,0x20(%esp)
53f04a:	e8 31 60 ed ff       	call   0x415080
53f04f:	8b 54 24 38          	mov    0x38(%esp),%edx
53f053:	83 c4 0c             	add    $0xc,%esp
53f056:	8b 4c 24 10          	mov    0x10(%esp),%ecx
53f05a:	8b c1                	mov    %ecx,%eax
53f05c:	c1 e8 08             	shr    $0x8,%eax
53f05f:	88 03                	mov    %al,(%ebx)
53f061:	8b c1                	mov    %ecx,%eax
53f063:	c1 e8 10             	shr    $0x10,%eax
53f066:	88 0a                	mov    %cl,(%edx)
53f068:	c1 e9 18             	shr    $0x18,%ecx
53f06b:	88 42 02             	mov    %al,0x2(%edx)
53f06e:	88 4a 03             	mov    %cl,0x3(%edx)
53f071:	8b 4c 24 14          	mov    0x14(%esp),%ecx
53f075:	8b c1                	mov    %ecx,%eax
53f077:	c1 e8 08             	shr    $0x8,%eax
53f07a:	88 42 05             	mov    %al,0x5(%edx)
53f07d:	8b c1                	mov    %ecx,%eax
53f07f:	c1 e8 10             	shr    $0x10,%eax
53f082:	88 4a 04             	mov    %cl,0x4(%edx)
53f085:	c1 e9 18             	shr    $0x18,%ecx
53f088:	88 42 06             	mov    %al,0x6(%edx)
53f08b:	8b 44 24 34          	mov    0x34(%esp),%eax
53f08f:	88 4a 07             	mov    %cl,0x7(%edx)
53f092:	8a 04 28             	mov    (%eax,%ebp,1),%al
53f095:	32 04 16             	xor    (%esi,%edx,1),%al
53f098:	88 45 00             	mov    %al,0x0(%ebp)
53f09b:	45                   	inc    %ebp
53f09c:	88 04 16             	mov    %al,(%esi,%edx,1)
53f09f:	46                   	inc    %esi
53f0a0:	8b 44 24 34          	mov    0x34(%esp),%eax
53f0a4:	83 e6 07             	and    $0x7,%esi
53f0a7:	83 6c 24 24 01       	subl   $0x1,0x24(%esp)
53f0ac:	0f 85 3e ff ff ff    	jne    0x53eff0
53f0b2:	8b 44 24 30          	mov    0x30(%esp),%eax
53f0b6:	5f                   	pop    %edi
53f0b7:	5b                   	pop    %ebx
53f0b8:	89 30                	mov    %esi,(%eax)
53f0ba:	5e                   	pop    %esi
53f0bb:	5d                   	pop    %ebp
53f0bc:	83 c4 08             	add    $0x8,%esp
53f0bf:	c3                   	ret
53f0c0:	8b 44 24 20          	mov    0x20(%esp),%eax
53f0c4:	89 44 24 34          	mov    %eax,0x34(%esp)
53f0c8:	8b 44 24 1c          	mov    0x1c(%esp),%eax
53f0cc:	89 44 24 24          	mov    %eax,0x24(%esp)
53f0d0:	85 f6                	test   %esi,%esi
53f0d2:	0f 85 9a 00 00 00    	jne    0x53f172
53f0d8:	0f b6 02             	movzbl (%edx),%eax
53f0db:	8d 5a 01             	lea    0x1(%edx),%ebx
53f0de:	0f b6 0b             	movzbl (%ebx),%ecx
53f0e1:	0f b6 53 03          	movzbl 0x3(%ebx),%edx
53f0e5:	c1 e1 08             	shl    $0x8,%ecx
53f0e8:	0b c8                	or     %eax,%ecx
53f0ea:	0f b6 43 01          	movzbl 0x1(%ebx),%eax
53f0ee:	c1 e0 10             	shl    $0x10,%eax
53f0f1:	0b c8                	or     %eax,%ecx
53f0f3:	0f b6 43 02          	movzbl 0x2(%ebx),%eax
53f0f7:	c1 e0 18             	shl    $0x18,%eax
53f0fa:	0b c8                	or     %eax,%ecx
53f0fc:	0f b6 43 04          	movzbl 0x4(%ebx),%eax
53f100:	89 4c 24 10          	mov    %ecx,0x10(%esp)
53f104:	0f b6 4b 06          	movzbl 0x6(%ebx),%ecx
53f108:	c1 e0 08             	shl    $0x8,%eax
53f10b:	0b d0                	or     %eax,%edx
53f10d:	c1 e1 08             	shl    $0x8,%ecx
53f110:	0f b6 43 05          	movzbl 0x5(%ebx),%eax
53f114:	0b c8                	or     %eax,%ecx
53f116:	8d 44 24 10          	lea    0x10(%esp),%eax