4a3c39:	0b c8                	or     %eax,%ecx
4a3c3b:	89 5c 24 14          	mov    %ebx,0x14(%esp)
4a3c3f:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
4a3c43:	57                   	push   %edi
4a3c44:	8b 7c 24 24          	mov    0x24(%esp),%edi
4a3c48:	89 7c 24 2c          	mov    %edi,0x2c(%esp)
4a3c4c:	85 db                	test   %ebx,%ebx
4a3c4e:	74 4b                	je     0x4a3c9b
4a3c50:	8b 54 24 28          	mov    0x28(%esp),%edx
4a3c54:	89 54 24 20          	mov    %edx,0x20(%esp)
4a3c58:	85 ed                	test   %ebp,%ebp
4a3c5a:	74 25                	je     0x4a3c81
4a3c5c:	8a 0f                	mov    (%edi),%cl
4a3c5e:	4d                   	dec    %ebp
4a3c5f:	8a 44 33 10          	mov    0x10(%ebx,%esi,1),%al
4a3c63:	47                   	inc    %edi
4a3c64:	32 c1                	xor    %cl,%al
4a3c66:	89 7c 24 2c          	mov    %edi,0x2c(%esp)
4a3c6a:	88 02                	mov    %al,(%edx)
4a3c6c:	42                   	inc    %edx
4a3c6d:	30 4c 33 40          	xor    %cl,0x40(%ebx,%esi,1)
4a3c71:	43                   	inc    %ebx
4a3c72:	83 e3 0f             	and    $0xf,%ebx
4a3c75:	89 54 24 20          	mov    %edx,0x20(%esp)
4a3c79:	89 5c 24 18          	mov    %ebx,0x18(%esp)
4a3c7d:	75 d9                	jne    0x4a3c58
4a3c7f:	eb 08                	jmp    0x4a3c89
4a3c81:	85 db                	test   %ebx,%ebx
4a3c83:	0f 85 74 01 00 00    	jne    0x4a3dfd
4a3c89:	8d 46 60             	lea    0x60(%esi),%eax
4a3c8c:	50                   	push   %eax
4a3c8d:	8d 46 40             	lea    0x40(%esi),%eax
4a3c90:	50                   	push   %eax
4a3c91:	e8 ca 0d 00 00       	call   0x4a4a60
4a3c96:	83 c4 08             	add    $0x8,%esp
4a3c99:	eb 08                	jmp    0x4a3ca3
4a3c9b:	8b 44 24 28          	mov    0x28(%esp),%eax
4a3c9f:	89 44 24 20          	mov    %eax,0x20(%esp)
4a3ca3:	81 fd 00 0c 00 00    	cmp    $0xc00,%ebp
4a3ca9:	0f 82 86 00 00 00    	jb     0x4a3d35
4a3caf:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4a3cb3:	8d 4e 60             	lea    0x60(%esi),%ecx
4a3cb6:	b8 ab aa aa aa       	mov    $0xaaaaaaab,%eax
4a3cbb:	f7 e5                	mul    %ebp
4a3cbd:	c1 ea 0b             	shr    $0xb,%edx
4a3cc0:	89 54 24 2c          	mov    %edx,0x2c(%esp)
4a3cc4:	68 00 0c 00 00       	push   $0xc00
4a3cc9:	57                   	push   %edi
4a3cca:	51                   	push   %ecx
4a3ccb:	8d 46 40             	lea    0x40(%esi),%eax
4a3cce:	50                   	push   %eax
4a3ccf:	e8 4c 0b 00 00       	call   0x4a4820
4a3cd4:	56                   	push   %esi
4a3cd5:	ff 74 24 28          	push   0x28(%esp)
4a3cd9:	68 c0 00 00 00       	push   $0xc0
4a3cde:	ff 74 24 3c          	push   0x3c(%esp)
4a3ce2:	57                   	push   %edi
4a3ce3:	ff 54 24 54          	call   *0x54(%esp)
4a3ce7:	81 44 24 44 00 0c 00 	addl   $0xc00,0x44(%esp)
4a3cee:	00
4a3cef:	8d 4e 60             	lea    0x60(%esi),%ecx
4a3cf2:	81 c3 c0 00 00 00    	add    $0xc0,%ebx
4a3cf8:	83 c4 24             	add    $0x24,%esp
4a3cfb:	8b c3                	mov    %ebx,%eax
4a3cfd:	88 5e 0f             	mov    %bl,0xf(%esi)
4a3d00:	c1 e8 18             	shr    $0x18,%eax
4a3d03:	81 c7 00 0c 00 00    	add    $0xc00,%edi
4a3d09:	88 46 0c             	mov    %al,0xc(%esi)
4a3d0c:	81 ed 00 0c 00 00    	sub    $0xc00,%ebp
4a3d12:	8b c3                	mov    %ebx,%eax
4a3d14:	c1 e8 10             	shr    $0x10,%eax
4a3d17:	88 46 0d             	mov    %al,0xd(%esi)
4a3d1a:	8b c3                	mov    %ebx,%eax
4a3d1c:	c1 e8 08             	shr    $0x8,%eax
4a3d1f:	83 6c 24 2c 01       	subl   $0x1,0x2c(%esp)
4a3d24:	88 46 0e             	mov    %al,0xe(%esi)
4a3d27:	75 9b                	jne    0x4a3cc4
4a3d29:	89 5c 24 10          	mov    %ebx,0x10(%esp)
4a3d2d:	8b 5c 24 18          	mov    0x18(%esp),%ebx
4a3d31:	89 7c 24 2c          	mov    %edi,0x2c(%esp)
4a3d35:	8b c5                	mov    %ebp,%eax
4a3d37:	83 e0 f0             	and    $0xfffffff0,%eax
4a3d3a:	89 44 24 18          	mov    %eax,0x18(%esp)
4a3d3e:	74 61                	je     0x4a3da1
4a3d40:	50                   	push   %eax
4a3d41:	ff 74 24 30          	push   0x30(%esp)
4a3d45:	8b f8                	mov    %eax,%edi
4a3d47:	8d 46 60             	lea    0x60(%esi),%eax
4a3d4a:	50                   	push   %eax
4a3d4b:	8d 46 40             	lea    0x40(%esi),%eax
4a3d4e:	c1 ef 04             	shr    $0x4,%edi
4a3d51:	50                   	push   %eax
4a3d52:	e8 c9 0a 00 00       	call   0x4a4820
4a3d57:	56                   	push   %esi
4a3d58:	ff 74 24 28          	push   0x28(%esp)
4a3d5c:	57                   	push   %edi
4a3d5d:	ff 74 24 3c          	push   0x3c(%esp)
4a3d61:	ff 74 24 4c          	push   0x4c(%esp)
4a3d65:	ff 54 24 54          	call   *0x54(%esp)
4a3d69:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4a3d6d:	83 c4 24             	add    $0x24,%esp
4a3d70:	03 cf                	add    %edi,%ecx
4a3d72:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
4a3d76:	8b c1                	mov    %ecx,%eax
4a3d78:	89 4c 24 10          	mov    %ecx,0x10(%esp)
4a3d7c:	c1 e8 18             	shr    $0x18,%eax
4a3d7f:	88 46 0c             	mov    %al,0xc(%esi)
4a3d82:	8b c1                	mov    %ecx,%eax
4a3d84:	c1 e8 10             	shr    $0x10,%eax
4a3d87:	88 46 0d             	mov    %al,0xd(%esi)
4a3d8a:	8b c1                	mov    %ecx,%eax
4a3d8c:	c1 e8 08             	shr    $0x8,%eax
4a3d8f:	88 46 0e             	mov    %al,0xe(%esi)
4a3d92:	8b 44 24 18          	mov    0x18(%esp),%eax
4a3d96:	03 f8                	add    %eax,%edi
4a3d98:	01 44 24 20          	add    %eax,0x20(%esp)
4a3d9c:	2b e8                	sub    %eax,%ebp
4a3d9e:	88 4e 0f             	mov    %cl,0xf(%esi)
4a3da1:	85 ed                	test   %ebp,%ebp
4a3da3:	74 58                	je     0x4a3dfd
4a3da5:	ff 74 24 14          	push   0x14(%esp)
4a3da9:	8d 46 10             	lea    0x10(%esi),%eax
4a3dac:	50                   	push   %eax
4a3dad:	8b 86 70 01 00 00    	mov    0x170(%esi),%eax
4a3db3:	56                   	push   %esi
4a3db4:	ff d0                	call   *%eax
4a3db6:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4a3dba:	83 c4 0c             	add    $0xc,%esp
4a3dbd:	41                   	inc    %ecx
4a3dbe:	8b c1                	mov    %ecx,%eax
4a3dc0:	88 4e 0f             	mov    %cl,0xf(%esi)
4a3dc3:	c1 e8 18             	shr    $0x18,%eax
4a3dc6:	88 46 0c             	mov    %al,0xc(%esi)
4a3dc9:	8b c1                	mov    %ecx,%eax
4a3dcb:	c1 e8 10             	shr    $0x10,%eax
4a3dce:	88 46 0d             	mov    %al,0xd(%esi)
4a3dd1:	8b c1                	mov    %ecx,%eax
4a3dd3:	c1 e8 08             	shr    $0x8,%eax
4a3dd6:	88 46 0e             	mov    %al,0xe(%esi)
4a3dd9:	8b 44 24 20          	mov    0x20(%esp),%eax
4a3ddd:	2b f8                	sub    %eax,%edi
4a3ddf:	8d 14 03             	lea    (%ebx,%eax,1),%edx
4a3de2:	8a 0c 17             	mov    (%edi,%edx,1),%cl
4a3de5:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
4a3de8:	30 48 40             	xor    %cl,0x40(%eax)
4a3deb:	8d 52 01             	lea    0x1(%edx),%edx
4a3dee:	8a 44 1e 10          	mov    0x10(%esi,%ebx,1),%al
4a3df2:	43                   	inc    %ebx
4a3df3:	32 c1                	xor    %cl,%al
4a3df5:	88 42 ff             	mov    %al,-0x1(%edx)
4a3df8:	83 ed 01             	sub    $0x1,%ebp
4a3dfb:	75 e5                	jne    0x4a3de2
4a3dfd:	5f                   	pop    %edi
4a3dfe:	89 9e 68 01 00 00    	mov    %ebx,0x168(%esi)
4a3e04:	33 c0                	xor    %eax,%eax
4a3e06:	5b                   	pop    %ebx
4a3e07:	5e                   	pop    %esi
4a3e08:	5d                   	pop    %ebp
4a3e09:	83 c4 0c             	add    $0xc,%esp
4a3e0c:	c3                   	ret
4a3e0d:	5e                   	pop    %esi
4a3e0e:	83 c8 ff             	or     $0xffffffff,%eax
4a3e11:	5d                   	pop    %ebp
4a3e12:	83 c4 0c             	add    $0xc,%esp
4a3e15:	c3                   	ret
4a3e16:	cc                   	int3
4a3e17:	cc                   	int3
4a3e18:	cc                   	int3
4a3e19:	cc                   	int3
4a3e1a:	cc                   	int3
4a3e1b:	cc                   	int3
4a3e1c:	cc                   	int3
4a3e1d:	cc                   	int3
4a3e1e:	cc                   	int3
4a3e1f:	cc                   	int3
4a3e20:	b8 14 00 00 00       	mov    $0x14,%eax
4a3e25:	e8 c6 d6 13 00       	call   0x5e14f0
4a3e2a:	8b 54 24 24          	mov    0x24(%esp),%edx
4a3e2e:	33 c9                	xor    %ecx,%ecx
4a3e30:	56                   	push   %esi
4a3e31:	8b 74 24 1c          	mov    0x1c(%esp),%esi
4a3e35:	8b 86 70 01 00 00    	mov    0x170(%esi),%eax
4a3e3b:	89 44 24 0c          	mov    %eax,0xc(%esp)
4a3e3f:	8b 86 74 01 00 00    	mov    0x174(%esi),%eax
4a3e45:	89 44 24 08          	mov    %eax,0x8(%esp)
4a3e49:	8b c2                	mov    %edx,%eax
4a3e4b:	03 46 38             	add    0x38(%esi),%eax
4a3e4e:	13 4e 3c             	adc    0x3c(%esi),%ecx
4a3e51:	83 f9 0f             	cmp    $0xf,%ecx
4a3e54:	0f 87 97 02 00 00    	ja     0x4a40f1
4a3e5a:	72 09                	jb     0x4a3e65
4a3e5c:	83 f8 e0             	cmp    $0xffffffe0,%eax
4a3e5f:	0f 87 8c 02 00 00    	ja     0x4a40f1
4a3e65:	83 be 6c 01 00 00 00 	cmpl   $0x0,0x16c(%esi)
4a3e6c:	89 46 38             	mov    %eax,0x38(%esi)
4a3e6f:	89 4e 3c             	mov    %ecx,0x3c(%esi)
4a3e72:	74 1e                	je     0x4a3e92
4a3e74:	8d 46 60             	lea    0x60(%esi),%eax
4a3e77:	50                   	push   %eax
4a3e78:	8d 46 40             	lea    0x40(%esi),%eax
4a3e7b:	50                   	push   %eax
4a3e7c:	e8 df 0b 00 00       	call   0x4a4a60
4a3e81:	8b 54 24 30          	mov    0x30(%esp),%edx
4a3e85:	83 c4 08             	add    $0x8,%esp
4a3e88:	c7 86 6c 01 00 00 00 	movl   $0x0,0x16c(%esi)
4a3e8f:	00 00 00
4a3e92:	0f b6 4e 0c          	movzbl 0xc(%esi),%ecx
4a3e96:	0f b6 46 0d          	movzbl 0xd(%esi),%eax
4a3e9a:	c1 e1 08             	shl    $0x8,%ecx
4a3e9d:	0b c8                	or     %eax,%ecx
4a3e9f:	0f b6 46 0e          	movzbl 0xe(%esi),%eax
4a3ea3:	c1 e1 08             	shl    $0x8,%ecx
4a3ea6:	0b c8                	or     %eax,%ecx
4a3ea8:	0f b6 46 0f          	movzbl 0xf(%esi),%eax
4a3eac:	53                   	push   %ebx
4a3ead:	8b 5c 24 28          	mov    0x28(%esp),%ebx
4a3eb1:	c1 e1 08             	shl    $0x8,%ecx
4a3eb4:	55                   	push   %ebp
4a3eb5:	8b ae 68 01 00 00    	mov    0x168(%esi),%ebp
4a3ebb:	0b c8                	or     %eax,%ecx
4a3ebd:	89 4c 24 24          	mov    %ecx,0x24(%esp)
4a3ec1:	89 6c 24 0c          	mov    %ebp,0xc(%esp)
4a3ec5:	57                   	push   %edi
4a3ec6:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
4a3eca:	85 ed                	test   %ebp,%ebp
4a3ecc:	74 3d                	je     0x4a3f0b
4a3ece:	66 90                	xchg   %ax,%ax
4a3ed0:	85 d2                	test   %edx,%edx
4a3ed2:	74 1f                	je     0x4a3ef3
4a3ed4:	8a 44 2e 10          	mov    0x10(%esi,%ebp,1),%al
4a3ed8:	4a                   	dec    %edx
4a3ed9:	32 07                	xor    (%edi),%al
4a3edb:	47                   	inc    %edi
4a3edc:	88 03                	mov    %al,(%ebx)
4a3ede:	43                   	inc    %ebx
4a3edf:	30 44 2e 40          	xor    %al,0x40(%esi,%ebp,1)
4a3ee3:	45                   	inc    %ebp
4a3ee4:	83 e5 0f             	and    $0xf,%ebp
4a3ee7:	89 54 24 34          	mov    %edx,0x34(%esp)
4a3eeb:	89 6c 24 10          	mov    %ebp,0x10(%esp)
4a3eef:	75 df                	jne    0x4a3ed0
4a3ef1:	eb 08                	jmp    0x4a3efb
4a3ef3:	85 ed                	test   %ebp,%ebp
4a3ef5:	0f 85 e6 01 00 00    	jne    0x4a40e1
4a3efb:	8d 46 60             	lea    0x60(%esi),%eax
4a3efe:	50                   	push   %eax
4a3eff:	8d 46 40             	lea    0x40(%esi),%eax
4a3f02:	50                   	push   %eax
4a3f03:	e8 58 0b 00 00       	call   0x4a4a60
4a3f08:	83 c4 08             	add    $0x8,%esp
4a3f0b:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4a3f0f:	81 f9 00 0c 00 00    	cmp    $0xc00,%ecx
4a3f15:	0f 82 b4 00 00 00    	jb     0x4a3fcf
4a3f1b:	b8 ab aa aa aa       	mov    $0xaaaaaaab,%eax
4a3f20:	f7 e1                	mul    %ecx
4a3f22:	c1 ea 0b             	shr    $0xb,%edx
4a3f25:	89 54 24 1c          	mov    %edx,0x1c(%esp)
4a3f29:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
4a3f30:	bd c0 00 00 00       	mov    $0xc0,%ebp
4a3f35:	ff 74 24 14          	push   0x14(%esp)
4a3f39:	8d 46 10             	lea    0x10(%esi),%eax
4a3f3c:	50                   	push   %eax
4a3f3d:	56                   	push   %esi
4a3f3e:	ff 54 24 24          	call   *0x24(%esp)
4a3f42:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4a3f46:	83 c4 0c             	add    $0xc,%esp
4a3f49:	41                   	inc    %ecx
4a3f4a:	8b c1                	mov    %ecx,%eax
4a3f4c:	88 4e 0f             	mov    %cl,0xf(%esi)
4a3f4f:	c1 e8 18             	shr    $0x18,%eax
4a3f52:	88 46 0c             	mov    %al,0xc(%esi)
4a3f55:	8b c1                	mov    %ecx,%eax
4a3f57:	c1 e8 10             	shr    $0x10,%eax
4a3f5a:	88 46 0d             	mov    %al,0xd(%esi)
4a3f5d:	8b c1                	mov    %ecx,%eax
4a3f5f:	c1 e8 08             	shr    $0x8,%eax
4a3f62:	88 46 0e             	mov    %al,0xe(%esi)
4a3f65:	8b 07                	mov    (%edi),%eax
4a3f67:	33 46 10             	xor    0x10(%esi),%eax
4a3f6a:	89 03                	mov    %eax,(%ebx)
4a3f6c:	8b 47 04             	mov    0x4(%edi),%eax
4a3f6f:	33 46 14             	xor    0x14(%esi),%eax
4a3f72:	89 43 04             	mov    %eax,0x4(%ebx)
4a3f75:	8b 47 08             	mov    0x8(%edi),%eax
4a3f78:	33 46 18             	xor    0x18(%esi),%eax
4a3f7b:	89 43 08             	mov    %eax,0x8(%ebx)
4a3f7e:	8b 47 0c             	mov    0xc(%edi),%eax
4a3f81:	83 c7 10             	add    $0x10,%edi
4a3f84:	33 46 1c             	xor    0x1c(%esi),%eax
4a3f87:	89 43 0c             	mov    %eax,0xc(%ebx)
4a3f8a:	83 c3 10             	add    $0x10,%ebx
4a3f8d:	89 4c 24 28          	mov    %ecx,0x28(%esp)
4a3f91:	83 ed 01             	sub    $0x1,%ebp
4a3f94:	75 9f                	jne    0x4a3f35
4a3f96:	68 00 0c 00 00       	push   $0xc00
4a3f9b:	8d 83 00 f4 ff ff    	lea    -0xc00(%ebx),%eax
4a3fa1:	50                   	push   %eax
4a3fa2:	8d 46 60             	lea    0x60(%esi),%eax
4a3fa5:	50                   	push   %eax
4a3fa6:	8d 46 40             	lea    0x40(%esi),%eax
4a3fa9:	50                   	push   %eax
4a3faa:	e8 71 08 00 00       	call   0x4a4820
4a3faf:	8b 4c 24 44          	mov    0x44(%esp),%ecx
4a3fb3:	83 c4 10             	add    $0x10,%esp
4a3fb6:	81 e9 00 0c 00 00    	sub    $0xc00,%ecx
4a3fbc:	83 6c 24 1c 01       	subl   $0x1,0x1c(%esp)
4a3fc1:	89 4c 24 34          	mov    %ecx,0x34(%esp)
4a3fc5:	0f 85 65 ff ff ff    	jne    0x4a3f30
4a3fcb:	8b 6c 24 10          	mov    0x10(%esp),%ebp
4a3fcf:	8b d1                	mov    %ecx,%edx
4a3fd1:	83 e2 f0             	and    $0xfffffff0,%edx
4a3fd4:	89 54 24 20          	mov    %edx,0x20(%esp)
4a3fd8:	0f 84 a3 00 00 00    	je     0x4a4081
4a3fde:	83 f9 10             	cmp    $0x10,%ecx
4a3fe1:	0f 82 80 00 00 00    	jb     0x4a4067
4a3fe7:	8b 6c 24 34          	mov    0x34(%esp),%ebp
4a3feb:	8d 46 10             	lea    0x10(%esi),%eax
4a3fee:	c1 e9 04             	shr    $0x4,%ecx
4a3ff1:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
4a3ff5:	ff 74 24 14          	push   0x14(%esp)
4a3ff9:	50                   	push   %eax
4a3ffa:	56                   	push   %esi
4a3ffb:	ff 54 24 24          	call   *0x24(%esp)
4a3fff:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4a4003:	83 c4 0c             	add    $0xc,%esp
4a4006:	41                   	inc    %ecx
4a4007:	83 ed 10             	sub    $0x10,%ebp
4a400a:	8b c1                	mov    %ecx,%eax
4a400c:	88 4e 0f             	mov    %cl,0xf(%esi)
4a400f:	c1 e8 18             	shr    $0x18,%eax
4a4012:	88 46 0c             	mov    %al,0xc(%esi)
4a4015:	8b c1                	mov    %ecx,%eax
4a4017:	c1 e8 10             	shr    $0x10,%eax
4a401a:	88 46 0d             	mov    %al,0xd(%esi)
4a401d:	8b c1                	mov    %ecx,%eax
4a401f:	c1 e8 08             	shr    $0x8,%eax
4a4022:	88 46 0e             	mov    %al,0xe(%esi)
4a4025:	8b 07                	mov    (%edi),%eax
4a4027:	33 46 10             	xor    0x10(%esi),%eax
4a402a:	89 03                	mov    %eax,(%ebx)
4a402c:	8b 47 04             	mov    0x4(%edi),%eax
4a402f:	33 46 14             	xor    0x14(%esi),%eax
4a4032:	89 43 04             	mov    %eax,0x4(%ebx)
4a4035:	8b 47 08             	mov    0x8(%edi),%eax
4a4038:	33 46 18             	xor    0x18(%esi),%eax
4a403b:	89 43 08             	mov    %eax,0x8(%ebx)
4a403e:	8b 47 0c             	mov    0xc(%edi),%eax
4a4041:	83 c7 10             	add    $0x10,%edi
4a4044:	33 46 1c             	xor    0x1c(%esi),%eax
4a4047:	89 43 0c             	mov    %eax,0xc(%ebx)