408e53:	5e                   	pop    %esi
408e54:	c3                   	ret
408e55:	8d 40 00             	lea    0x0(%eax),%eax
408e58:	57                   	push   %edi
408e59:	56                   	push   %esi
408e5a:	89 c6                	mov    %eax,%esi
408e5c:	89 d7                	mov    %edx,%edi
408e5e:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
408e63:	32 c0                	xor    %al,%al
408e65:	f2 ae                	repnz scas %es:(%edi),%al
408e67:	f7 d1                	not    %ecx
408e69:	89 f7                	mov    %esi,%edi
408e6b:	89 d6                	mov    %edx,%esi
408e6d:	89 ca                	mov    %ecx,%edx
408e6f:	89 f8                	mov    %edi,%eax
408e71:	c1 e9 02             	shr    $0x2,%ecx
408e74:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
408e76:	89 d1                	mov    %edx,%ecx
408e78:	83 e1 03             	and    $0x3,%ecx
408e7b:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
408e7d:	5e                   	pop    %esi
408e7e:	5f                   	pop    %edi
408e7f:	c3                   	ret
408e80:	57                   	push   %edi
408e81:	56                   	push   %esi
408e82:	53                   	push   %ebx
408e83:	89 c6                	mov    %eax,%esi
408e85:	89 d7                	mov    %edx,%edi
408e87:	89 cb                	mov    %ecx,%ebx
408e89:	32 c0                	xor    %al,%al
408e8b:	85 c9                	test   %ecx,%ecx
408e8d:	74 05                	je     0x408e94
408e8f:	f2 ae                	repnz scas %es:(%edi),%al
408e91:	75 01                	jne    0x408e94
408e93:	41                   	inc    %ecx
408e94:	29 cb                	sub    %ecx,%ebx
408e96:	89 f7                	mov    %esi,%edi
408e98:	89 d6                	mov    %edx,%esi
408e9a:	89 fa                	mov    %edi,%edx
408e9c:	89 d9                	mov    %ebx,%ecx
408e9e:	c1 e9 02             	shr    $0x2,%ecx
408ea1:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
408ea3:	89 d9                	mov    %ebx,%ecx
408ea5:	83 e1 03             	and    $0x3,%ecx
408ea8:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
408eaa:	aa                   	stos   %al,%es:(%edi)
408eab:	89 d0                	mov    %edx,%eax
408ead:	5b                   	pop    %ebx
408eae:	5e                   	pop    %esi
408eaf:	5f                   	pop    %edi
408eb0:	c3                   	ret
408eb1:	8d 40 00             	lea    0x0(%eax),%eax
408eb4:	53                   	push   %ebx
408eb5:	56                   	push   %esi
408eb6:	8b da                	mov    %edx,%ebx
408eb8:	8b f0                	mov    %eax,%esi
408eba:	8b c3                	mov    %ebx,%eax
408ebc:	e8 63 b5 ff ff       	call   0x404424
408ec1:	50                   	push   %eax
408ec2:	8b c3                	mov    %ebx,%eax
408ec4:	e8 5b b7 ff ff       	call   0x404624
408ec9:	8b d0                	mov    %eax,%edx
408ecb:	8b c6                	mov    %esi,%eax
408ecd:	59                   	pop    %ecx
408ece:	e8 ad ff ff ff       	call   0x408e80
408ed3:	5e                   	pop    %esi
408ed4:	5b                   	pop    %ebx
408ed5:	c3                   	ret
408ed6:	8b c0                	mov    %eax,%eax
408ed8:	53                   	push   %ebx
408ed9:	56                   	push   %esi
408eda:	57                   	push   %edi
408edb:	8b f9                	mov    %ecx,%edi
408edd:	8b f2                	mov    %edx,%esi
408edf:	8b d8                	mov    %eax,%ebx
408ee1:	8b c6                	mov    %esi,%eax
408ee3:	e8 3c b7 ff ff       	call   0x404624
408ee8:	8b d0                	mov    %eax,%edx
408eea:	8b cf                	mov    %edi,%ecx
408eec:	8b c3                	mov    %ebx,%eax
408eee:	e8 8d ff ff ff       	call   0x408e80
408ef3:	5f                   	pop    %edi
408ef4:	5e                   	pop    %esi
408ef5:	5b                   	pop    %ebx
408ef6:	c3                   	ret
408ef7:	90                   	nop
408ef8:	53                   	push   %ebx
408ef9:	56                   	push   %esi
408efa:	8b f2                	mov    %edx,%esi
408efc:	8b d8                	mov    %eax,%ebx
408efe:	8b c3                	mov    %ebx,%eax
408f00:	e8 2f ff ff ff       	call   0x408e34
408f05:	8b d6                	mov    %esi,%edx
408f07:	e8 4c ff ff ff       	call   0x408e58
408f0c:	8b c3                	mov    %ebx,%eax
408f0e:	5e                   	pop    %esi
408f0f:	5b                   	pop    %ebx
408f10:	c3                   	ret
408f11:	8d 40 00             	lea    0x0(%eax),%eax
408f14:	57                   	push   %edi
408f15:	56                   	push   %esi
408f16:	89 d7                	mov    %edx,%edi
408f18:	89 c6                	mov    %eax,%esi
408f1a:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
408f1f:	31 c0                	xor    %eax,%eax
408f21:	f2 ae                	repnz scas %es:(%edi),%al
408f23:	f7 d1                	not    %ecx
408f25:	89 d7                	mov    %edx,%edi
408f27:	31 d2                	xor    %edx,%edx
408f29:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
408f2b:	8a 46 ff             	mov    -0x1(%esi),%al
408f2e:	8a 57 ff             	mov    -0x1(%edi),%dl
408f31:	29 d0                	sub    %edx,%eax
408f33:	5e                   	pop    %esi
408f34:	5f                   	pop    %edi
408f35:	c3                   	ret
408f36:	8b c0                	mov    %eax,%eax
408f38:	57                   	push   %edi
408f39:	56                   	push   %esi
408f3a:	89 d7                	mov    %edx,%edi
408f3c:	89 c6                	mov    %eax,%esi
408f3e:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
408f43:	31 c0                	xor    %eax,%eax
408f45:	f2 ae                	repnz scas %es:(%edi),%al
408f47:	f7 d1                	not    %ecx
408f49:	89 d7                	mov    %edx,%edi
408f4b:	31 d2                	xor    %edx,%edx
408f4d:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
408f4f:	74 21                	je     0x408f72
408f51:	8a 46 ff             	mov    -0x1(%esi),%al
408f54:	3c 61                	cmp    $0x61,%al
408f56:	72 06                	jb     0x408f5e
408f58:	3c 7a                	cmp    $0x7a,%al
408f5a:	77 02                	ja     0x408f5e
408f5c:	2c 20                	sub    $0x20,%al
408f5e:	8a 57 ff             	mov    -0x1(%edi),%dl
408f61:	80 fa 61             	cmp    $0x61,%dl
408f64:	72 08                	jb     0x408f6e
408f66:	80 fa 7a             	cmp    $0x7a,%dl
408f69:	77 03                	ja     0x408f6e
408f6b:	80 ea 20             	sub    $0x20,%dl
408f6e:	29 d0                	sub    %edx,%eax
408f70:	74 db                	je     0x408f4d
408f72:	5e                   	pop    %esi
408f73:	5f                   	pop    %edi
408f74:	c3                   	ret
408f75:	8d 40 00             	lea    0x0(%eax),%eax
408f78:	57                   	push   %edi
408f79:	56                   	push   %esi
408f7a:	53                   	push   %ebx
408f7b:	89 d7                	mov    %edx,%edi
408f7d:	89 c6                	mov    %eax,%esi
408f7f:	89 cb                	mov    %ecx,%ebx
408f81:	31 c0                	xor    %eax,%eax
408f83:	09 c9                	or     %ecx,%ecx
408f85:	74 2f                	je     0x408fb6
408f87:	f2 ae                	repnz scas %es:(%edi),%al
408f89:	29 cb                	sub    %ecx,%ebx
408f8b:	89 d9                	mov    %ebx,%ecx
408f8d:	89 d7                	mov    %edx,%edi
408f8f:	31 d2                	xor    %edx,%edx
408f91:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
408f93:	74 21                	je     0x408fb6
408f95:	8a 46 ff             	mov    -0x1(%esi),%al
408f98:	3c 61                	cmp    $0x61,%al
408f9a:	72 06                	jb     0x408fa2
408f9c:	3c 7a                	cmp    $0x7a,%al
408f9e:	77 02                	ja     0x408fa2
408fa0:	2c 20                	sub    $0x20,%al
408fa2:	8a 57 ff             	mov    -0x1(%edi),%dl
408fa5:	80 fa 61             	cmp    $0x61,%dl
408fa8:	72 08                	jb     0x408fb2
408faa:	80 fa 7a             	cmp    $0x7a,%dl
408fad:	77 03                	ja     0x408fb2
408faf:	80 ea 20             	sub    $0x20,%dl
408fb2:	29 d0                	sub    %edx,%eax
408fb4:	74 db                	je     0x408f91
408fb6:	5b                   	pop    %ebx
408fb7:	5e                   	pop    %esi
408fb8:	5f                   	pop    %edi
408fb9:	c3                   	ret
408fba:	8b c0                	mov    %eax,%eax
408fbc:	eb 08                	jmp    0x408fc6
408fbe:	84 c9                	test   %cl,%cl
408fc0:	75 03                	jne    0x408fc5
408fc2:	33 c0                	xor    %eax,%eax
408fc4:	c3                   	ret
408fc5:	40                   	inc    %eax
408fc6:	8a 08                	mov    (%eax),%cl
408fc8:	3a d1                	cmp    %cl,%dl
408fca:	75 f2                	jne    0x408fbe
408fcc:	c3                   	ret
408fcd:	8d 40 00             	lea    0x0(%eax),%eax
408fd0:	57                   	push   %edi
408fd1:	56                   	push   %esi
408fd2:	53                   	push   %ebx
408fd3:	09 c0                	or     %eax,%eax
408fd5:	74 44                	je     0x40901b
408fd7:	09 d2                	or     %edx,%edx
408fd9:	74 40                	je     0x40901b
408fdb:	89 c3                	mov    %eax,%ebx
408fdd:	89 d7                	mov    %edx,%edi
408fdf:	32 c0                	xor    %al,%al
408fe1:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
408fe6:	f2 ae                	repnz scas %es:(%edi),%al
408fe8:	f7 d1                	not    %ecx
408fea:	49                   	dec    %ecx
408feb:	74 2e                	je     0x40901b
408fed:	89 ce                	mov    %ecx,%esi
408fef:	89 df                	mov    %ebx,%edi
408ff1:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
408ff6:	f2 ae                	repnz scas %es:(%edi),%al
408ff8:	f7 d1                	not    %ecx
408ffa:	29 f1                	sub    %esi,%ecx
408ffc:	76 1d                	jbe    0x40901b
408ffe:	89 df                	mov    %ebx,%edi
409000:	8d 5e ff             	lea    -0x1(%esi),%ebx
409003:	89 d6                	mov    %edx,%esi
409005:	ac                   	lods   %ds:(%esi),%al
409006:	f2 ae                	repnz scas %es:(%edi),%al
409008:	75 11                	jne    0x40901b
40900a:	89 c8                	mov    %ecx,%eax
40900c:	57                   	push   %edi
40900d:	89 d9                	mov    %ebx,%ecx
40900f:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
409011:	5f                   	pop    %edi
409012:	89 c1                	mov    %eax,%ecx
409014:	75 ed                	jne    0x409003
409016:	8d 47 ff             	lea    -0x1(%edi),%eax
409019:	eb 02                	jmp    0x40901d
40901b:	31 c0                	xor    %eax,%eax
40901d:	5b                   	pop    %ebx
40901e:	5e                   	pop    %esi
40901f:	5f                   	pop    %edi
409020:	c3                   	ret
409021:	8d 40 00             	lea    0x0(%eax),%eax
409024:	53                   	push   %ebx
409025:	56                   	push   %esi
409026:	8b f2                	mov    %edx,%esi
409028:	8b d8                	mov    %eax,%ebx
40902a:	8b c6                	mov    %esi,%eax
40902c:	8b d3                	mov    %ebx,%edx
40902e:	e8 29 b3 ff ff       	call   0x40435c
409033:	5e                   	pop    %esi
409034:	5b                   	pop    %ebx
409035:	c3                   	ret
409036:	8b c0                	mov    %eax,%eax
409038:	53                   	push   %ebx
409039:	8b d8                	mov    %eax,%ebx
40903b:	83 c3 04             	add    $0x4,%ebx
40903e:	8b c3                	mov    %ebx,%eax
409040:	e8 33 97 ff ff       	call   0x402778
409045:	89 18                	mov    %ebx,(%eax)
409047:	83 c0 04             	add    $0x4,%eax
40904a:	5b                   	pop    %ebx
40904b:	c3                   	ret
40904c:	83 e8 04             	sub    $0x4,%eax
40904f:	8b 00                	mov    (%eax),%eax
409051:	83 e8 04             	sub    $0x4,%eax
409054:	c3                   	ret
409055:	8d 40 00             	lea    0x0(%eax),%eax
409058:	53                   	push   %ebx
409059:	56                   	push   %esi
40905a:	8b d8                	mov    %eax,%ebx
40905c:	85 db                	test   %ebx,%ebx
40905e:	75 05                	jne    0x409065
409060:	33 c0                	xor    %eax,%eax
409062:	5e                   	pop    %esi
409063:	5b                   	pop    %ebx
409064:	c3                   	ret
409065:	8b c3                	mov    %ebx,%eax
409067:	e8 b0 fd ff ff       	call   0x408e1c
40906c:	8b f0                	mov    %eax,%esi
40906e:	46                   	inc    %esi
40906f:	8b c6                	mov    %esi,%eax
409071:	e8 c2 ff ff ff       	call   0x409038
409076:	8b ce                	mov    %esi,%ecx
409078:	8b d3                	mov    %ebx,%edx
40907a:	e8 c9 fd ff ff       	call   0x408e48
40907f:	5e                   	pop    %esi
409080:	5b                   	pop    %ebx
409081:	c3                   	ret
409082:	8b c0                	mov    %eax,%eax
409084:	85 c0                	test   %eax,%eax
409086:	74 0a                	je     0x409092
409088:	83 e8 04             	sub    $0x4,%eax
40908b:	8b 10                	mov    (%eax),%edx
40908d:	e8 06 97 ff ff       	call   0x402798
409092:	c3                   	ret
409093:	90                   	nop
409094:	53                   	push   %ebx
409095:	56                   	push   %esi
409096:	57                   	push   %edi
409097:	83 c4 d8             	add    $0xffffffd8,%esp
40909a:	8b d9                	mov    %ecx,%ebx
40909c:	8b f2                	mov    %edx,%esi
40909e:	8b f8                	mov    %eax,%edi
4090a0:	83 fb 1f             	cmp    $0x1f,%ebx
4090a3:	76 05                	jbe    0x4090aa
4090a5:	bb 1f 00 00 00       	mov    $0x1f,%ebx
4090aa:	8b d3                	mov    %ebx,%edx
4090ac:	4a                   	dec    %edx
4090ad:	8b c6                	mov    %esi,%eax
4090af:	e8 a4 3d 00 00       	call   0x40ce58
4090b4:	3c 01                	cmp    $0x1,%al
4090b6:	75 01                	jne    0x4090b9
4090b8:	4b                   	dec    %ebx
4090b9:	8b c4                	mov    %esp,%eax
4090bb:	8b cb                	mov    %ebx,%ecx
4090bd:	8b d6                	mov    %esi,%edx
4090bf:	e8 84 fd ff ff       	call   0x408e48
4090c4:	c6 04 1c 00          	movb   $0x0,(%esp,%ebx,1)
4090c8:	8b c4                	mov    %esp,%eax
4090ca:	89 44 24 20          	mov    %eax,0x20(%esp)
4090ce:	c6 44 24 24 06       	movb   $0x6,0x24(%esp)
4090d3:	8d 54 24 20          	lea    0x20(%esp),%edx
4090d7:	8b 04 bd 60 d1 48 00 	mov    0x48d160(,%edi,4),%eax
4090de:	33 c9                	xor    %ecx,%ecx
4090e0:	e8 03 f2 ff ff       	call   0x4082e8
4090e5:	83 c4 28             	add    $0x28,%esp
4090e8:	5f                   	pop    %edi
4090e9:	5e                   	pop    %esi
4090ea:	5b                   	pop    %ebx
4090eb:	c3                   	ret
4090ec:	53                   	push   %ebx
4090ed:	8b 0d cc b4 49 00    	mov    0x49b4cc,%ecx
4090f3:	83 39 00             	cmpl   $0x0,(%ecx)
4090f6:	74 0c                	je     0x409104
4090f8:	8b 1d cc b4 49 00    	mov    0x49b4cc,%ebx
4090fe:	8b 1b                	mov    (%ebx),%ebx
409100:	ff d3                	call   *%ebx
409102:	5b                   	pop    %ebx
409103:	c3                   	ret
409104:	b0 10                	mov    $0x10,%al
409106:	e8 c9 97 ff ff       	call   0x4028d4
40910b:	5b                   	pop    %ebx
40910c:	c3                   	ret
40910d:	8d 40 00             	lea    0x0(%eax),%eax
409110:	53                   	push   %ebx
409111:	8b d8                	mov    %eax,%ebx
409113:	8b c3                	mov    %ebx,%eax
409115:	e8 4a b0 ff ff       	call   0x404164
40911a:	5b                   	pop    %ebx
40911b:	c3                   	ret
40911c:	55                   	push   %ebp
40911d:	8b ec                	mov    %esp,%ebp
40911f:	83 c4 94             	add    $0xffffff94,%esp
409122:	53                   	push   %ebx
409123:	33 db                	xor    %ebx,%ebx
409125:	89 5d ec             	mov    %ebx,-0x14(%ebp)