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
40a11a:	33 c9                	xor    %ecx,%ecx
40a11c:	e8 6f ef ff ff       	call   0x409090
40a121:	83 c4 28             	add    $0x28,%esp
40a124:	5f                   	pop    %edi
40a125:	5e                   	pop    %esi
40a126:	5b                   	pop    %ebx
40a127:	c3                   	ret
40a128:	53                   	push   %ebx
40a129:	56                   	push   %esi
40a12a:	8b f2                	mov    %edx,%esi
40a12c:	8b d8                	mov    %eax,%ebx
40a12e:	8b c3                	mov    %ebx,%eax
40a130:	8b d6                	mov    %esi,%edx
40a132:	e8 81 b8 ff ff       	call   0x4059b8
40a137:	5e                   	pop    %esi
40a138:	5b                   	pop    %ebx
40a139:	c3                   	ret
40a13a:	8b c0                	mov    %eax,%eax
40a13c:	53                   	push   %ebx
40a13d:	8b d8                	mov    %eax,%ebx
40a13f:	8b c3                	mov    %ebx,%eax
40a141:	e8 22 a7 ff ff       	call   0x404868
40a146:	5b                   	pop    %ebx
40a147:	c3                   	ret
40a148:	55                   	push   %ebp
40a149:	8b ec                	mov    %esp,%ebp
40a14b:	83 c4 8c             	add    $0xffffff8c,%esp
40a14e:	53                   	push   %ebx
40a14f:	33 db                	xor    %ebx,%ebx
40a151:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40a154:	53                   	push   %ebx
40a155:	56                   	push   %esi
40a156:	57                   	push   %edi
40a157:	89 c7                	mov    %eax,%edi
40a159:	89 ce                	mov    %ecx,%esi
40a15b:	31 c0                	xor    %eax,%eax
40a15d:	89 45 fc             	mov    %eax,-0x4(%ebp)
40a160:	03 4d 10             	add    0x10(%ebp),%ecx
40a163:	89 7d f8             	mov    %edi,-0x8(%ebp)
40a166:	31 c0                	xor    %eax,%eax
40a168:	89 45 f4             	mov    %eax,-0xc(%ebp)
40a16b:	89 45 f0             	mov    %eax,-0x10(%ebp)
40a16e:	89 45 ec             	mov    %eax,-0x14(%ebp)
40a171:	09 d2                	or     %edx,%edx
40a173:	74 0d                	je     0x40a182
40a175:	39 ce                	cmp    %ecx,%esi
40a177:	74 09                	je     0x40a182
40a179:	ac                   	lods   %ds:(%esi),%al
40a17a:	3c 25                	cmp    $0x25,%al
40a17c:	74 0e                	je     0x40a18c
40a17e:	aa                   	stos   %al,%es:(%edi)
40a17f:	4a                   	dec    %edx
40a180:	75 f3                	jne    0x40a175
40a182:	89 f8                	mov    %edi,%eax
40a184:	2b 45 f8             	sub    -0x8(%ebp),%eax
40a187:	e9 c0 03 00 00       	jmp    0x40a54c
40a18c:	39 ce                	cmp    %ecx,%esi
40a18e:	74 f2                	je     0x40a182
40a190:	ac                   	lods   %ds:(%esi),%al
40a191:	3c 25                	cmp    $0x25,%al
40a193:	74 e9                	je     0x40a17e
40a195:	8d 5e fe             	lea    -0x2(%esi),%ebx
40a198:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40a19b:	88 45 e7             	mov    %al,-0x19(%ebp)
40a19e:	3c 2d                	cmp    $0x2d,%al
40a1a0:	75 05                	jne    0x40a1a7
40a1a2:	39 ce                	cmp    %ecx,%esi
40a1a4:	74 dc                	je     0x40a182
40a1a6:	ac                   	lods   %ds:(%esi),%al
40a1a7:	e8 7e 00 00 00       	call   0x40a22a
40a1ac:	3c 3a                	cmp    $0x3a,%al
40a1ae:	75 0a                	jne    0x40a1ba
40a1b0:	89 5d f4             	mov    %ebx,-0xc(%ebp)
40a1b3:	39 ce                	cmp    %ecx,%esi
40a1b5:	74 cb                	je     0x40a182
40a1b7:	ac                   	lods   %ds:(%esi),%al
40a1b8:	eb e1                	jmp    0x40a19b
40a1ba:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40a1bd:	bb ff ff ff ff       	mov    $0xffffffff,%ebx
40a1c2:	3c 2e                	cmp    $0x2e,%al
40a1c4:	75 0a                	jne    0x40a1d0
40a1c6:	39 ce                	cmp    %ecx,%esi
40a1c8:	74 b8                	je     0x40a182
40a1ca:	ac                   	lods   %ds:(%esi),%al
40a1cb:	e8 5a 00 00 00       	call   0x40a22a
40a1d0:	89 5d dc             	mov    %ebx,-0x24(%ebp)
40a1d3:	89 75 d8             	mov    %esi,-0x28(%ebp)
40a1d6:	51                   	push   %ecx
40a1d7:	52                   	push   %edx
40a1d8:	e8 95 00 00 00       	call   0x40a272
40a1dd:	5a                   	pop    %edx
40a1de:	8b 5d e0             	mov    -0x20(%ebp),%ebx
40a1e1:	29 cb                	sub    %ecx,%ebx
40a1e3:	73 02                	jae    0x40a1e7
40a1e5:	31 db                	xor    %ebx,%ebx
40a1e7:	80 7d e7 2d          	cmpb   $0x2d,-0x19(%ebp)
40a1eb:	75 0a                	jne    0x40a1f7
40a1ed:	29 ca                	sub    %ecx,%edx
40a1ef:	73 04                	jae    0x40a1f5
40a1f1:	01 d1                	add    %edx,%ecx
40a1f3:	31 d2                	xor    %edx,%edx
40a1f5:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
40a1f7:	87 d9                	xchg   %ebx,%ecx
40a1f9:	29 ca                	sub    %ecx,%edx
40a1fb:	73 04                	jae    0x40a201
40a1fd:	01 d1                	add    %edx,%ecx
40a1ff:	31 d2                	xor    %edx,%edx
40a201:	b0 20                	mov    $0x20,%al
40a203:	f3 aa                	rep stos %al,%es:(%edi)
40a205:	87 d9                	xchg   %ebx,%ecx
40a207:	29 ca                	sub    %ecx,%edx
40a209:	73 04                	jae    0x40a20f
40a20b:	01 d1                	add    %edx,%ecx
40a20d:	31 d2                	xor    %edx,%edx
40a20f:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
40a211:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
40a215:	74 0a                	je     0x40a221
40a217:	52                   	push   %edx
40a218:	8d 45 f0             	lea    -0x10(%ebp),%eax
40a21b:	e8 1c ff ff ff       	call   0x40a13c
40a220:	5a                   	pop    %edx
40a221:	59                   	pop    %ecx
40a222:	8b 75 d8             	mov    -0x28(%ebp),%esi
40a225:	e9 47 ff ff ff       	jmp    0x40a171
40a22a:	31 db                	xor    %ebx,%ebx
40a22c:	3c 2a                	cmp    $0x2a,%al
40a22e:	74 22                	je     0x40a252
40a230:	3c 30                	cmp    $0x30,%al
40a232:	72 3d                	jb     0x40a271
40a234:	3c 39                	cmp    $0x39,%al
40a236:	77 39                	ja     0x40a271
40a238:	69 db 0a 00 00 00    	imul   $0xa,%ebx,%ebx
40a23e:	2c 30                	sub    $0x30,%al
40a240:	0f b6 c0             	movzbl %al,%eax
40a243:	01 c3                	add    %eax,%ebx
40a245:	39 ce                	cmp    %ecx,%esi
40a247:	74 03                	je     0x40a24c
40a249:	ac                   	lods   %ds:(%esi),%al
40a24a:	eb e4                	jmp    0x40a230
40a24c:	58                   	pop    %eax
40a24d:	e9 30 ff ff ff       	jmp    0x40a182
40a252:	8b 45 f4             	mov    -0xc(%ebp),%eax
40a255:	3b 45 08             	cmp    0x8(%ebp),%eax
40a258:	77 12                	ja     0x40a26c
40a25a:	ff 45 f4             	incl   -0xc(%ebp)
40a25d:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40a260:	80 7c c3 04 00       	cmpb   $0x0,0x4(%ebx,%eax,8)
40a265:	8b 1c c3             	mov    (%ebx,%eax,8),%ebx
40a268:	74 02                	je     0x40a26c
40a26a:	31 db                	xor    %ebx,%ebx
40a26c:	39 ce                	cmp    %ecx,%esi
40a26e:	74 dc                	je     0x40a24c
40a270:	ac                   	lods   %ds:(%esi),%al
40a271:	c3                   	ret
40a272:	24 df                	and    $0xdf,%al
40a274:	88 c1                	mov    %al,%cl
40a276:	b8 01 00 00 00       	mov    $0x1,%eax
40a27b:	8b 5d f4             	mov    -0xc(%ebp),%ebx
40a27e:	3b 5d 08             	cmp    0x8(%ebp),%ebx
40a281:	77 5c                	ja     0x40a2df
40a283:	ff 45 f4             	incl   -0xc(%ebp)
40a286:	8b 75 0c             	mov    0xc(%ebp),%esi
40a289:	8d 34 de             	lea    (%esi,%ebx,8),%esi
40a28c:	8b 06                	mov    (%esi),%eax
40a28e:	0f b6 56 04          	movzbl 0x4(%esi),%edx
40a292:	ff 24 95 99 a2 40 00 	jmp    *0x40a299(,%edx,4)
40a299:	9a a3 40 00 dd a2 40 	lcall  $0x40a2,$0xdd0040a3
40a2a0:	00 01                	add    %al,(%ecx)
40a2a2:	a4                   	movsb  %ds:(%esi),%es:(%edi)
40a2a3:	40                   	inc    %eax
40a2a4:	00 c7                	add    %al,%bh
40a2a6:	a4                   	movsb  %ds:(%esi),%es:(%edi)
40a2a7:	40                   	inc    %eax
40a2a8:	00 31                	add    %dh,(%ecx)
40a2aa:	a4                   	movsb  %ds:(%esi),%es:(%edi)