407dc9:	e8 be bc ff ff       	call   0x403a8c
407dce:	5f                   	pop    %edi
407dcf:	5e                   	pop    %esi
407dd0:	5b                   	pop    %ebx
407dd1:	c3                   	ret
407dd2:	8b c0                	mov    %eax,%eax
407dd4:	53                   	push   %ebx
407dd5:	56                   	push   %esi
407dd6:	8b d8                	mov    %eax,%ebx
407dd8:	8b c3                	mov    %ebx,%eax
407dda:	e8 15 a9 ff ff       	call   0x4026f4
407ddf:	8b f0                	mov    %eax,%esi
407de1:	8b c6                	mov    %esi,%eax
407de3:	33 c9                	xor    %ecx,%ecx
407de5:	8b d3                	mov    %ebx,%edx
407de7:	e8 e0 ae ff ff       	call   0x402ccc
407dec:	8b c6                	mov    %esi,%eax
407dee:	5e                   	pop    %esi
407def:	5b                   	pop    %ebx
407df0:	c3                   	ret
407df1:	8d 40 00             	lea    0x0(%eax),%eax
407df4:	53                   	push   %ebx
407df5:	a1 34 91 46 00       	mov    0x469134,%eax
407dfa:	8b 10                	mov    (%eax),%edx
407dfc:	89 15 34 91 46 00    	mov    %edx,0x469134
407e02:	8b 15 00 45 47 00    	mov    0x474500,%edx
407e08:	8b 48 04             	mov    0x4(%eax),%ecx
407e0b:	89 0a                	mov    %ecx,(%edx)
407e0d:	8b 58 08             	mov    0x8(%eax),%ebx
407e10:	ba 0c 00 00 00       	mov    $0xc,%edx
407e15:	e8 fa a8 ff ff       	call   0x402714
407e1a:	ff d3                	call   *%ebx
407e1c:	5b                   	pop    %ebx
407e1d:	c3                   	ret
407e1e:	8b c0                	mov    %eax,%eax
407e20:	53                   	push   %ebx
407e21:	8b d8                	mov    %eax,%ebx
407e23:	b8 0c 00 00 00       	mov    $0xc,%eax
407e28:	e8 c7 a8 ff ff       	call   0x4026f4
407e2d:	8b 15 34 91 46 00    	mov    0x469134,%edx
407e33:	89 10                	mov    %edx,(%eax)
407e35:	8b 15 00 45 47 00    	mov    0x474500,%edx
407e3b:	8b 12                	mov    (%edx),%edx
407e3d:	89 50 04             	mov    %edx,0x4(%eax)
407e40:	89 58 08             	mov    %ebx,0x8(%eax)
407e43:	a3 34 91 46 00       	mov    %eax,0x469134
407e48:	a1 00 45 47 00       	mov    0x474500,%eax
407e4d:	c7 00 f4 7d 40 00    	movl   $0x407df4,(%eax)
407e53:	5b                   	pop    %ebx
407e54:	c3                   	ret
407e55:	8d 40 00             	lea    0x0(%eax),%eax
407e58:	53                   	push   %ebx
407e59:	56                   	push   %esi
407e5a:	57                   	push   %edi
407e5b:	8b fa                	mov    %edx,%edi
407e5d:	8b f0                	mov    %eax,%esi
407e5f:	8b c6                	mov    %esi,%eax
407e61:	e8 aa c4 ff ff       	call   0x404310
407e66:	8b d8                	mov    %eax,%ebx
407e68:	8b c7                	mov    %edi,%eax
407e6a:	8b d3                	mov    %ebx,%edx
407e6c:	e8 2b c8 ff ff       	call   0x40469c
407e71:	8b d6                	mov    %esi,%edx
407e73:	8b 37                	mov    (%edi),%esi
407e75:	85 db                	test   %ebx,%ebx
407e77:	74 15                	je     0x407e8e
407e79:	8a 02                	mov    (%edx),%al
407e7b:	3c 61                	cmp    $0x61,%al
407e7d:	72 06                	jb     0x407e85
407e7f:	3c 7a                	cmp    $0x7a,%al
407e81:	77 02                	ja     0x407e85
407e83:	2c 20                	sub    $0x20,%al
407e85:	88 06                	mov    %al,(%esi)
407e87:	42                   	inc    %edx
407e88:	46                   	inc    %esi
407e89:	4b                   	dec    %ebx
407e8a:	85 db                	test   %ebx,%ebx
407e8c:	75 eb                	jne    0x407e79
407e8e:	5f                   	pop    %edi
407e8f:	5e                   	pop    %esi
407e90:	5b                   	pop    %ebx
407e91:	c3                   	ret
407e92:	8b c0                	mov    %eax,%eax
407e94:	53                   	push   %ebx
407e95:	56                   	push   %esi
407e96:	57                   	push   %edi
407e97:	8b fa                	mov    %edx,%edi
407e99:	8b f0                	mov    %eax,%esi
407e9b:	8b c6                	mov    %esi,%eax
407e9d:	e8 6e c4 ff ff       	call   0x404310
407ea2:	8b d8                	mov    %eax,%ebx
407ea4:	8b c7                	mov    %edi,%eax
407ea6:	8b d3                	mov    %ebx,%edx
407ea8:	e8 ef c7 ff ff       	call   0x40469c
407ead:	8b d6                	mov    %esi,%edx
407eaf:	8b 37                	mov    (%edi),%esi
407eb1:	85 db                	test   %ebx,%ebx
407eb3:	74 15                	je     0x407eca
407eb5:	8a 02                	mov    (%edx),%al
407eb7:	3c 41                	cmp    $0x41,%al
407eb9:	72 06                	jb     0x407ec1
407ebb:	3c 5a                	cmp    $0x5a,%al
407ebd:	77 02                	ja     0x407ec1
407ebf:	04 20                	add    $0x20,%al
407ec1:	88 06                	mov    %al,(%esi)
407ec3:	42                   	inc    %edx
407ec4:	46                   	inc    %esi
407ec5:	4b                   	dec    %ebx
407ec6:	85 db                	test   %ebx,%ebx
407ec8:	75 eb                	jne    0x407eb5
407eca:	5f                   	pop    %edi
407ecb:	5e                   	pop    %esi
407ecc:	5b                   	pop    %ebx
407ecd:	c3                   	ret
407ece:	8b c0                	mov    %eax,%eax
407ed0:	56                   	push   %esi
407ed1:	57                   	push   %edi
407ed2:	89 c6                	mov    %eax,%esi
407ed4:	89 d7                	mov    %edx,%edi
407ed6:	09 c0                	or     %eax,%eax
407ed8:	74 03                	je     0x407edd
407eda:	8b 40 fc             	mov    -0x4(%eax),%eax
407edd:	09 d2                	or     %edx,%edx
407edf:	74 03                	je     0x407ee4
407ee1:	8b 52 fc             	mov    -0x4(%edx),%edx
407ee4:	89 c1                	mov    %eax,%ecx
407ee6:	39 d1                	cmp    %edx,%ecx
407ee8:	76 02                	jbe    0x407eec
407eea:	89 d1                	mov    %edx,%ecx
407eec:	39 c9                	cmp    %ecx,%ecx
407eee:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
407ef0:	74 08                	je     0x407efa
407ef2:	0f b6 46 ff          	movzbl -0x1(%esi),%eax
407ef6:	0f b6 57 ff          	movzbl -0x1(%edi),%edx
407efa:	29 d0                	sub    %edx,%eax
407efc:	5f                   	pop    %edi
407efd:	5e                   	pop    %esi
407efe:	c3                   	ret
407eff:	90                   	nop
407f00:	56                   	push   %esi
407f01:	57                   	push   %edi
407f02:	89 c6                	mov    %eax,%esi
407f04:	89 d7                	mov    %edx,%edi
407f06:	89 ca                	mov    %ecx,%edx
407f08:	31 c0                	xor    %eax,%eax
407f0a:	83 e2 03             	and    $0x3,%edx
407f0d:	c1 f9 02             	sar    $0x2,%ecx
407f10:	78 0a                	js     0x407f1c
407f12:	f3 a7                	repz cmpsl %es:(%edi),%ds:(%esi)
407f14:	75 07                	jne    0x407f1d
407f16:	89 d1                	mov    %edx,%ecx
407f18:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
407f1a:	75 01                	jne    0x407f1d
407f1c:	40                   	inc    %eax
407f1d:	5f                   	pop    %edi
407f1e:	5e                   	pop    %esi
407f1f:	c3                   	ret
407f20:	56                   	push   %esi
407f21:	57                   	push   %edi
407f22:	53                   	push   %ebx
407f23:	89 c6                	mov    %eax,%esi
407f25:	89 d7                	mov    %edx,%edi
407f27:	09 c0                	or     %eax,%eax
407f29:	74 03                	je     0x407f2e
407f2b:	8b 40 fc             	mov    -0x4(%eax),%eax
407f2e:	09 d2                	or     %edx,%edx
407f30:	74 03                	je     0x407f35
407f32:	8b 52 fc             	mov    -0x4(%edx),%edx
407f35:	89 c1                	mov    %eax,%ecx
407f37:	39 d1                	cmp    %edx,%ecx
407f39:	76 02                	jbe    0x407f3d
407f3b:	89 d1                	mov    %edx,%ecx
407f3d:	39 c9                	cmp    %ecx,%ecx
407f3f:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
407f41:	74 2a                	je     0x407f6d
407f43:	8a 5e ff             	mov    -0x1(%esi),%bl
407f46:	80 fb 61             	cmp    $0x61,%bl
407f49:	72 08                	jb     0x407f53
407f4b:	80 fb 7a             	cmp    $0x7a,%bl
407f4e:	77 03                	ja     0x407f53
407f50:	80 eb 20             	sub    $0x20,%bl
407f53:	8a 7f ff             	mov    -0x1(%edi),%bh
407f56:	80 ff 61             	cmp    $0x61,%bh
407f59:	72 08                	jb     0x407f63
407f5b:	80 ff 7a             	cmp    $0x7a,%bh
407f5e:	77 03                	ja     0x407f63
407f60:	80 ef 20             	sub    $0x20,%bh
407f63:	38 fb                	cmp    %bh,%bl
407f65:	74 d8                	je     0x407f3f
407f67:	0f b6 c3             	movzbl %bl,%eax
407f6a:	0f b6 d7             	movzbl %bh,%edx
407f6d:	29 d0                	sub    %edx,%eax
407f6f:	5b                   	pop    %ebx
407f70:	5f                   	pop    %edi
407f71:	5e                   	pop    %esi
407f72:	c3                   	ret
407f73:	90                   	nop
407f74:	39 d0                	cmp    %edx,%eax
407f76:	74 19                	je     0x407f91
407f78:	09 c0                	or     %eax,%eax
407f7a:	74 17                	je     0x407f93
407f7c:	09 d2                	or     %edx,%edx
407f7e:	74 14                	je     0x407f94
407f80:	8b 48 fc             	mov    -0x4(%eax),%ecx
407f83:	3b 4a fc             	cmp    -0x4(%edx),%ecx
407f86:	75 0c                	jne    0x407f94
407f88:	e8 93 ff ff ff       	call   0x407f20
407f8d:	85 c0                	test   %eax,%eax
407f8f:	75 03                	jne    0x407f94
407f91:	b0 01                	mov    $0x1,%al
407f93:	c3                   	ret
407f94:	31 c0                	xor    %eax,%eax
407f96:	c3                   	ret
407f97:	90                   	nop
407f98:	53                   	push   %ebx
407f99:	56                   	push   %esi
407f9a:	57                   	push   %edi
407f9b:	8b fa                	mov    %edx,%edi
407f9d:	8b f0                	mov    %eax,%esi
407f9f:	8b c6                	mov    %esi,%eax
407fa1:	e8 6a c3 ff ff       	call   0x404310
407fa6:	8b d8                	mov    %eax,%ebx
407fa8:	8b c6                	mov    %esi,%eax
407faa:	e8 61 c5 ff ff       	call   0x404510
407faf:	8b d0                	mov    %eax,%edx
407fb1:	8b c7                	mov    %edi,%eax
407fb3:	8b cb                	mov    %ebx,%ecx
407fb5:	e8 86 c1 ff ff       	call   0x404140
407fba:	85 db                	test   %ebx,%ebx
407fbc:	7e 09                	jle    0x407fc7
407fbe:	53                   	push   %ebx
407fbf:	8b 07                	mov    (%edi),%eax
407fc1:	50                   	push   %eax
407fc2:	e8 3d e7 ff ff       	call   0x406704
407fc7:	5f                   	pop    %edi
407fc8:	5e                   	pop    %esi
407fc9:	5b                   	pop    %ebx
407fca:	c3                   	ret
407fcb:	90                   	nop
407fcc:	53                   	push   %ebx
407fcd:	56                   	push   %esi
407fce:	8b f2                	mov    %edx,%esi
407fd0:	8b d8                	mov    %eax,%ebx
407fd2:	8b c6                	mov    %esi,%eax
407fd4:	e8 37 c3 ff ff       	call   0x404310
407fd9:	50                   	push   %eax
407fda:	8b c6                	mov    %esi,%eax
407fdc:	e8 2f c5 ff ff       	call   0x404510
407fe1:	50                   	push   %eax
407fe2:	8b c3                	mov    %ebx,%eax
407fe4:	e8 27 c3 ff ff       	call   0x404310
407fe9:	50                   	push   %eax
407fea:	8b c3                	mov    %ebx,%eax
407fec:	e8 1f c5 ff ff       	call   0x404510
407ff1:	50                   	push   %eax
407ff2:	6a 00                	push   $0x0
407ff4:	68 00 04 00 00       	push   $0x400
407ff9:	e8 7e e2 ff ff       	call   0x40627c
407ffe:	83 e8 02             	sub    $0x2,%eax
408001:	5e                   	pop    %esi
408002:	5b                   	pop    %ebx
408003:	c3                   	ret
408004:	53                   	push   %ebx
408005:	56                   	push   %esi
408006:	8b f2                	mov    %edx,%esi
408008:	8b d8                	mov    %eax,%ebx
40800a:	8b c6                	mov    %esi,%eax
40800c:	e8 ff c2 ff ff       	call   0x404310
408011:	50                   	push   %eax
408012:	8b c6                	mov    %esi,%eax
408014:	e8 f7 c4 ff ff       	call   0x404510
408019:	50                   	push   %eax
40801a:	8b c3                	mov    %ebx,%eax
40801c:	e8 ef c2 ff ff       	call   0x404310
408021:	50                   	push   %eax
408022:	8b c3                	mov    %ebx,%eax
408024:	e8 e7 c4 ff ff       	call   0x404510
408029:	50                   	push   %eax
40802a:	6a 01                	push   $0x1
40802c:	68 00 04 00 00       	push   $0x400
408031:	e8 46 e2 ff ff       	call   0x40627c
408036:	83 e8 02             	sub    $0x2,%eax
408039:	5e                   	pop    %esi
40803a:	5b                   	pop    %ebx
40803b:	c3                   	ret
40803c:	53                   	push   %ebx
40803d:	56                   	push   %esi
40803e:	8b f2                	mov    %edx,%esi
408040:	8b d8                	mov    %eax,%ebx
408042:	8b d6                	mov    %esi,%edx
408044:	8b c3                	mov    %ebx,%eax
408046:	e8 b9 ff ff ff       	call   0x408004
40804b:	85 c0                	test   %eax,%eax
40804d:	0f 94 c0             	sete   %al
408050:	5e                   	pop    %esi
408051:	5b                   	pop    %ebx
408052:	c3                   	ret
408053:	90                   	nop
408054:	53                   	push   %ebx
408055:	56                   	push   %esi
408056:	57                   	push   %edi
408057:	8b d9                	mov    %ecx,%ebx
408059:	8b fa                	mov    %edx,%edi
40805b:	8b f0                	mov    %eax,%esi
40805d:	53                   	push   %ebx
40805e:	57                   	push   %edi
40805f:	53                   	push   %ebx
408060:	56                   	push   %esi
408061:	6a 01                	push   $0x1
408063:	68 00 04 00 00       	push   $0x400
408068:	e8 0f e2 ff ff       	call   0x40627c
40806d:	83 e8 02             	sub    $0x2,%eax
408070:	5f                   	pop    %edi
408071:	5e                   	pop    %esi
408072:	5b                   	pop    %ebx
408073:	c3                   	ret
408074:	53                   	push   %ebx
408075:	56                   	push   %esi
408076:	57                   	push   %edi
408077:	55                   	push   %ebp
408078:	8b ea                	mov    %edx,%ebp
40807a:	8b f8                	mov    %eax,%edi
40807c:	8b c7                	mov    %edi,%eax
40807e:	e8 8d c2 ff ff       	call   0x404310
408083:	8b f0                	mov    %eax,%esi
408085:	bb 01 00 00 00       	mov    $0x1,%ebx
40808a:	eb 01                	jmp    0x40808d
40808c:	43                   	inc    %ebx
40808d:	3b f3                	cmp    %ebx,%esi
40808f:	7c 07                	jl     0x408098
408091:	80 7c 1f ff 20       	cmpb   $0x20,-0x1(%edi,%ebx,1)
408096:	76 f4                	jbe    0x40808c
408098:	3b f3                	cmp    %ebx,%esi
40809a:	7d 0a                	jge    0x4080a6
40809c:	8b c5                	mov    %ebp,%eax
40809e:	e8 ad bf ff ff       	call   0x404050
4080a3:	eb 17                	jmp    0x4080bc
4080a5:	4e                   	dec    %esi
4080a6:	80 7c 37 ff 20       	cmpb   $0x20,-0x1(%edi,%esi,1)
4080ab:	76 f8                	jbe    0x4080a5
4080ad:	55                   	push   %ebp
4080ae:	8b ce                	mov    %esi,%ecx
4080b0:	2b cb                	sub    %ebx,%ecx
4080b2:	41                   	inc    %ecx
4080b3:	8b d3                	mov    %ebx,%edx
4080b5:	8b c7                	mov    %edi,%eax
4080b7:	e8 b4 c4 ff ff       	call   0x404570
4080bc:	5d                   	pop    %ebp
4080bd:	5f                   	pop    %edi
4080be:	5e                   	pop    %esi