407f11:	8d 0c 52             	lea    (%edx,%edx,2),%ecx
407f14:	c1 e1 02             	shl    $0x2,%ecx
407f17:	8b 7e 50             	mov    0x50(%esi),%edi
407f1a:	83 c1 0c             	add    $0xc,%ecx
407f1d:	83 64 39 fc 00       	andl   $0x0,-0x4(%ecx,%edi,1)
407f22:	8b 3d f8 0d 41 00    	mov    0x410df8,%edi
407f28:	8b 1d fc 0d 41 00    	mov    0x410dfc,%ebx
407f2e:	42                   	inc    %edx
407f2f:	03 df                	add    %edi,%ebx
407f31:	3b d3                	cmp    %ebx,%edx
407f33:	7c e2                	jl     0x407f17
407f35:	8b 5d 08             	mov    0x8(%ebp),%ebx
407f38:	8b 00                	mov    (%eax),%eax
407f3a:	8b 7e 58             	mov    0x58(%esi),%edi
407f3d:	3d 8e 00 00 c0       	cmp    $0xc000008e,%eax
407f42:	75 09                	jne    0x407f4d
407f44:	c7 46 58 83 00 00 00 	movl   $0x83,0x58(%esi)
407f4b:	eb 5e                	jmp    0x407fab
407f4d:	3d 90 00 00 c0       	cmp    $0xc0000090,%eax
407f52:	75 09                	jne    0x407f5d
407f54:	c7 46 58 81 00 00 00 	movl   $0x81,0x58(%esi)
407f5b:	eb 4e                	jmp    0x407fab
407f5d:	3d 91 00 00 c0       	cmp    $0xc0000091,%eax
407f62:	75 09                	jne    0x407f6d
407f64:	c7 46 58 84 00 00 00 	movl   $0x84,0x58(%esi)
407f6b:	eb 3e                	jmp    0x407fab
407f6d:	3d 93 00 00 c0       	cmp    $0xc0000093,%eax
407f72:	75 09                	jne    0x407f7d
407f74:	c7 46 58 85 00 00 00 	movl   $0x85,0x58(%esi)
407f7b:	eb 2e                	jmp    0x407fab
407f7d:	3d 8d 00 00 c0       	cmp    $0xc000008d,%eax
407f82:	75 09                	jne    0x407f8d
407f84:	c7 46 58 82 00 00 00 	movl   $0x82,0x58(%esi)
407f8b:	eb 1e                	jmp    0x407fab
407f8d:	3d 8f 00 00 c0       	cmp    $0xc000008f,%eax
407f92:	75 09                	jne    0x407f9d
407f94:	c7 46 58 86 00 00 00 	movl   $0x86,0x58(%esi)
407f9b:	eb 0e                	jmp    0x407fab
407f9d:	3d 92 00 00 c0       	cmp    $0xc0000092,%eax
407fa2:	75 07                	jne    0x407fab
407fa4:	c7 46 58 8a 00 00 00 	movl   $0x8a,0x58(%esi)
407fab:	ff 76 58             	push   0x58(%esi)
407fae:	6a 08                	push   $0x8
407fb0:	ff d3                	call   *%ebx
407fb2:	59                   	pop    %ecx
407fb3:	89 7e 58             	mov    %edi,0x58(%esi)
407fb6:	59                   	pop    %ecx
407fb7:	5f                   	pop    %edi
407fb8:	eb 08                	jmp    0x407fc2
407fba:	83 60 08 00          	andl   $0x0,0x8(%eax)
407fbe:	51                   	push   %ecx
407fbf:	ff d3                	call   *%ebx
407fc1:	59                   	pop    %ecx
407fc2:	8b 45 fc             	mov    -0x4(%ebp),%eax
407fc5:	89 46 54             	mov    %eax,0x54(%esi)
407fc8:	83 c8 ff             	or     $0xffffffff,%eax
407fcb:	eb 09                	jmp    0x407fd6
407fcd:	ff 75 0c             	push   0xc(%ebp)
407fd0:	ff 15 08 d1 40 00    	call   *0x40d108
407fd6:	5e                   	pop    %esi
407fd7:	5b                   	pop    %ebx
407fd8:	c9                   	leave
407fd9:	c3                   	ret
407fda:	8b 54 24 08          	mov    0x8(%esp),%edx
407fde:	8b 0d 04 0e 41 00    	mov    0x410e04,%ecx
407fe4:	56                   	push   %esi
407fe5:	8b 74 24 08          	mov    0x8(%esp),%esi
407fe9:	39 32                	cmp    %esi,(%edx)
407feb:	57                   	push   %edi
407fec:	8b c2                	mov    %edx,%eax
407fee:	74 11                	je     0x408001
407ff0:	8d 3c 49             	lea    (%ecx,%ecx,2),%edi
407ff3:	8d 3c ba             	lea    (%edx,%edi,4),%edi
407ff6:	83 c0 0c             	add    $0xc,%eax
407ff9:	3b c7                	cmp    %edi,%eax
407ffb:	73 04                	jae    0x408001
407ffd:	39 30                	cmp    %esi,(%eax)
407fff:	75 f5                	jne    0x407ff6
408001:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
408004:	8d 0c 8a             	lea    (%edx,%ecx,4),%ecx
408007:	3b c1                	cmp    %ecx,%eax
408009:	73 04                	jae    0x40800f
40800b:	39 30                	cmp    %esi,(%eax)
40800d:	74 02                	je     0x408011
40800f:	33 c0                	xor    %eax,%eax
408011:	5f                   	pop    %edi
408012:	5e                   	pop    %esi
408013:	c3                   	ret
408014:	83 3d c8 1e 41 00 00 	cmpl   $0x0,0x411ec8
40801b:	75 05                	jne    0x408022
40801d:	e8 b6 36 00 00       	call   0x40b6d8
408022:	56                   	push   %esi
408023:	8b 35 04 2f 41 00    	mov    0x412f04,%esi
408029:	8a 06                	mov    (%esi),%al
40802b:	3c 22                	cmp    $0x22,%al
40802d:	75 25                	jne    0x408054
40802f:	8a 46 01             	mov    0x1(%esi),%al
408032:	46                   	inc    %esi
408033:	3c 22                	cmp    $0x22,%al
408035:	74 15                	je     0x40804c
408037:	84 c0                	test   %al,%al
408039:	74 11                	je     0x40804c
40803b:	0f b6 c0             	movzbl %al,%eax
40803e:	50                   	push   %eax
40803f:	e8 7a 32 00 00       	call   0x40b2be
408044:	85 c0                	test   %eax,%eax
408046:	59                   	pop    %ecx
408047:	74 e6                	je     0x40802f
408049:	46                   	inc    %esi
40804a:	eb e3                	jmp    0x40802f
40804c:	80 3e 22             	cmpb   $0x22,(%esi)
40804f:	75 0d                	jne    0x40805e
408051:	46                   	inc    %esi
408052:	eb 0a                	jmp    0x40805e
408054:	3c 20                	cmp    $0x20,%al
408056:	76 06                	jbe    0x40805e
408058:	46                   	inc    %esi
408059:	80 3e 20             	cmpb   $0x20,(%esi)
40805c:	77 fa                	ja     0x408058
40805e:	8a 06                	mov    (%esi),%al
408060:	84 c0                	test   %al,%al
408062:	74 04                	je     0x408068
408064:	3c 20                	cmp    $0x20,%al
408066:	76 e9                	jbe    0x408051
408068:	8b c6                	mov    %esi,%eax
40806a:	5e                   	pop    %esi
40806b:	c3                   	ret
40806c:	53                   	push   %ebx
40806d:	33 db                	xor    %ebx,%ebx
40806f:	39 1d c8 1e 41 00    	cmp    %ebx,0x411ec8
408075:	56                   	push   %esi
408076:	57                   	push   %edi
408077:	75 05                	jne    0x40807e
408079:	e8 5a 36 00 00       	call   0x40b6d8
40807e:	8b 35 e4 17 41 00    	mov    0x4117e4,%esi
408084:	33 ff                	xor    %edi,%edi
408086:	8a 06                	mov    (%esi),%al
408088:	3a c3                	cmp    %bl,%al
40808a:	74 12                	je     0x40809e
40808c:	3c 3d                	cmp    $0x3d,%al
40808e:	74 01                	je     0x408091
408090:	47                   	inc    %edi
408091:	56                   	push   %esi
408092:	e8 69 e9 ff ff       	call   0x406a00
408097:	59                   	pop    %ecx
408098:	8d 74 06 01          	lea    0x1(%esi,%eax,1),%esi
40809c:	eb e8                	jmp    0x408086
40809e:	8d 04 bd 04 00 00 00 	lea    0x4(,%edi,4),%eax
4080a5:	50                   	push   %eax
4080a6:	e8 e2 f2 ff ff       	call   0x40738d
4080ab:	8b f0                	mov    %eax,%esi
4080ad:	59                   	pop    %ecx
4080ae:	3b f3                	cmp    %ebx,%esi
4080b0:	89 35 a4 18 41 00    	mov    %esi,0x4118a4
4080b6:	75 08                	jne    0x4080c0
4080b8:	6a 09                	push   $0x9
4080ba:	e8 bd d6 ff ff       	call   0x40577c
4080bf:	59                   	pop    %ecx
4080c0:	8b 3d e4 17 41 00    	mov    0x4117e4,%edi
4080c6:	38 1f                	cmp    %bl,(%edi)
4080c8:	74 39                	je     0x408103
4080ca:	55                   	push   %ebp
4080cb:	57                   	push   %edi
4080cc:	e8 2f e9 ff ff       	call   0x406a00
4080d1:	8b e8                	mov    %eax,%ebp
4080d3:	59                   	pop    %ecx
4080d4:	45                   	inc    %ebp
4080d5:	80 3f 3d             	cmpb   $0x3d,(%edi)
4080d8:	74 22                	je     0x4080fc
4080da:	55                   	push   %ebp
4080db:	e8 ad f2 ff ff       	call   0x40738d
4080e0:	3b c3                	cmp    %ebx,%eax
4080e2:	59                   	pop    %ecx
4080e3:	89 06                	mov    %eax,(%esi)
4080e5:	75 08                	jne    0x4080ef
4080e7:	6a 09                	push   $0x9
4080e9:	e8 8e d6 ff ff       	call   0x40577c
4080ee:	59                   	pop    %ecx
4080ef:	57                   	push   %edi
4080f0:	ff 36                	push   (%esi)
4080f2:	e8 f9 20 00 00       	call   0x40a1f0
4080f7:	59                   	pop    %ecx
4080f8:	83 c6 04             	add    $0x4,%esi
4080fb:	59                   	pop    %ecx
4080fc:	03 fd                	add    %ebp,%edi
4080fe:	38 1f                	cmp    %bl,(%edi)
408100:	75 c9                	jne    0x4080cb
408102:	5d                   	pop    %ebp
408103:	ff 35 e4 17 41 00    	push   0x4117e4
408109:	e8 c9 ed ff ff       	call   0x406ed7
40810e:	59                   	pop    %ecx
40810f:	89 1d e4 17 41 00    	mov    %ebx,0x4117e4
408115:	89 1e                	mov    %ebx,(%esi)
408117:	5f                   	pop    %edi
408118:	5e                   	pop    %esi
408119:	c7 05 c4 1e 41 00 01 	movl   $0x1,0x411ec4
408120:	00 00 00
408123:	5b                   	pop    %ebx
408124:	c3                   	ret
408125:	55                   	push   %ebp
408126:	8b ec                	mov    %esp,%ebp
408128:	51                   	push   %ecx
408129:	51                   	push   %ecx
40812a:	53                   	push   %ebx
40812b:	33 db                	xor    %ebx,%ebx
40812d:	39 1d c8 1e 41 00    	cmp    %ebx,0x411ec8
408133:	56                   	push   %esi
408134:	57                   	push   %edi
408135:	75 05                	jne    0x40813c
408137:	e8 9c 35 00 00       	call   0x40b6d8
40813c:	be d0 18 41 00       	mov    $0x4118d0,%esi
408141:	68 04 01 00 00       	push   $0x104
408146:	56                   	push   %esi
408147:	53                   	push   %ebx
408148:	ff 15 0c d1 40 00    	call   *0x40d10c
40814e:	a1 04 2f 41 00       	mov    0x412f04,%eax
408153:	89 35 b4 18 41 00    	mov    %esi,0x4118b4
408159:	8b fe                	mov    %esi,%edi
40815b:	38 18                	cmp    %bl,(%eax)
40815d:	74 02                	je     0x408161
40815f:	8b f8                	mov    %eax,%edi
408161:	8d 45 f8             	lea    -0x8(%ebp),%eax
408164:	50                   	push   %eax
408165:	8d 45 fc             	lea    -0x4(%ebp),%eax
408168:	50                   	push   %eax
408169:	53                   	push   %ebx
40816a:	53                   	push   %ebx
40816b:	57                   	push   %edi
40816c:	e8 4d 00 00 00       	call   0x4081be
408171:	8b 45 f8             	mov    -0x8(%ebp),%eax
408174:	8b 4d fc             	mov    -0x4(%ebp),%ecx
408177:	8d 04 88             	lea    (%eax,%ecx,4),%eax
40817a:	50                   	push   %eax
40817b:	e8 0d f2 ff ff       	call   0x40738d
408180:	8b f0                	mov    %eax,%esi
408182:	83 c4 18             	add    $0x18,%esp
408185:	3b f3                	cmp    %ebx,%esi
408187:	75 08                	jne    0x408191
408189:	6a 08                	push   $0x8
40818b:	e8 ec d5 ff ff       	call   0x40577c
408190:	59                   	pop    %ecx
408191:	8d 45 f8             	lea    -0x8(%ebp),%eax
408194:	50                   	push   %eax
408195:	8d 45 fc             	lea    -0x4(%ebp),%eax
408198:	50                   	push   %eax
408199:	8b 45 fc             	mov    -0x4(%ebp),%eax
40819c:	8d 04 86             	lea    (%esi,%eax,4),%eax
40819f:	50                   	push   %eax
4081a0:	56                   	push   %esi
4081a1:	57                   	push   %edi
4081a2:	e8 17 00 00 00       	call   0x4081be
4081a7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4081aa:	83 c4 14             	add    $0x14,%esp
4081ad:	48                   	dec    %eax
4081ae:	89 35 9c 18 41 00    	mov    %esi,0x41189c
4081b4:	5f                   	pop    %edi
4081b5:	5e                   	pop    %esi
4081b6:	a3 98 18 41 00       	mov    %eax,0x411898
4081bb:	5b                   	pop    %ebx
4081bc:	c9                   	leave
4081bd:	c3                   	ret
4081be:	55                   	push   %ebp
4081bf:	8b ec                	mov    %esp,%ebp
4081c1:	8b 4d 18             	mov    0x18(%ebp),%ecx
4081c4:	8b 45 14             	mov    0x14(%ebp),%eax
4081c7:	53                   	push   %ebx
4081c8:	56                   	push   %esi
4081c9:	83 21 00             	andl   $0x0,(%ecx)
4081cc:	8b 75 10             	mov    0x10(%ebp),%esi
4081cf:	57                   	push   %edi
4081d0:	8b 7d 0c             	mov    0xc(%ebp),%edi
4081d3:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
4081d9:	8b 45 08             	mov    0x8(%ebp),%eax
4081dc:	85 ff                	test   %edi,%edi
4081de:	74 08                	je     0x4081e8
4081e0:	89 37                	mov    %esi,(%edi)
4081e2:	83 c7 04             	add    $0x4,%edi
4081e5:	89 7d 0c             	mov    %edi,0xc(%ebp)
4081e8:	80 38 22             	cmpb   $0x22,(%eax)
4081eb:	75 44                	jne    0x408231
4081ed:	8a 50 01             	mov    0x1(%eax),%dl
4081f0:	40                   	inc    %eax
4081f1:	80 fa 22             	cmp    $0x22,%dl
4081f4:	74 29                	je     0x40821f
4081f6:	84 d2                	test   %dl,%dl
4081f8:	74 25                	je     0x40821f
4081fa:	0f b6 d2             	movzbl %dl,%edx
4081fd:	f6 82 81 1c 41 00 04 	testb  $0x4,0x411c81(%edx)
408204:	74 0c                	je     0x408212
408206:	ff 01                	incl   (%ecx)
408208:	85 f6                	test   %esi,%esi
40820a:	74 06                	je     0x408212
40820c:	8a 10                	mov    (%eax),%dl
40820e:	88 16                	mov    %dl,(%esi)
408210:	46                   	inc    %esi
408211:	40                   	inc    %eax
408212:	ff 01                	incl   (%ecx)
408214:	85 f6                	test   %esi,%esi
408216:	74 d5                	je     0x4081ed
408218:	8a 10                	mov    (%eax),%dl
40821a:	88 16                	mov    %dl,(%esi)
40821c:	46                   	inc    %esi
40821d:	eb ce                	jmp    0x4081ed
40821f:	ff 01                	incl   (%ecx)
408221:	85 f6                	test   %esi,%esi
408223:	74 04                	je     0x408229
408225:	80 26 00             	andb   $0x0,(%esi)
408228:	46                   	inc    %esi
408229:	80 38 22             	cmpb   $0x22,(%eax)
40822c:	75 46                	jne    0x408274
40822e:	40                   	inc    %eax
40822f:	eb 43                	jmp    0x408274
408231:	ff 01                	incl   (%ecx)
408233:	85 f6                	test   %esi,%esi
408235:	74 05                	je     0x40823c
408237:	8a 10                	mov    (%eax),%dl
408239:	88 16                	mov    %dl,(%esi)
40823b:	46                   	inc    %esi
40823c:	8a 10                	mov    (%eax),%dl
40823e:	40                   	inc    %eax
40823f:	0f b6 da             	movzbl %dl,%ebx
408242:	f6 83 81 1c 41 00 04 	testb  $0x4,0x411c81(%ebx)
408249:	74 0c                	je     0x408257
40824b:	ff 01                	incl   (%ecx)
40824d:	85 f6                	test   %esi,%esi
40824f:	74 05                	je     0x408256
408251:	8a 18                	mov    (%eax),%bl
408253:	88 1e                	mov    %bl,(%esi)
408255:	46                   	inc    %esi
408256:	40                   	inc    %eax
408257:	80 fa 20             	cmp    $0x20,%dl
40825a:	74 09                	je     0x408265
40825c:	84 d2                	test   %dl,%dl
40825e:	74 09                	je     0x408269
408260:	80 fa 09             	cmp    $0x9,%dl
408263:	75 cc                	jne    0x408231
408265:	84 d2                	test   %dl,%dl
408267:	75 03                	jne    0x40826c
408269:	48                   	dec    %eax
40826a:	eb 08                	jmp    0x408274
40826c:	85 f6                	test   %esi,%esi
40826e:	74 04                	je     0x408274
408270:	80 66 ff 00          	andb   $0x0,-0x1(%esi)
408274:	83 65 18 00          	andl   $0x0,0x18(%ebp)
408278:	80 38 00             	cmpb   $0x0,(%eax)
40827b:	0f 84 e0 00 00 00    	je     0x408361
408281:	8a 10                	mov    (%eax),%dl
408283:	80 fa 20             	cmp    $0x20,%dl
408286:	74 05                	je     0x40828d
408288:	80 fa 09             	cmp    $0x9,%dl