409e52:	5f                   	pop    %edi
409e53:	c3                   	ret
409e54:	57                   	push   %edi
409e55:	56                   	push   %esi
409e56:	89 c6                	mov    %eax,%esi
409e58:	89 d7                	mov    %edx,%edi
409e5a:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
409e5f:	32 c0                	xor    %al,%al
409e61:	f2 ae                	repnz scas %es:(%edi),%al
409e63:	f7 d1                	not    %ecx
409e65:	89 f7                	mov    %esi,%edi
409e67:	89 d6                	mov    %edx,%esi
409e69:	89 ca                	mov    %ecx,%edx
409e6b:	c1 e9 02             	shr    $0x2,%ecx
409e6e:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
409e70:	89 d1                	mov    %edx,%ecx
409e72:	83 e1 03             	and    $0x3,%ecx
409e75:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
409e77:	8d 47 ff             	lea    -0x1(%edi),%eax
409e7a:	5e                   	pop    %esi
409e7b:	5f                   	pop    %edi
409e7c:	c3                   	ret
409e7d:	8d 40 00             	lea    0x0(%eax),%eax
409e80:	57                   	push   %edi
409e81:	56                   	push   %esi
409e82:	53                   	push   %ebx
409e83:	89 c6                	mov    %eax,%esi
409e85:	89 d7                	mov    %edx,%edi
409e87:	89 cb                	mov    %ecx,%ebx
409e89:	32 c0                	xor    %al,%al
409e8b:	85 c9                	test   %ecx,%ecx
409e8d:	74 05                	je     0x409e94
409e8f:	f2 ae                	repnz scas %es:(%edi),%al
409e91:	75 01                	jne    0x409e94
409e93:	41                   	inc    %ecx
409e94:	29 cb                	sub    %ecx,%ebx
409e96:	89 f7                	mov    %esi,%edi
409e98:	89 d6                	mov    %edx,%esi
409e9a:	89 fa                	mov    %edi,%edx
409e9c:	89 d9                	mov    %ebx,%ecx
409e9e:	c1 e9 02             	shr    $0x2,%ecx
409ea1:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
409ea3:	89 d9                	mov    %ebx,%ecx
409ea5:	83 e1 03             	and    $0x3,%ecx
409ea8:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
409eaa:	aa                   	stos   %al,%es:(%edi)
409eab:	89 d0                	mov    %edx,%eax
409ead:	5b                   	pop    %ebx
409eae:	5e                   	pop    %esi
409eaf:	5f                   	pop    %edi
409eb0:	c3                   	ret
409eb1:	8d 40 00             	lea    0x0(%eax),%eax
409eb4:	53                   	push   %ebx
409eb5:	56                   	push   %esi
409eb6:	8b da                	mov    %edx,%ebx
409eb8:	8b f0                	mov    %eax,%esi
409eba:	8b c3                	mov    %ebx,%eax
409ebc:	e8 5f ac ff ff       	call   0x404b20
409ec1:	50                   	push   %eax
409ec2:	8b c3                	mov    %ebx,%eax
409ec4:	e8 4f ae ff ff       	call   0x404d18
409ec9:	8b d0                	mov    %eax,%edx
409ecb:	8b c6                	mov    %esi,%eax
409ecd:	59                   	pop    %ecx
409ece:	e8 ad ff ff ff       	call   0x409e80
409ed3:	5e                   	pop    %esi
409ed4:	5b                   	pop    %ebx
409ed5:	c3                   	ret
409ed6:	8b c0                	mov    %eax,%eax
409ed8:	53                   	push   %ebx
409ed9:	56                   	push   %esi
409eda:	57                   	push   %edi
409edb:	8b f9                	mov    %ecx,%edi
409edd:	8b f2                	mov    %edx,%esi
409edf:	8b d8                	mov    %eax,%ebx
409ee1:	8b c6                	mov    %esi,%eax
409ee3:	e8 30 ae ff ff       	call   0x404d18
409ee8:	8b d0                	mov    %eax,%edx
409eea:	8b cf                	mov    %edi,%ecx
409eec:	8b c3                	mov    %ebx,%eax
409eee:	e8 8d ff ff ff       	call   0x409e80
409ef3:	5f                   	pop    %edi
409ef4:	5e                   	pop    %esi
409ef5:	5b                   	pop    %ebx
409ef6:	c3                   	ret
409ef7:	90                   	nop
409ef8:	57                   	push   %edi
409ef9:	56                   	push   %esi
409efa:	89 d7                	mov    %edx,%edi
409efc:	89 c6                	mov    %eax,%esi
409efe:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
409f03:	31 c0                	xor    %eax,%eax
409f05:	f2 ae                	repnz scas %es:(%edi),%al
409f07:	f7 d1                	not    %ecx
409f09:	89 d7                	mov    %edx,%edi
409f0b:	31 d2                	xor    %edx,%edx
409f0d:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
409f0f:	8a 46 ff             	mov    -0x1(%esi),%al
409f12:	8a 57 ff             	mov    -0x1(%edi),%dl
409f15:	29 d0                	sub    %edx,%eax
409f17:	5e                   	pop    %esi
409f18:	5f                   	pop    %edi
409f19:	c3                   	ret
409f1a:	8b c0                	mov    %eax,%eax
409f1c:	57                   	push   %edi
409f1d:	56                   	push   %esi
409f1e:	89 d7                	mov    %edx,%edi
409f20:	89 c6                	mov    %eax,%esi
409f22:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
409f27:	31 c0                	xor    %eax,%eax
409f29:	f2 ae                	repnz scas %es:(%edi),%al
409f2b:	f7 d1                	not    %ecx
409f2d:	89 d7                	mov    %edx,%edi
409f2f:	31 d2                	xor    %edx,%edx
409f31:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
409f33:	74 21                	je     0x409f56
409f35:	8a 46 ff             	mov    -0x1(%esi),%al
409f38:	3c 61                	cmp    $0x61,%al
409f3a:	72 06                	jb     0x409f42
409f3c:	3c 7a                	cmp    $0x7a,%al
409f3e:	77 02                	ja     0x409f42
409f40:	2c 20                	sub    $0x20,%al
409f42:	8a 57 ff             	mov    -0x1(%edi),%dl
409f45:	80 fa 61             	cmp    $0x61,%dl
409f48:	72 08                	jb     0x409f52
409f4a:	80 fa 7a             	cmp    $0x7a,%dl
409f4d:	77 03                	ja     0x409f52
409f4f:	80 ea 20             	sub    $0x20,%dl
409f52:	29 d0                	sub    %edx,%eax
409f54:	74 db                	je     0x409f31
409f56:	5e                   	pop    %esi
409f57:	5f                   	pop    %edi
409f58:	c3                   	ret
409f59:	8d 40 00             	lea    0x0(%eax),%eax
409f5c:	57                   	push   %edi
409f5d:	56                   	push   %esi
409f5e:	53                   	push   %ebx
409f5f:	89 d7                	mov    %edx,%edi
409f61:	89 c6                	mov    %eax,%esi
409f63:	89 cb                	mov    %ecx,%ebx
409f65:	31 c0                	xor    %eax,%eax
409f67:	09 c9                	or     %ecx,%ecx
409f69:	74 14                	je     0x409f7f
409f6b:	f2 ae                	repnz scas %es:(%edi),%al
409f6d:	29 cb                	sub    %ecx,%ebx
409f6f:	89 d9                	mov    %ebx,%ecx
409f71:	89 d7                	mov    %edx,%edi
409f73:	31 d2                	xor    %edx,%edx
409f75:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
409f77:	8a 46 ff             	mov    -0x1(%esi),%al
409f7a:	8a 57 ff             	mov    -0x1(%edi),%dl
409f7d:	29 d0                	sub    %edx,%eax
409f7f:	5b                   	pop    %ebx
409f80:	5e                   	pop    %esi
409f81:	5f                   	pop    %edi
409f82:	c3                   	ret
409f83:	90                   	nop
409f84:	57                   	push   %edi
409f85:	56                   	push   %esi
409f86:	53                   	push   %ebx
409f87:	89 d7                	mov    %edx,%edi
409f89:	89 c6                	mov    %eax,%esi
409f8b:	89 cb                	mov    %ecx,%ebx
409f8d:	31 c0                	xor    %eax,%eax
409f8f:	09 c9                	or     %ecx,%ecx
409f91:	74 2f                	je     0x409fc2
409f93:	f2 ae                	repnz scas %es:(%edi),%al
409f95:	29 cb                	sub    %ecx,%ebx
409f97:	89 d9                	mov    %ebx,%ecx
409f99:	89 d7                	mov    %edx,%edi
409f9b:	31 d2                	xor    %edx,%edx
409f9d:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
409f9f:	74 21                	je     0x409fc2
409fa1:	8a 46 ff             	mov    -0x1(%esi),%al
409fa4:	3c 61                	cmp    $0x61,%al
409fa6:	72 06                	jb     0x409fae
409fa8:	3c 7a                	cmp    $0x7a,%al
409faa:	77 02                	ja     0x409fae
409fac:	2c 20                	sub    $0x20,%al
409fae:	8a 57 ff             	mov    -0x1(%edi),%dl
409fb1:	80 fa 61             	cmp    $0x61,%dl
409fb4:	72 08                	jb     0x409fbe
409fb6:	80 fa 7a             	cmp    $0x7a,%dl
409fb9:	77 03                	ja     0x409fbe
409fbb:	80 ea 20             	sub    $0x20,%dl
409fbe:	29 d0                	sub    %edx,%eax
409fc0:	74 db                	je     0x409f9d
409fc2:	5b                   	pop    %ebx
409fc3:	5e                   	pop    %esi
409fc4:	5f                   	pop    %edi
409fc5:	c3                   	ret
409fc6:	8b c0                	mov    %eax,%eax
409fc8:	57                   	push   %edi
409fc9:	50                   	push   %eax
409fca:	89 c7                	mov    %eax,%edi
409fcc:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
409fd1:	32 c0                	xor    %al,%al
409fd3:	f2 ae                	repnz scas %es:(%edi),%al
409fd5:	f7 d1                	not    %ecx
409fd7:	5f                   	pop    %edi
409fd8:	88 d0                	mov    %dl,%al
409fda:	f2 ae                	repnz scas %es:(%edi),%al
409fdc:	b8 00 00 00 00       	mov    $0x0,%eax
409fe1:	75 03                	jne    0x409fe6
409fe3:	89 f8                	mov    %edi,%eax
409fe5:	48                   	dec    %eax
409fe6:	5f                   	pop    %edi
409fe7:	c3                   	ret
409fe8:	57                   	push   %edi
409fe9:	89 c7                	mov    %eax,%edi
409feb:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
409ff0:	32 c0                	xor    %al,%al
409ff2:	f2 ae                	repnz scas %es:(%edi),%al
409ff4:	f7 d1                	not    %ecx
409ff6:	fd                   	std
409ff7:	4f                   	dec    %edi
409ff8:	88 d0                	mov    %dl,%al
409ffa:	f2 ae                	repnz scas %es:(%edi),%al
409ffc:	b8 00 00 00 00       	mov    $0x0,%eax
40a001:	75 03                	jne    0x40a006
40a003:	89 f8                	mov    %edi,%eax
40a005:	40                   	inc    %eax
40a006:	fc                   	cld
40a007:	5f                   	pop    %edi
40a008:	c3                   	ret
40a009:	8d 40 00             	lea    0x0(%eax),%eax
40a00c:	57                   	push   %edi
40a00d:	56                   	push   %esi
40a00e:	53                   	push   %ebx
40a00f:	09 c0                	or     %eax,%eax
40a011:	74 44                	je     0x40a057
40a013:	09 d2                	or     %edx,%edx
40a015:	74 40                	je     0x40a057
40a017:	89 c3                	mov    %eax,%ebx
40a019:	89 d7                	mov    %edx,%edi
40a01b:	32 c0                	xor    %al,%al
40a01d:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
40a022:	f2 ae                	repnz scas %es:(%edi),%al
40a024:	f7 d1                	not    %ecx
40a026:	49                   	dec    %ecx
40a027:	74 2e                	je     0x40a057
40a029:	89 ce                	mov    %ecx,%esi
40a02b:	89 df                	mov    %ebx,%edi
40a02d:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
40a032:	f2 ae                	repnz scas %es:(%edi),%al
40a034:	f7 d1                	not    %ecx
40a036:	29 f1                	sub    %esi,%ecx
40a038:	76 1d                	jbe    0x40a057
40a03a:	89 df                	mov    %ebx,%edi
40a03c:	8d 5e ff             	lea    -0x1(%esi),%ebx
40a03f:	89 d6                	mov    %edx,%esi
40a041:	ac                   	lods   %ds:(%esi),%al
40a042:	f2 ae                	repnz scas %es:(%edi),%al
40a044:	75 11                	jne    0x40a057
40a046:	89 c8                	mov    %ecx,%eax
40a048:	57                   	push   %edi
40a049:	89 d9                	mov    %ebx,%ecx
40a04b:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
40a04d:	5f                   	pop    %edi
40a04e:	89 c1                	mov    %eax,%ecx
40a050:	75 ed                	jne    0x40a03f
40a052:	8d 47 ff             	lea    -0x1(%edi),%eax
40a055:	eb 02                	jmp    0x40a059
40a057:	31 c0                	xor    %eax,%eax
40a059:	5b                   	pop    %ebx
40a05a:	5e                   	pop    %esi
40a05b:	5f                   	pop    %edi
40a05c:	c3                   	ret
40a05d:	8d 40 00             	lea    0x0(%eax),%eax
40a060:	53                   	push   %ebx
40a061:	56                   	push   %esi
40a062:	8b f2                	mov    %edx,%esi
40a064:	8b d8                	mov    %eax,%ebx
40a066:	8b c6                	mov    %esi,%eax
40a068:	8b d3                	mov    %ebx,%edx
40a06a:	e8 e9 a9 ff ff       	call   0x404a58
40a06f:	5e                   	pop    %esi
40a070:	5b                   	pop    %ebx
40a071:	c3                   	ret
40a072:	8b c0                	mov    %eax,%eax
40a074:	53                   	push   %ebx
40a075:	8b d8                	mov    %eax,%ebx
40a077:	83 c3 04             	add    $0x4,%ebx
40a07a:	8b c3                	mov    %ebx,%eax
40a07c:	e8 2b 87 ff ff       	call   0x4027ac
40a081:	89 18                	mov    %ebx,(%eax)
40a083:	83 c0 04             	add    $0x4,%eax
40a086:	5b                   	pop    %ebx
40a087:	c3                   	ret
40a088:	83 e8 04             	sub    $0x4,%eax
40a08b:	8b 00                	mov    (%eax),%eax
40a08d:	83 e8 04             	sub    $0x4,%eax
40a090:	c3                   	ret
40a091:	8d 40 00             	lea    0x0(%eax),%eax
40a094:	53                   	push   %ebx
40a095:	56                   	push   %esi
40a096:	8b d8                	mov    %eax,%ebx
40a098:	85 db                	test   %ebx,%ebx
40a09a:	75 05                	jne    0x40a0a1
40a09c:	33 c0                	xor    %eax,%eax
40a09e:	5e                   	pop    %esi
40a09f:	5b                   	pop    %ebx
40a0a0:	c3                   	ret
40a0a1:	8b c3                	mov    %ebx,%eax
40a0a3:	e8 48 fd ff ff       	call   0x409df0
40a0a8:	8b f0                	mov    %eax,%esi
40a0aa:	46                   	inc    %esi
40a0ab:	8b c6                	mov    %esi,%eax
40a0ad:	e8 c2 ff ff ff       	call   0x40a074
40a0b2:	8b ce                	mov    %esi,%ecx
40a0b4:	8b d3                	mov    %ebx,%edx
40a0b6:	e8 61 fd ff ff       	call   0x409e1c
40a0bb:	5e                   	pop    %esi
40a0bc:	5b                   	pop    %ebx
40a0bd:	c3                   	ret
40a0be:	8b c0                	mov    %eax,%eax
40a0c0:	85 c0                	test   %eax,%eax
40a0c2:	74 0a                	je     0x40a0ce
40a0c4:	83 e8 04             	sub    $0x4,%eax
40a0c7:	8b 10                	mov    (%eax),%edx
40a0c9:	e8 fe 86 ff ff       	call   0x4027cc
40a0ce:	c3                   	ret
40a0cf:	90                   	nop
40a0d0:	53                   	push   %ebx
40a0d1:	56                   	push   %esi
40a0d2:	57                   	push   %edi
40a0d3:	83 c4 d8             	add    $0xffffffd8,%esp
40a0d6:	8b d9                	mov    %ecx,%ebx
40a0d8:	8b f2                	mov    %edx,%esi
40a0da:	8b f8                	mov    %eax,%edi
40a0dc:	83 fb 1f             	cmp    $0x1f,%ebx
40a0df:	76 05                	jbe    0x40a0e6
40a0e1:	bb 1f 00 00 00       	mov    $0x1f,%ebx
40a0e6:	8b d3                	mov    %ebx,%edx
40a0e8:	4a                   	dec    %edx
40a0e9:	8b c6                	mov    %esi,%eax
40a0eb:	e8 68 36 00 00       	call   0x40d758
40a0f0:	3c 01                	cmp    $0x1,%al
40a0f2:	75 01                	jne    0x40a0f5
40a0f4:	4b                   	dec    %ebx
40a0f5:	8b c4                	mov    %esp,%eax
40a0f7:	8b cb                	mov    %ebx,%ecx
40a0f9:	8b d6                	mov    %esi,%edx
40a0fb:	e8 1c fd ff ff       	call   0x409e1c
40a100:	c6 04 1c 00          	movb   $0x0,(%esp,%ebx,1)
40a104:	8b c4                	mov    %esp,%eax
40a106:	89 44 24 20          	mov    %eax,0x20(%esp)
40a10a:	c6 44 24 24 06       	movb   $0x6,0x24(%esp)
40a10f:	8d 54 24 20          	lea    0x20(%esp),%edx
40a113:	8b 04 bd 74 a1 68 00 	mov    0x68a174(,%edi,4),%eax