4a1c79:	85 c0                	test   %eax,%eax
4a1c7b:	74 0c                	je     0x4a1c89
4a1c7d:	8b 44 24 30          	mov    0x30(%esp),%eax
4a1c81:	83 f8 01             	cmp    $0x1,%eax
4a1c84:	7e 03                	jle    0x4a1c89
4a1c86:	48                   	dec    %eax
4a1c87:	eb 02                	jmp    0x4a1c8b
4a1c89:	33 c0                	xor    %eax,%eax
4a1c8b:	8d 0c 02             	lea    (%edx,%eax,1),%ecx
4a1c8e:	8b c2                	mov    %edx,%eax
4a1c90:	3b c1                	cmp    %ecx,%eax
4a1c92:	73 0e                	jae    0x4a1ca2
4a1c94:	80 38 00             	cmpb   $0x0,(%eax)
4a1c97:	7d 01                	jge    0x4a1c9a
4a1c99:	40                   	inc    %eax
4a1c9a:	8a 50 01             	mov    0x1(%eax),%dl
4a1c9d:	40                   	inc    %eax
4a1c9e:	84 d2                	test   %dl,%dl
4a1ca0:	75 ee                	jne    0x4a1c90
4a1ca2:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
4a1ca6:	8a 18                	mov    (%eax),%bl
4a1ca8:	85 c9                	test   %ecx,%ecx
4a1caa:	74 6f                	je     0x4a1d1b
4a1cac:	84 db                	test   %bl,%bl
4a1cae:	0f 84 a8 00 00 00    	je     0x4a1d5c
4a1cb4:	84 db                	test   %bl,%bl
4a1cb6:	8b f5                	mov    %ebp,%esi
4a1cb8:	74 34                	je     0x4a1cee
4a1cba:	8b f8                	mov    %eax,%edi
4a1cbc:	2b fd                	sub    %ebp,%edi
4a1cbe:	8a 0e                	mov    (%esi),%cl
4a1cc0:	84 c9                	test   %cl,%cl
4a1cc2:	74 2a                	je     0x4a1cee
4a1cc4:	8a 14 37             	mov    (%edi,%esi,1),%dl
4a1cc7:	3a d1                	cmp    %cl,%dl
4a1cc9:	74 1a                	je     0x4a1ce5
4a1ccb:	81 e2 ff 00 00 00    	and    $0xff,%edx
4a1cd1:	81 e1 ff 00 00 00    	and    $0xff,%ecx
4a1cd7:	8a 92 40 9f 50 00    	mov    0x509f40(%edx),%dl
4a1cdd:	3a 91 40 9f 50 00    	cmp    0x509f40(%ecx),%dl
4a1ce3:	75 09                	jne    0x4a1cee
4a1ce5:	8a 4c 37 01          	mov    0x1(%edi,%esi,1),%cl
4a1ce9:	46                   	inc    %esi
4a1cea:	84 c9                	test   %cl,%cl
4a1cec:	75 d0                	jne    0x4a1cbe
4a1cee:	80 3e 00             	cmpb   $0x0,(%esi)
4a1cf1:	74 1c                	je     0x4a1d0f
4a1cf3:	84 db                	test   %bl,%bl
4a1cf5:	7d 08                	jge    0x4a1cff
4a1cf7:	8a 48 01             	mov    0x1(%eax),%cl
4a1cfa:	40                   	inc    %eax
4a1cfb:	84 c9                	test   %cl,%cl
4a1cfd:	74 5d                	je     0x4a1d5c
4a1cff:	8a 58 01             	mov    0x1(%eax),%bl
4a1d02:	40                   	inc    %eax
4a1d03:	84 db                	test   %bl,%bl
4a1d05:	75 ad                	jne    0x4a1cb4
4a1d07:	5f                   	pop    %edi
4a1d08:	5e                   	pop    %esi
4a1d09:	5d                   	pop    %ebp
4a1d0a:	83 c8 ff             	or     $0xffffffff,%eax
4a1d0d:	5b                   	pop    %ebx
4a1d0e:	c3                   	ret
4a1d0f:	8b 54 24 18          	mov    0x18(%esp),%edx
4a1d13:	5f                   	pop    %edi
4a1d14:	2b c2                	sub    %edx,%eax
4a1d16:	5e                   	pop    %esi
4a1d17:	5d                   	pop    %ebp
4a1d18:	40                   	inc    %eax
4a1d19:	5b                   	pop    %ebx
4a1d1a:	c3                   	ret
4a1d1b:	84 db                	test   %bl,%bl
4a1d1d:	74 3d                	je     0x4a1d5c
4a1d1f:	84 db                	test   %bl,%bl
4a1d21:	8b cd                	mov    %ebp,%ecx
4a1d23:	74 1e                	je     0x4a1d43
4a1d25:	8b f0                	mov    %eax,%esi
4a1d27:	2b f5                	sub    %ebp,%esi
4a1d29:	8a 11                	mov    (%ecx),%dl
4a1d2b:	84 d2                	test   %dl,%dl
4a1d2d:	74 14                	je     0x4a1d43
4a1d2f:	0f be 3c 0e          	movsbl (%esi,%ecx,1),%edi
4a1d33:	0f be d2             	movsbl %dl,%edx
4a1d36:	2b fa                	sub    %edx,%edi
4a1d38:	75 09                	jne    0x4a1d43
4a1d3a:	8a 54 0e 01          	mov    0x1(%esi,%ecx,1),%dl
4a1d3e:	41                   	inc    %ecx
4a1d3f:	84 d2                	test   %dl,%dl
4a1d41:	75 e6                	jne    0x4a1d29
4a1d43:	80 39 00             	cmpb   $0x0,(%ecx)
4a1d46:	74 c7                	je     0x4a1d0f
4a1d48:	84 db                	test   %bl,%bl
4a1d4a:	7d 08                	jge    0x4a1d54
4a1d4c:	8a 48 01             	mov    0x1(%eax),%cl
4a1d4f:	40                   	inc    %eax
4a1d50:	84 c9                	test   %cl,%cl
4a1d52:	74 08                	je     0x4a1d5c
4a1d54:	8a 58 01             	mov    0x1(%eax),%bl
4a1d57:	40                   	inc    %eax
4a1d58:	84 db                	test   %bl,%bl
4a1d5a:	75 c3                	jne    0x4a1d1f
4a1d5c:	5f                   	pop    %edi
4a1d5d:	5e                   	pop    %esi
4a1d5e:	5d                   	pop    %ebp
4a1d5f:	83 c8 ff             	or     $0xffffffff,%eax
4a1d62:	5b                   	pop    %ebx
4a1d63:	c3                   	ret
4a1d64:	90                   	nop
4a1d65:	90                   	nop
4a1d66:	90                   	nop
4a1d67:	90                   	nop
4a1d68:	90                   	nop
4a1d69:	90                   	nop
4a1d6a:	90                   	nop
4a1d6b:	90                   	nop
4a1d6c:	90                   	nop
4a1d6d:	90                   	nop
4a1d6e:	90                   	nop
4a1d6f:	90                   	nop
4a1d70:	83 ec 14             	sub    $0x14,%esp
4a1d73:	53                   	push   %ebx
4a1d74:	55                   	push   %ebp
4a1d75:	56                   	push   %esi
4a1d76:	57                   	push   %edi
4a1d77:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
4a1d7b:	85 ff                	test   %edi,%edi
4a1d7d:	0f 84 40 02 00 00    	je     0x4a1fc3
4a1d83:	80 3f 00             	cmpb   $0x0,(%edi)
4a1d86:	0f 84 37 02 00 00    	je     0x4a1fc3
4a1d8c:	8b 44 24 58          	mov    0x58(%esp),%eax
4a1d90:	85 c0                	test   %eax,%eax
4a1d92:	74 0c                	je     0x4a1da0
4a1d94:	8b 44 24 50          	mov    0x50(%esp),%eax
4a1d98:	83 f8 01             	cmp    $0x1,%eax
4a1d9b:	7e 03                	jle    0x4a1da0
4a1d9d:	48                   	dec    %eax
4a1d9e:	eb 02                	jmp    0x4a1da2
4a1da0:	33 c0                	xor    %eax,%eax
4a1da2:	8b f7                	mov    %edi,%esi
4a1da4:	03 c7                	add    %edi,%eax
4a1da6:	3b f0                	cmp    %eax,%esi
4a1da8:	73 0e                	jae    0x4a1db8
4a1daa:	80 3e 00             	cmpb   $0x0,(%esi)
4a1dad:	7d 01                	jge    0x4a1db0
4a1daf:	46                   	inc    %esi
4a1db0:	8a 4e 01             	mov    0x1(%esi),%cl
4a1db3:	46                   	inc    %esi
4a1db4:	84 c9                	test   %cl,%cl
4a1db6:	75 ee                	jne    0x4a1da6
4a1db8:	80 3e 00             	cmpb   $0x0,(%esi)
4a1dbb:	75 14                	jne    0x4a1dd1
4a1dbd:	2b f7                	sub    %edi,%esi
4a1dbf:	56                   	push   %esi
4a1dc0:	57                   	push   %edi
4a1dc1:	e8 7a 53 00 00       	call   0x4a7140
4a1dc6:	83 c4 08             	add    $0x8,%esp
4a1dc9:	5f                   	pop    %edi
4a1dca:	5e                   	pop    %esi
4a1dcb:	5d                   	pop    %ebp
4a1dcc:	5b                   	pop    %ebx
4a1dcd:	83 c4 14             	add    $0x14,%esp
4a1dd0:	c3                   	ret
4a1dd1:	56                   	push   %esi
4a1dd2:	ff 15 40 a1 50 00    	call   *0x50a140
4a1dd8:	8b e8                	mov    %eax,%ebp
4a1dda:	8b c6                	mov    %esi,%eax
4a1ddc:	2b c7                	sub    %edi,%eax
4a1dde:	83 c4 04             	add    $0x4,%esp
4a1de1:	03 e8                	add    %eax,%ebp
4a1de3:	8b 44 24 38          	mov    0x38(%esp),%eax
4a1de7:	85 c0                	test   %eax,%eax
4a1de9:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
4a1df0:	00
4a1df1:	74 0e                	je     0x4a1e01
4a1df3:	50                   	push   %eax
4a1df4:	ff 15 40 a1 50 00    	call   *0x50a140
4a1dfa:	83 c4 04             	add    $0x4,%esp
4a1dfd:	89 44 24 14          	mov    %eax,0x14(%esp)
4a1e01:	8b 44 24 64          	mov    0x64(%esp),%eax
4a1e05:	8b 5c 24 5c          	mov    0x5c(%esp),%ebx
4a1e09:	85 c0                	test   %eax,%eax
4a1e0b:	75 05                	jne    0x4a1e12
4a1e0d:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
4a1e12:	8b 44 24 14          	mov    0x14(%esp),%eax
4a1e16:	85 c0                	test   %eax,%eax
4a1e18:	7e 45                	jle    0x4a1e5f
4a1e1a:	85 db                	test   %ebx,%ebx
4a1e1c:	7e 41                	jle    0x4a1e5f
4a1e1e:	8b 44 24 4c          	mov    0x4c(%esp),%eax
4a1e22:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
4a1e29:	00
4a1e2a:	85 c0                	test   %eax,%eax
4a1e2c:	74 1a                	je     0x4a1e48
4a1e2e:	8b 44 24 44          	mov    0x44(%esp),%eax
4a1e32:	85 c0                	test   %eax,%eax
4a1e34:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4a1e38:	74 0e                	je     0x4a1e48
4a1e3a:	50                   	push   %eax
4a1e3b:	ff 15 40 a1 50 00    	call   *0x50a140
4a1e41:	83 c4 04             	add    $0x4,%esp
4a1e44:	89 44 24 18          	mov    %eax,0x18(%esp)
4a1e48:	68 00 01 00 00       	push   $0x100
4a1e4d:	e8 64 67 00 00       	call   0x4a85b6
4a1e52:	33 c9                	xor    %ecx,%ecx
4a1e54:	83 c4 04             	add    $0x4,%esp
4a1e57:	3b c1                	cmp    %ecx,%eax
4a1e59:	89 44 24 10          	mov    %eax,0x10(%esp)
4a1e5d:	75 12                	jne    0x4a1e71
4a1e5f:	55                   	push   %ebp
4a1e60:	57                   	push   %edi
4a1e61:	e8 da 52 00 00       	call   0x4a7140
4a1e66:	83 c4 08             	add    $0x8,%esp
4a1e69:	5f                   	pop    %edi
4a1e6a:	5e                   	pop    %esi
4a1e6b:	5d                   	pop    %ebp
4a1e6c:	5b                   	pop    %ebx
4a1e6d:	83 c4 14             	add    $0x14,%esp
4a1e70:	c3                   	ret
4a1e71:	c7 00 00 01 00 00    	movl   $0x100,(%eax)
4a1e77:	8b 54 24 10          	mov    0x10(%esp),%edx
4a1e7b:	89 4a 04             	mov    %ecx,0x4(%edx)
4a1e7e:	8b 44 24 10          	mov    0x10(%esp),%eax
4a1e82:	8d 14 2f             	lea    (%edi,%ebp,1),%edx
4a1e85:	89 48 08             	mov    %ecx,0x8(%eax)
4a1e88:	8b 44 24 68          	mov    0x68(%esp),%eax
4a1e8c:	3b c1                	cmp    %ecx,%eax
4a1e8e:	89 54 24 20          	mov    %edx,0x20(%esp)
4a1e92:	74 51                	je     0x4a1ee5
4a1e94:	8b 54 24 38          	mov    0x38(%esp),%edx
4a1e98:	8b ce                	mov    %esi,%ecx
4a1e9a:	e8 c1 4e 00 00       	call   0x4a6d60
4a1e9f:	8b e8                	mov    %eax,%ebp
4a1ea1:	83 fd ff             	cmp    $0xffffffff,%ebp
4a1ea4:	0f 84 89 00 00 00    	je     0x4a1f33
4a1eaa:	2b c7                	sub    %edi,%eax
4a1eac:	03 c6                	add    %esi,%eax
4a1eae:	85 c0                	test   %eax,%eax
4a1eb0:	7e 0c                	jle    0x4a1ebe
4a1eb2:	50                   	push   %eax
4a1eb3:	8b d7                	mov    %edi,%edx
4a1eb5:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4a1eb9:	e8 c2 4d 00 00       	call   0x4a6c80
4a1ebe:	8b 44 24 18          	mov    0x18(%esp),%eax
4a1ec2:	85 c0                	test   %eax,%eax
4a1ec4:	7e 0e                	jle    0x4a1ed4
4a1ec6:	8b 54 24 1c          	mov    0x1c(%esp),%edx
4a1eca:	50                   	push   %eax
4a1ecb:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4a1ecf:	e8 ac 4d 00 00       	call   0x4a6c80
4a1ed4:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4a1ed8:	03 e9                	add    %ecx,%ebp
4a1eda:	03 f5                	add    %ebp,%esi
4a1edc:	4b                   	dec    %ebx
4a1edd:	85 db                	test   %ebx,%ebx
4a1edf:	8b fe                	mov    %esi,%edi
4a1ee1:	7f b1                	jg     0x4a1e94
4a1ee3:	eb 4e                	jmp    0x4a1f33
4a1ee5:	8b 54 24 38          	mov    0x38(%esp),%edx
4a1ee9:	8b ce                	mov    %esi,%ecx
4a1eeb:	e8 f0 4d 00 00       	call   0x4a6ce0
4a1ef0:	8b e8                	mov    %eax,%ebp
4a1ef2:	83 fd ff             	cmp    $0xffffffff,%ebp
4a1ef5:	74 3c                	je     0x4a1f33
4a1ef7:	8b d5                	mov    %ebp,%edx
4a1ef9:	2b d7                	sub    %edi,%edx
4a1efb:	8d 04 32             	lea    (%edx,%esi,1),%eax
4a1efe:	85 c0                	test   %eax,%eax
4a1f00:	7e 0c                	jle    0x4a1f0e
4a1f02:	50                   	push   %eax
4a1f03:	8b d7                	mov    %edi,%edx
4a1f05:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4a1f09:	e8 72 4d 00 00       	call   0x4a6c80
4a1f0e:	8b 44 24 18          	mov    0x18(%esp),%eax
4a1f12:	85 c0                	test   %eax,%eax
4a1f14:	7e 0e                	jle    0x4a1f24
4a1f16:	8b 54 24 1c          	mov    0x1c(%esp),%edx
4a1f1a:	50                   	push   %eax
4a1f1b:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4a1f1f:	e8 5c 4d 00 00       	call   0x4a6c80
4a1f24:	8b 44 24 14          	mov    0x14(%esp),%eax
4a1f28:	03 e8                	add    %eax,%ebp
4a1f2a:	03 f5                	add    %ebp,%esi
4a1f2c:	4b                   	dec    %ebx
4a1f2d:	85 db                	test   %ebx,%ebx
4a1f2f:	8b fe                	mov    %esi,%edi
4a1f31:	7f b2                	jg     0x4a1ee5
4a1f33:	8b 44 24 20          	mov    0x20(%esp),%eax
4a1f37:	2b c7                	sub    %edi,%eax
4a1f39:	85 c0                	test   %eax,%eax
4a1f3b:	7e 0c                	jle    0x4a1f49
4a1f3d:	50                   	push   %eax
4a1f3e:	8b d7                	mov    %edi,%edx
4a1f40:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4a1f44:	e8 37 4d 00 00       	call   0x4a6c80
4a1f49:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4a1f4d:	8b 51 08             	mov    0x8(%ecx),%edx
4a1f50:	42                   	inc    %edx
4a1f51:	52                   	push   %edx
4a1f52:	e8 e9 ed ff ff       	call   0x4a0d40
4a1f57:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4a1f5b:	83 c4 04             	add    $0x4,%esp
4a1f5e:	8b e8                	mov    %eax,%ebp
4a1f60:	8b 51 04             	mov    0x4(%ecx),%edx
4a1f63:	89 6c 24 20          	mov    %ebp,0x20(%esp)
4a1f67:	85 d2                	test   %edx,%edx
4a1f69:	8d 41 0c             	lea    0xc(%ecx),%eax
4a1f6c:	7e 33                	jle    0x4a1fa1
4a1f6e:	89 54 24 2c          	mov    %edx,0x2c(%esp)
4a1f72:	8b 50 04             	mov    0x4(%eax),%edx
4a1f75:	8b 30                	mov    (%eax),%esi
4a1f77:	8b ca                	mov    %edx,%ecx
4a1f79:	8b fd                	mov    %ebp,%edi
4a1f7b:	8b d9                	mov    %ecx,%ebx
4a1f7d:	03 ea                	add    %edx,%ebp
4a1f7f:	c1 e9 02             	shr    $0x2,%ecx
4a1f82:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4a1f84:	8b cb                	mov    %ebx,%ecx
4a1f86:	83 c0 08             	add    $0x8,%eax
4a1f89:	83 e1 03             	and    $0x3,%ecx
4a1f8c:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4a1f8e:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
4a1f92:	49                   	dec    %ecx
4a1f93:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
4a1f97:	75 d9                	jne    0x4a1f72
4a1f99:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4a1f9d:	8b 6c 24 20          	mov    0x20(%esp),%ebp
4a1fa1:	8b 41 08             	mov    0x8(%ecx),%eax
4a1fa4:	c6 04 28 00          	movb   $0x0,(%eax,%ebp,1)
4a1fa8:	8b 44 24 10          	mov    0x10(%esp),%eax
4a1fac:	85 c0                	test   %eax,%eax
4a1fae:	74 09                	je     0x4a1fb9
4a1fb0:	50                   	push   %eax
4a1fb1:	e8 17 65 00 00       	call   0x4a84cd
4a1fb6:	83 c4 04             	add    $0x4,%esp
4a1fb9:	5f                   	pop    %edi
4a1fba:	8b c5                	mov    %ebp,%eax
4a1fbc:	5e                   	pop    %esi
4a1fbd:	5d                   	pop    %ebp
4a1fbe:	5b                   	pop    %ebx
4a1fbf:	83 c4 14             	add    $0x14,%esp
4a1fc2:	c3                   	ret
4a1fc3:	5f                   	pop    %edi
4a1fc4:	5e                   	pop    %esi
4a1fc5:	5d                   	pop    %ebp
4a1fc6:	33 c0                	xor    %eax,%eax
4a1fc8:	5b                   	pop    %ebx
4a1fc9:	83 c4 14             	add    $0x14,%esp
4a1fcc:	c3                   	ret
4a1fcd:	90                   	nop
4a1fce:	90                   	nop