5b3ac2:	c1 e9 03             	shr    $0x3,%ecx
5b3ac5:	08 14 0b             	or     %dl,(%ebx,%ecx,1)
5b3ac8:	46                   	inc    %esi
5b3ac9:	40                   	inc    %eax
5b3aca:	ff 4d ec             	decl   -0x14(%ebp)
5b3acd:	75 d1                	jne    0x5b3aa0
5b3acf:	e9 c2 01 00 00       	jmp    0x5b3c96
5b3ad4:	0f b7 4d 14          	movzwl 0x14(%ebp),%ecx
5b3ad8:	8b d7                	mov    %edi,%edx
5b3ada:	8b c3                	mov    %ebx,%eax
5b3adc:	e8 df 43 e5 ff       	call   0x407ec0
5b3ae1:	e9 b0 01 00 00       	jmp    0x5b3c96
5b3ae6:	33 c0                	xor    %eax,%eax
5b3ae8:	89 45 f8             	mov    %eax,-0x8(%ebp)
5b3aeb:	0f b7 45 14          	movzwl 0x14(%ebp),%eax
5b3aef:	48                   	dec    %eax
5b3af0:	85 c0                	test   %eax,%eax
5b3af2:	0f 8c 9e 01 00 00    	jl     0x5b3c96
5b3af8:	40                   	inc    %eax
5b3af9:	89 45 ec             	mov    %eax,-0x14(%ebp)
5b3afc:	8b c7                	mov    %edi,%eax
5b3afe:	8a 10                	mov    (%eax),%dl
5b3b00:	88 55 f7             	mov    %dl,-0x9(%ebp)
5b3b03:	33 d2                	xor    %edx,%edx
5b3b05:	8a 55 f7             	mov    -0x9(%ebp),%dl
5b3b08:	8d 14 52             	lea    (%edx,%edx,2),%edx
5b3b0b:	8b 4d 10             	mov    0x10(%ebp),%ecx
5b3b0e:	8a 0c 11             	mov    (%ecx,%edx,1),%cl
5b3b11:	8b 75 f8             	mov    -0x8(%ebp),%esi
5b3b14:	88 0c 33             	mov    %cl,(%ebx,%esi,1)
5b3b17:	8b 4d 10             	mov    0x10(%ebp),%ecx
5b3b1a:	8a 4c 11 01          	mov    0x1(%ecx,%edx,1),%cl
5b3b1e:	8b 75 f8             	mov    -0x8(%ebp),%esi
5b3b21:	88 4c 33 01          	mov    %cl,0x1(%ebx,%esi,1)
5b3b25:	8b 4d 10             	mov    0x10(%ebp),%ecx
5b3b28:	8a 54 11 02          	mov    0x2(%ecx,%edx,1),%dl
5b3b2c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5b3b2f:	88 54 0b 02          	mov    %dl,0x2(%ebx,%ecx,1)
5b3b33:	83 45 f8 03          	addl   $0x3,-0x8(%ebp)
5b3b37:	40                   	inc    %eax
5b3b38:	ff 4d ec             	decl   -0x14(%ebp)
5b3b3b:	75 c1                	jne    0x5b3afe
5b3b3d:	e9 54 01 00 00       	jmp    0x5b3c96
5b3b42:	66 8b 45 18          	mov    0x18(%ebp),%ax
5b3b46:	66 83 e8 04          	sub    $0x4,%ax
5b3b4a:	74 19                	je     0x5b3b65
5b3b4c:	66 83 e8 04          	sub    $0x4,%ax
5b3b50:	0f 84 91 00 00 00    	je     0x5b3be7
5b3b56:	66 83 e8 10          	sub    $0x10,%ax
5b3b5a:	0f 84 db 00 00 00    	je     0x5b3c3b
5b3b60:	e9 31 01 00 00       	jmp    0x5b3c96
5b3b65:	33 c0                	xor    %eax,%eax
5b3b67:	89 45 f8             	mov    %eax,-0x8(%ebp)
5b3b6a:	0f b7 45 14          	movzwl 0x14(%ebp),%eax
5b3b6e:	48                   	dec    %eax
5b3b6f:	85 c0                	test   %eax,%eax
5b3b71:	0f 8c 1f 01 00 00    	jl     0x5b3c96
5b3b77:	40                   	inc    %eax
5b3b78:	89 45 ec             	mov    %eax,-0x14(%ebp)
5b3b7b:	33 f6                	xor    %esi,%esi
5b3b7d:	8d 45 e8             	lea    -0x18(%ebp),%eax
5b3b80:	50                   	push   %eax
5b3b81:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b3b84:	8a 0c 07             	mov    (%edi,%eax,1),%cl
5b3b87:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b3b8a:	8a 44 07 01          	mov    0x1(%edi,%eax,1),%al
5b3b8e:	50                   	push   %eax
5b3b8f:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b3b92:	8a 44 07 02          	mov    0x2(%edi,%eax,1),%al
5b3b96:	5a                   	pop    %edx
5b3b97:	e8 74 57 ff ff       	call   0x5a9310
5b3b9c:	8a 45 ea             	mov    -0x16(%ebp),%al
5b3b9f:	c1 e0 10             	shl    $0x10,%eax
5b3ba2:	66 8b 45 e8          	mov    -0x18(%ebp),%ax
5b3ba6:	50                   	push   %eax
5b3ba7:	8b 45 f0             	mov    -0x10(%ebp),%eax
5b3baa:	e8 f1 bf f8 ff       	call   0x53fba0
5b3baf:	88 45 f7             	mov    %al,-0x9(%ebp)
5b3bb2:	8b c6                	mov    %esi,%eax
5b3bb4:	25 01 00 00 80       	and    $0x80000001,%eax
5b3bb9:	79 05                	jns    0x5b3bc0
5b3bbb:	48                   	dec    %eax
5b3bbc:	83 c8 fe             	or     $0xfffffffe,%eax
5b3bbf:	40                   	inc    %eax
5b3bc0:	ba 01 00 00 00       	mov    $0x1,%edx
5b3bc5:	2b d0                	sub    %eax,%edx
5b3bc7:	8b ca                	mov    %edx,%ecx
5b3bc9:	c1 e1 02             	shl    $0x2,%ecx
5b3bcc:	8a 45 f7             	mov    -0x9(%ebp),%al
5b3bcf:	d2 e0                	shl    %cl,%al
5b3bd1:	8b d6                	mov    %esi,%edx
5b3bd3:	d1 ea                	shr    $1,%edx
5b3bd5:	08 04 13             	or     %al,(%ebx,%edx,1)
5b3bd8:	83 45 f8 03          	addl   $0x3,-0x8(%ebp)
5b3bdc:	46                   	inc    %esi
5b3bdd:	ff 4d ec             	decl   -0x14(%ebp)
5b3be0:	75 9b                	jne    0x5b3b7d
5b3be2:	e9 af 00 00 00       	jmp    0x5b3c96
5b3be7:	33 c0                	xor    %eax,%eax
5b3be9:	89 45 f8             	mov    %eax,-0x8(%ebp)
5b3bec:	0f b7 45 14          	movzwl 0x14(%ebp),%eax
5b3bf0:	48                   	dec    %eax
5b3bf1:	85 c0                	test   %eax,%eax
5b3bf3:	0f 8c 9d 00 00 00    	jl     0x5b3c96
5b3bf9:	40                   	inc    %eax
5b3bfa:	89 45 ec             	mov    %eax,-0x14(%ebp)
5b3bfd:	8d 45 e8             	lea    -0x18(%ebp),%eax
5b3c00:	50                   	push   %eax
5b3c01:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b3c04:	8a 0c 07             	mov    (%edi,%eax,1),%cl
5b3c07:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b3c0a:	8a 54 07 01          	mov    0x1(%edi,%eax,1),%dl
5b3c0e:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b3c11:	8a 44 07 02          	mov    0x2(%edi,%eax,1),%al
5b3c15:	e8 f6 56 ff ff       	call   0x5a9310
5b3c1a:	8a 45 ea             	mov    -0x16(%ebp),%al
5b3c1d:	c1 e0 10             	shl    $0x10,%eax
5b3c20:	66 8b 45 e8          	mov    -0x18(%ebp),%ax
5b3c24:	50                   	push   %eax
5b3c25:	8b 45 f0             	mov    -0x10(%ebp),%eax
5b3c28:	e8 73 bf f8 ff       	call   0x53fba0
5b3c2d:	88 03                	mov    %al,(%ebx)
5b3c2f:	83 45 f8 03          	addl   $0x3,-0x8(%ebp)
5b3c33:	43                   	inc    %ebx
5b3c34:	ff 4d ec             	decl   -0x14(%ebp)
5b3c37:	75 c4                	jne    0x5b3bfd
5b3c39:	eb 5b                	jmp    0x5b3c96
5b3c3b:	0f b7 45 14          	movzwl 0x14(%ebp),%eax
5b3c3f:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5b3c42:	8b d7                	mov    %edi,%edx
5b3c44:	8b c3                	mov    %ebx,%eax
5b3c46:	e8 75 42 e5 ff       	call   0x407ec0
5b3c4b:	eb 49                	jmp    0x5b3c96
5b3c4d:	66 8b 45 18          	mov    0x18(%ebp),%ax
5b3c51:	66 83 e8 18          	sub    $0x18,%ax
5b3c55:	75 3f                	jne    0x5b3c96
5b3c57:	33 f6                	xor    %esi,%esi
5b3c59:	33 c0                	xor    %eax,%eax
5b3c5b:	89 45 f8             	mov    %eax,-0x8(%ebp)
5b3c5e:	0f b7 45 14          	movzwl 0x14(%ebp),%eax
5b3c62:	48                   	dec    %eax
5b3c63:	85 c0                	test   %eax,%eax
5b3c65:	7c 2f                	jl     0x5b3c96
5b3c67:	40                   	inc    %eax
5b3c68:	89 45 ec             	mov    %eax,-0x14(%ebp)
5b3c6b:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b3c6e:	8a 04 07             	mov    (%edi,%eax,1),%al
5b3c71:	88 04 33             	mov    %al,(%ebx,%esi,1)
5b3c74:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b3c77:	8a 44 07 01          	mov    0x1(%edi,%eax,1),%al
5b3c7b:	88 44 33 01          	mov    %al,0x1(%ebx,%esi,1)
5b3c7f:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b3c82:	8a 44 07 02          	mov    0x2(%edi,%eax,1),%al
5b3c86:	88 44 33 02          	mov    %al,0x2(%ebx,%esi,1)
5b3c8a:	83 c6 03             	add    $0x3,%esi
5b3c8d:	83 45 f8 04          	addl   $0x4,-0x8(%ebp)
5b3c91:	ff 4d ec             	decl   -0x14(%ebp)
5b3c94:	75 d5                	jne    0x5b3c6b
5b3c96:	66 8b 45 18          	mov    0x18(%ebp),%ax
5b3c9a:	66 ff c8             	dec    %ax
5b3c9d:	74 14                	je     0x5b3cb3
5b3c9f:	66 83 e8 03          	sub    $0x3,%ax
5b3ca3:	74 1a                	je     0x5b3cbf
5b3ca5:	66 83 e8 04          	sub    $0x4,%ax
5b3ca9:	74 1d                	je     0x5b3cc8
5b3cab:	66 83 e8 10          	sub    $0x10,%ax
5b3caf:	74 1d                	je     0x5b3cce
5b3cb1:	eb 24                	jmp    0x5b3cd7
5b3cb3:	0f b7 45 14          	movzwl 0x14(%ebp),%eax
5b3cb7:	83 c0 07             	add    $0x7,%eax
5b3cba:	c1 e8 03             	shr    $0x3,%eax
5b3cbd:	eb 1a                	jmp    0x5b3cd9
5b3cbf:	0f b7 45 14          	movzwl 0x14(%ebp),%eax
5b3cc3:	40                   	inc    %eax
5b3cc4:	d1 e8                	shr    $1,%eax
5b3cc6:	eb 11                	jmp    0x5b3cd9
5b3cc8:	0f b7 45 14          	movzwl 0x14(%ebp),%eax
5b3ccc:	eb 0b                	jmp    0x5b3cd9
5b3cce:	0f b7 45 14          	movzwl 0x14(%ebp),%eax
5b3cd2:	8d 04 40             	lea    (%eax,%eax,2),%eax
5b3cd5:	eb 02                	jmp    0x5b3cd9
5b3cd7:	33 c0                	xor    %eax,%eax
5b3cd9:	8b 7d dc             	mov    -0x24(%ebp),%edi
5b3cdc:	8b 75 e0             	mov    -0x20(%ebp),%esi
5b3cdf:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
5b3ce2:	8b e5                	mov    %ebp,%esp
5b3ce4:	5d                   	pop    %ebp
5b3ce5:	c2 14 00             	ret    $0x14
5b3ce8:	53                   	push   %ebx
5b3ce9:	56                   	push   %esi
5b3cea:	57                   	push   %edi
5b3ceb:	84 d2                	test   %dl,%dl
5b3ced:	74 08                	je     0x5b3cf7
5b3cef:	83 c4 f0             	add    $0xfffffff0,%esp
5b3cf2:	e8 e5 00 e5 ff       	call   0x403ddc
5b3cf7:	8b f1                	mov    %ecx,%esi
5b3cf9:	8b da                	mov    %edx,%ebx
5b3cfb:	8b f8                	mov    %eax,%edi
5b3cfd:	33 d2                	xor    %edx,%edx
5b3cff:	8b c7                	mov    %edi,%eax
5b3d01:	e8 42 fd e4 ff       	call   0x403a48
5b3d06:	89 77 2c             	mov    %esi,0x2c(%edi)
5b3d09:	b2 01                	mov    $0x1,%dl
5b3d0b:	a1 ec 6a 42 00       	mov    0x426aec,%eax
5b3d10:	e8 bb 94 e7 ff       	call   0x42d1d0
5b3d15:	8b f0                	mov    %eax,%esi
5b3d17:	89 77 04             	mov    %esi,0x4(%edi)
5b3d1a:	8b c6                	mov    %esi,%eax
5b3d1c:	ba 01 00 00 00       	mov    $0x1,%edx
5b3d21:	8b 08                	mov    (%eax),%ecx
5b3d23:	ff 51 40             	call   *0x40(%ecx)
5b3d26:	8b 47 04             	mov    0x4(%edi),%eax
5b3d29:	ba 01 00 00 00       	mov    $0x1,%edx
5b3d2e:	8b 08                	mov    (%eax),%ecx
5b3d30:	ff 51 34             	call   *0x34(%ecx)
5b3d33:	8b 47 04             	mov    0x4(%edi),%eax
5b3d36:	b2 06                	mov    $0x6,%dl
5b3d38:	e8 6b aa e7 ff       	call   0x42e7a8
5b3d3d:	b2 01                	mov    $0x1,%dl
5b3d3f:	a1 ec 6a 42 00       	mov    0x426aec,%eax
5b3d44:	e8 87 94 e7 ff       	call   0x42d1d0
5b3d49:	8b f0                	mov    %eax,%esi
5b3d4b:	89 77 08             	mov    %esi,0x8(%edi)
5b3d4e:	8b c6                	mov    %esi,%eax
5b3d50:	ba 01 00 00 00       	mov    $0x1,%edx
5b3d55:	8b 08                	mov    (%eax),%ecx
5b3d57:	ff 51 40             	call   *0x40(%ecx)
5b3d5a:	8b 47 08             	mov    0x8(%edi),%eax
5b3d5d:	ba 01 00 00 00       	mov    $0x1,%edx
5b3d62:	8b 08                	mov    (%eax),%ecx
5b3d64:	ff 51 34             	call   *0x34(%ecx)
5b3d67:	8b 47 08             	mov    0x8(%edi),%eax
5b3d6a:	b2 06                	mov    $0x6,%dl
5b3d6c:	e8 37 aa e7 ff       	call   0x42e7a8
5b3d71:	b2 01                	mov    $0x1,%dl
5b3d73:	a1 ec 6a 42 00       	mov    0x426aec,%eax
5b3d78:	e8 53 94 e7 ff       	call   0x42d1d0
5b3d7d:	8b f0                	mov    %eax,%esi
5b3d7f:	89 77 0c             	mov    %esi,0xc(%edi)
5b3d82:	8b c6                	mov    %esi,%eax
5b3d84:	ba 01 00 00 00       	mov    $0x1,%edx
5b3d89:	8b 08                	mov    (%eax),%ecx
5b3d8b:	ff 51 40             	call   *0x40(%ecx)
5b3d8e:	8b 47 0c             	mov    0xc(%edi),%eax
5b3d91:	ba 01 00 00 00       	mov    $0x1,%edx
5b3d96:	8b 08                	mov    (%eax),%ecx
5b3d98:	ff 51 34             	call   *0x34(%ecx)
5b3d9b:	8b 47 0c             	mov    0xc(%edi),%eax
5b3d9e:	b2 06                	mov    $0x6,%dl
5b3da0:	e8 03 aa e7 ff       	call   0x42e7a8
5b3da5:	c6 47 28 00          	movb   $0x0,0x28(%edi)
5b3da9:	c6 47 3c 00          	movb   $0x0,0x3c(%edi)
5b3dad:	c7 47 40 e8 03 00 00 	movl   $0x3e8,0x40(%edi)
5b3db4:	33 c0                	xor    %eax,%eax
5b3db6:	89 47 14             	mov    %eax,0x14(%edi)
5b3db9:	33 c0                	xor    %eax,%eax
5b3dbb:	89 47 18             	mov    %eax,0x18(%edi)
5b3dbe:	33 c0                	xor    %eax,%eax
5b3dc0:	89 47 1c             	mov    %eax,0x1c(%edi)
5b3dc3:	c6 47 48 00          	movb   $0x0,0x48(%edi)
5b3dc7:	8b 4f 2c             	mov    0x2c(%edi),%ecx
5b3dca:	b2 01                	mov    $0x1,%dl
5b3dcc:	a1 48 d5 43 00       	mov    0x43d548,%eax
5b3dd1:	e8 9a aa e8 ff       	call   0x43e870
5b3dd6:	8b f0                	mov    %eax,%esi
5b3dd8:	89 77 30             	mov    %esi,0x30(%edi)
5b3ddb:	8b c6                	mov    %esi,%eax
5b3ddd:	33 d2                	xor    %edx,%edx
5b3ddf:	e8 14 ac e8 ff       	call   0x43e9f8
5b3de4:	57                   	push   %edi
5b3de5:	68 08 40 5b 00       	push   $0x5b4008
5b3dea:	8b 47 30             	mov    0x30(%edi),%eax
5b3ded:	e8 26 ac e8 ff       	call   0x43ea18
5b3df2:	8b 47 30             	mov    0x30(%edi),%eax
5b3df5:	ba 01 00 00 00       	mov    $0x1,%edx
5b3dfa:	e8 09 ac e8 ff       	call   0x43ea08
5b3dff:	33 c0                	xor    %eax,%eax
5b3e01:	89 47 10             	mov    %eax,0x10(%edi)
5b3e04:	8b c7                	mov    %edi,%eax
5b3e06:	84 db                	test   %bl,%bl
5b3e08:	74 0f                	je     0x5b3e19
5b3e0a:	e8 25 00 e5 ff       	call   0x403e34
5b3e0f:	64 8f 05 00 00 00 00 	pop    %fs:0x0
5b3e16:	83 c4 0c             	add    $0xc,%esp
5b3e19:	8b c7                	mov    %edi,%eax
5b3e1b:	5f                   	pop    %edi
5b3e1c:	5e                   	pop    %esi
5b3e1d:	5b                   	pop    %ebx
5b3e1e:	c3                   	ret
5b3e1f:	90                   	nop
5b3e20:	53                   	push   %ebx
5b3e21:	56                   	push   %esi
5b3e22:	e8 1d 00 e5 ff       	call   0x403e44
5b3e27:	8b da                	mov    %edx,%ebx
5b3e29:	8b f0                	mov    %eax,%esi
5b3e2b:	8b 46 14             	mov    0x14(%esi),%eax
5b3e2e:	85 c0                	test   %eax,%eax
5b3e30:	74 05                	je     0x5b3e37
5b3e32:	e8 95 e9 e4 ff       	call   0x4027cc
5b3e37:	8b 46 18             	mov    0x18(%esi),%eax
5b3e3a:	85 c0                	test   %eax,%eax
5b3e3c:	74 05                	je     0x5b3e43
5b3e3e:	e8 89 e9 e4 ff       	call   0x4027cc
5b3e43:	8b 46 1c             	mov    0x1c(%esi),%eax
5b3e46:	85 c0                	test   %eax,%eax
5b3e48:	74 05                	je     0x5b3e4f
5b3e4a:	e8 7d e9 e4 ff       	call   0x4027cc
5b3e4f:	33 c0                	xor    %eax,%eax
5b3e51:	89 46 14             	mov    %eax,0x14(%esi)
5b3e54:	33 c0                	xor    %eax,%eax
5b3e56:	89 46 18             	mov    %eax,0x18(%esi)
5b3e59:	33 c0                	xor    %eax,%eax
5b3e5b:	89 46 1c             	mov    %eax,0x1c(%esi)
5b3e5e:	8b 46 30             	mov    0x30(%esi),%eax
5b3e61:	e8 12 fc e4 ff       	call   0x403a78
5b3e66:	8b 46 04             	mov    0x4(%esi),%eax
5b3e69:	e8 0a fc e4 ff       	call   0x403a78
5b3e6e:	8b 46 08             	mov    0x8(%esi),%eax
5b3e71:	e8 02 fc e4 ff       	call   0x403a78
5b3e76:	8b 46 0c             	mov    0xc(%esi),%eax
5b3e79:	e8 fa fb e4 ff       	call   0x403a78
5b3e7e:	8b d3                	mov    %ebx,%edx
5b3e80:	80 e2 fc             	and    $0xfc,%dl
5b3e83:	8b c6                	mov    %esi,%eax
5b3e85:	e8 de fb e4 ff       	call   0x403a68
5b3e8a:	84 db                	test   %bl,%bl
5b3e8c:	7e 07                	jle    0x5b3e95
5b3e8e:	8b c6                	mov    %esi,%eax
5b3e90:	e8 97 ff e4 ff       	call   0x403e2c
5b3e95:	5e                   	pop    %esi
5b3e96:	5b                   	pop    %ebx
5b3e97:	c3                   	ret
5b3e98:	53                   	push   %ebx
5b3e99:	8b d8                	mov    %eax,%ebx
5b3e9b:	80 7b 28 00          	cmpb   $0x0,0x28(%ebx)
5b3e9f:	74 7e                	je     0x5b3f1f
5b3ea1:	80 7b 3c 00          	cmpb   $0x0,0x3c(%ebx)
5b3ea5:	74 78                	je     0x5b3f1f
5b3ea7:	33 d2                	xor    %edx,%edx
5b3ea9:	8b 43 30             	mov    0x30(%ebx),%eax
5b3eac:	e8 47 ab e8 ff       	call   0x43e9f8
5b3eb1:	c6 43 28 00          	movb   $0x0,0x28(%ebx)
5b3eb5:	ba 01 00 00 00       	mov    $0x1,%edx
5b3eba:	8b 43 0c             	mov    0xc(%ebx),%eax
5b3ebd:	8b 08                	mov    (%eax),%ecx
5b3ebf:	ff 51 40             	call   *0x40(%ecx)
5b3ec2:	ba 01 00 00 00       	mov    $0x1,%edx
5b3ec7:	8b 43 0c             	mov    0xc(%ebx),%eax
5b3eca:	8b 08                	mov    (%eax),%ecx
5b3ecc:	ff 51 34             	call   *0x34(%ecx)