40901e:	5f                   	pop    %edi
40901f:	5e                   	pop    %esi
409020:	c9                   	leave
409021:	c2 08 00             	ret    $0x8
409024:	55                   	push   %ebp
409025:	8b ec                	mov    %esp,%ebp
409027:	83 ec 20             	sub    $0x20,%esp
40902a:	8b 45 0c             	mov    0xc(%ebp),%eax
40902d:	56                   	push   %esi
40902e:	57                   	push   %edi
40902f:	83 ec 10             	sub    $0x10,%esp
409032:	c7 45 e0 33 00 00 00 	movl   $0x33,-0x20(%ebp)
409039:	8b 00                	mov    (%eax),%eax
40903b:	8d 75 e0             	lea    -0x20(%ebp),%esi
40903e:	89 45 f0             	mov    %eax,-0x10(%ebp)
409041:	8b fc                	mov    %esp,%edi
409043:	8b 45 e4             	mov    -0x1c(%ebp),%eax
409046:	ff 75 08             	push   0x8(%ebp)
409049:	89 45 f4             	mov    %eax,-0xc(%ebp)
40904c:	8b 45 10             	mov    0x10(%ebp),%eax
40904f:	8b 00                	mov    (%eax),%eax
409051:	89 45 f8             	mov    %eax,-0x8(%ebp)
409054:	8b 45 e4             	mov    -0x1c(%ebp),%eax
409057:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
40905b:	89 45 fc             	mov    %eax,-0x4(%ebp)
40905e:	8d 45 f0             	lea    -0x10(%ebp),%eax
409061:	89 45 e8             	mov    %eax,-0x18(%ebp)
409064:	a5                   	movsl  %ds:(%esi),%es:(%edi)
409065:	a5                   	movsl  %ds:(%esi),%es:(%edi)
409066:	a5                   	movsl  %ds:(%esi),%es:(%edi)
409067:	a5                   	movsl  %ds:(%esi),%es:(%edi)
409068:	e8 69 a8 01 00       	call   0x4238d6
40906d:	5f                   	pop    %edi
40906e:	5e                   	pop    %esi
40906f:	c9                   	leave
409070:	c2 0c 00             	ret    $0xc
409073:	55                   	push   %ebp
409074:	8b ec                	mov    %esp,%ebp
409076:	83 ec 18             	sub    $0x18,%esp
409079:	53                   	push   %ebx
40907a:	56                   	push   %esi
40907b:	57                   	push   %edi
40907c:	ff 75 0c             	push   0xc(%ebp)
40907f:	8b d9                	mov    %ecx,%ebx
409081:	e8 7e ee ff ff       	call   0x407f04
409086:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
40908a:	8d 75 e8             	lea    -0x18(%ebp),%esi
40908d:	83 ec 0c             	sub    $0xc,%esp
409090:	89 45 f8             	mov    %eax,-0x8(%ebp)
409093:	8b fc                	mov    %esp,%edi
409095:	c7 45 e8 0a 00 00 00 	movl   $0xa,-0x18(%ebp)
40909c:	8d 45 f8             	lea    -0x8(%ebp),%eax
40909f:	89 55 fc             	mov    %edx,-0x4(%ebp)
4090a2:	89 45 f0             	mov    %eax,-0x10(%ebp)
4090a5:	8b cb                	mov    %ebx,%ecx
4090a7:	ff 75 08             	push   0x8(%ebp)
4090aa:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4090ab:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4090ac:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4090ad:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4090ae:	e8 23 a8 01 00       	call   0x4238d6
4090b3:	5f                   	pop    %edi
4090b4:	5e                   	pop    %esi
4090b5:	5b                   	pop    %ebx
4090b6:	c9                   	leave
4090b7:	c2 08 00             	ret    $0x8
4090ba:	55                   	push   %ebp
4090bb:	8b ec                	mov    %esp,%ebp
4090bd:	83 ec 20             	sub    $0x20,%esp
4090c0:	53                   	push   %ebx
4090c1:	56                   	push   %esi
4090c2:	57                   	push   %edi
4090c3:	ff 75 0c             	push   0xc(%ebp)
4090c6:	8b d9                	mov    %ecx,%ebx
4090c8:	e8 75 ee ff ff       	call   0x407f42
4090cd:	89 45 f0             	mov    %eax,-0x10(%ebp)
4090d0:	8d 75 e0             	lea    -0x20(%ebp),%esi
4090d3:	8b 45 10             	mov    0x10(%ebp),%eax
4090d6:	83 ec 0c             	sub    $0xc,%esp
4090d9:	8b fc                	mov    %esp,%edi
4090db:	c7 45 e0 3a 00 00 00 	movl   $0x3a,-0x20(%ebp)
4090e2:	8b cb                	mov    %ebx,%ecx
4090e4:	89 55 f4             	mov    %edx,-0xc(%ebp)
4090e7:	8b 00                	mov    (%eax),%eax
4090e9:	ff 75 08             	push   0x8(%ebp)
4090ec:	89 45 f8             	mov    %eax,-0x8(%ebp)
4090ef:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4090f2:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
4090f6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4090f9:	8d 45 f0             	lea    -0x10(%ebp),%eax
4090fc:	89 45 e8             	mov    %eax,-0x18(%ebp)
4090ff:	a5                   	movsl  %ds:(%esi),%es:(%edi)
409100:	a5                   	movsl  %ds:(%esi),%es:(%edi)
409101:	a5                   	movsl  %ds:(%esi),%es:(%edi)
409102:	a5                   	movsl  %ds:(%esi),%es:(%edi)
409103:	e8 ce a7 01 00       	call   0x4238d6
409108:	5f                   	pop    %edi
409109:	5e                   	pop    %esi
40910a:	5b                   	pop    %ebx
40910b:	c9                   	leave
40910c:	c2 0c 00             	ret    $0xc
40910f:	55                   	push   %ebp
409110:	8b ec                	mov    %esp,%ebp
409112:	83 ec 18             	sub    $0x18,%esp
409115:	53                   	push   %ebx
409116:	56                   	push   %esi
409117:	57                   	push   %edi
409118:	ff 75 0c             	push   0xc(%ebp)
40911b:	8b d9                	mov    %ecx,%ebx
40911d:	8d 4d f8             	lea    -0x8(%ebp),%ecx
409120:	e8 3e 86 ff ff       	call   0x401763
409125:	8b 45 f8             	mov    -0x8(%ebp),%eax
409128:	8d 75 f0             	lea    -0x10(%ebp),%esi
40912b:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
40912f:	83 ec 10             	sub    $0x10,%esp
409132:	8b 55 fc             	mov    -0x4(%ebp),%edx
409135:	8b fc                	mov    %esp,%edi
409137:	89 45 e8             	mov    %eax,-0x18(%ebp)
40913a:	8b cb                	mov    %ebx,%ecx
40913c:	c7 45 f0 0a 00 00 00 	movl   $0xa,-0x10(%ebp)
409143:	8d 45 e8             	lea    -0x18(%ebp),%eax
409146:	ff 75 08             	push   0x8(%ebp)
409149:	89 45 f8             	mov    %eax,-0x8(%ebp)
40914c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40914d:	89 55 ec             	mov    %edx,-0x14(%ebp)
409150:	a5                   	movsl  %ds:(%esi),%es:(%edi)
409151:	a5                   	movsl  %ds:(%esi),%es:(%edi)
409152:	a5                   	movsl  %ds:(%esi),%es:(%edi)
409153:	e8 7e a7 01 00       	call   0x4238d6
409158:	5f                   	pop    %edi
409159:	5e                   	pop    %esi
40915a:	5b                   	pop    %ebx
40915b:	c9                   	leave
40915c:	c2 08 00             	ret    $0x8
40915f:	55                   	push   %ebp
409160:	8b ec                	mov    %esp,%ebp
409162:	83 ec 18             	sub    $0x18,%esp
409165:	53                   	push   %ebx
409166:	56                   	push   %esi
409167:	57                   	push   %edi
409168:	ff 75 0c             	push   0xc(%ebp)
40916b:	8b d9                	mov    %ecx,%ebx
40916d:	8d 4d f8             	lea    -0x8(%ebp),%ecx
409170:	e8 0c 86 ff ff       	call   0x401781
409175:	8b 45 f8             	mov    -0x8(%ebp),%eax
409178:	8d 75 f0             	lea    -0x10(%ebp),%esi
40917b:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
40917f:	83 ec 10             	sub    $0x10,%esp
409182:	8b 55 fc             	mov    -0x4(%ebp),%edx
409185:	8b fc                	mov    %esp,%edi
409187:	89 45 e8             	mov    %eax,-0x18(%ebp)
40918a:	8b cb                	mov    %ebx,%ecx
40918c:	c7 45 f0 0d 00 00 00 	movl   $0xd,-0x10(%ebp)
409193:	8d 45 e8             	lea    -0x18(%ebp),%eax
409196:	ff 75 08             	push   0x8(%ebp)
409199:	89 45 f8             	mov    %eax,-0x8(%ebp)
40919c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40919d:	89 55 ec             	mov    %edx,-0x14(%ebp)
4091a0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4091a1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4091a2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4091a3:	e8 2e a7 01 00       	call   0x4238d6
4091a8:	5f                   	pop    %edi
4091a9:	5e                   	pop    %esi
4091aa:	5b                   	pop    %ebx
4091ab:	c9                   	leave
4091ac:	c2 08 00             	ret    $0x8
4091af:	55                   	push   %ebp
4091b0:	8b ec                	mov    %esp,%ebp
4091b2:	83 ec 18             	sub    $0x18,%esp
4091b5:	8b 45 0c             	mov    0xc(%ebp),%eax
4091b8:	56                   	push   %esi
4091b9:	57                   	push   %edi
4091ba:	83 ec 10             	sub    $0x10,%esp
4091bd:	c7 45 e8 06 00 00 00 	movl   $0x6,-0x18(%ebp)
4091c4:	0f b6 00             	movzbl (%eax),%eax
4091c7:	8d 75 e8             	lea    -0x18(%ebp),%esi
4091ca:	89 45 f8             	mov    %eax,-0x8(%ebp)
4091cd:	8b fc                	mov    %esp,%edi
4091cf:	8b 45 ec             	mov    -0x14(%ebp),%eax
4091d2:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
4091d6:	ff 75 08             	push   0x8(%ebp)
4091d9:	89 45 fc             	mov    %eax,-0x4(%ebp)
4091dc:	8d 45 f8             	lea    -0x8(%ebp),%eax
4091df:	89 45 f0             	mov    %eax,-0x10(%ebp)
4091e2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4091e3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4091e4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4091e5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4091e6:	e8 eb a6 01 00       	call   0x4238d6
4091eb:	5f                   	pop    %edi
4091ec:	5e                   	pop    %esi
4091ed:	c9                   	leave
4091ee:	c2 08 00             	ret    $0x8
4091f1:	55                   	push   %ebp
4091f2:	8b ec                	mov    %esp,%ebp
4091f4:	83 ec 20             	sub    $0x20,%esp
4091f7:	8b 45 0c             	mov    0xc(%ebp),%eax
4091fa:	56                   	push   %esi
4091fb:	57                   	push   %edi
4091fc:	83 ec 10             	sub    $0x10,%esp
4091ff:	c7 45 e0 26 00 00 00 	movl   $0x26,-0x20(%ebp)
409206:	0f b6 00             	movzbl (%eax),%eax
409209:	8d 75 e0             	lea    -0x20(%ebp),%esi
40920c:	89 45 f0             	mov    %eax,-0x10(%ebp)
40920f:	8b fc                	mov    %esp,%edi
409211:	8b 45 e4             	mov    -0x1c(%ebp),%eax
409214:	ff 75 08             	push   0x8(%ebp)
409217:	89 45 f4             	mov    %eax,-0xc(%ebp)
40921a:	8b 45 10             	mov    0x10(%ebp),%eax
40921d:	8b 00                	mov    (%eax),%eax
40921f:	89 45 f8             	mov    %eax,-0x8(%ebp)
409222:	8b 45 e4             	mov    -0x1c(%ebp),%eax
409225:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
409229:	89 45 fc             	mov    %eax,-0x4(%ebp)
40922c:	8d 45 f0             	lea    -0x10(%ebp),%eax
40922f:	89 45 e8             	mov    %eax,-0x18(%ebp)
409232:	a5                   	movsl  %ds:(%esi),%es:(%edi)
409233:	a5                   	movsl  %ds:(%esi),%es:(%edi)
409234:	a5                   	movsl  %ds:(%esi),%es:(%edi)
409235:	a5                   	movsl  %ds:(%esi),%es:(%edi)
409236:	e8 9b a6 01 00       	call   0x4238d6
40923b:	5f                   	pop    %edi
40923c:	5e                   	pop    %esi
40923d:	c9                   	leave
40923e:	c2 0c 00             	ret    $0xc
409241:	55                   	push   %ebp
409242:	8b ec                	mov    %esp,%ebp
409244:	83 ec 38             	sub    $0x38,%esp
409247:	a1 94 80 4b 00       	mov    0x4b8094,%eax
40924c:	33 c5                	xor    %ebp,%eax
40924e:	89 45 fc             	mov    %eax,-0x4(%ebp)
409251:	56                   	push   %esi
409252:	57                   	push   %edi
409253:	8b 7d 10             	mov    0x10(%ebp),%edi
409256:	8b f1                	mov    %ecx,%esi
409258:	32 c9                	xor    %cl,%cl
40925a:	89 75 e8             	mov    %esi,-0x18(%ebp)
40925d:	89 7d c8             	mov    %edi,-0x38(%ebp)
409260:	88 4d ee             	mov    %cl,-0x12(%ebp)
409263:	8a 47 14             	mov    0x14(%edi),%al
409266:	88 45 ef             	mov    %al,-0x11(%ebp)
409269:	88 45 e4             	mov    %al,-0x1c(%ebp)
40926c:	3c 46                	cmp    $0x46,%al
40926e:	7f 57                	jg     0x4092c7
409270:	74 4f                	je     0x4092c1
409272:	84 c0                	test   %al,%al
409274:	74 45                	je     0x4092bb
409276:	3c 41                	cmp    $0x41,%al
409278:	74 08                	je     0x409282
40927a:	3c 45                	cmp    $0x45,%al
40927c:	0f 85 31 03 00 00    	jne    0x4095b3
409282:	b1 01                	mov    $0x1,%cl
409284:	88 4d ee             	mov    %cl,-0x12(%ebp)
409287:	f2 0f 10 45 08       	movsd  0x8(%ebp),%xmm0
40928c:	32 c9                	xor    %cl,%cl
40928e:	51                   	push   %ecx
40928f:	51                   	push   %ecx
409290:	89 4d e0             	mov    %ecx,-0x20(%ebp)
409293:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
409298:	e8 77 a5 04 00       	call   0x453814
40929d:	f2 0f 10 45 08       	movsd  0x8(%ebp),%xmm0
4092a2:	59                   	pop    %ecx
4092a3:	59                   	pop    %ecx
4092a4:	85 c0                	test   %eax,%eax
4092a6:	74 39                	je     0x4092e1
4092a8:	0f 57 05 10 69 49 00 	xorps  0x496910,%xmm0
4092af:	b0 2d                	mov    $0x2d,%al
4092b1:	89 45 e0             	mov    %eax,-0x20(%ebp)
4092b4:	f2 0f 11 45 08       	movsd  %xmm0,0x8(%ebp)
4092b9:	eb 43                	jmp    0x4092fe
4092bb:	c6 45 ef 67          	movb   $0x67,-0x11(%ebp)
4092bf:	eb c6                	jmp    0x409287
4092c1:	c6 45 ef 66          	movb   $0x66,-0x11(%ebp)
4092c5:	eb bb                	jmp    0x409282
4092c7:	3c 47                	cmp    $0x47,%al
4092c9:	74 b7                	je     0x409282
4092cb:	3c 61                	cmp    $0x61,%al
4092cd:	74 b8                	je     0x409287
4092cf:	3c 64                	cmp    $0x64,%al
4092d1:	0f 8e dc 02 00 00    	jle    0x4095b3
4092d7:	3c 67                	cmp    $0x67,%al
4092d9:	0f 8f d4 02 00 00    	jg     0x4095b3
4092df:	eb a6                	jmp    0x409287
4092e1:	f6 47 0c 01          	testb  $0x1,0xc(%edi)
4092e5:	74 14                	je     0x4092fb
4092e7:	8b 47 0c             	mov    0xc(%edi),%eax
4092ea:	d1 e8                	shr    $1,%eax
4092ec:	24 01                	and    $0x1,%al
4092ee:	f6 d8                	neg    %al
4092f0:	1a c0                	sbb    %al,%al
4092f2:	24 0b                	and    $0xb,%al
4092f4:	04 20                	add    $0x20,%al
4092f6:	89 45 e0             	mov    %eax,-0x20(%ebp)
4092f9:	eb 03                	jmp    0x4092fe
4092fb:	8b 45 e0             	mov    -0x20(%ebp),%eax
4092fe:	51                   	push   %ecx
4092ff:	51                   	push   %ecx
409300:	88 45 ed             	mov    %al,-0x13(%ebp)
409303:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
409308:	e8 84 ea ff ff       	call   0x407d91
40930d:	59                   	pop    %ecx
40930e:	59                   	pop    %ecx
40930f:	84 c0                	test   %al,%al
409311:	74 53                	je     0x409366
409313:	8a 45 ee             	mov    -0x12(%ebp),%al
409316:	b9 e0 65 49 00       	mov    $0x4965e0,%ecx
40931b:	84 c0                	test   %al,%al
40931d:	ba d8 65 49 00       	mov    $0x4965d8,%edx
409322:	0f 44 d1             	cmove  %ecx,%edx
409325:	8b 4d e0             	mov    -0x20(%ebp),%ecx
409328:	84 c9                	test   %cl,%cl
40932a:	75 12                	jne    0x40933e
40932c:	84 c0                	test   %al,%al
40932e:	c7 45 e4 e1 65 49 00 	movl   $0x4965e1,-0x1c(%ebp)
409335:	ba d9 65 49 00       	mov    $0x4965d9,%edx
40933a:	0f 44 55 e4          	cmove  -0x1c(%ebp),%edx
40933e:	33 c0                	xor    %eax,%eax
409340:	84 c9                	test   %cl,%cl
409342:	57                   	push   %edi
409343:	0f 95 c0             	setne  %al
409346:	8b ce                	mov    %esi,%ecx
409348:	83 c0 03             	add    $0x3,%eax
40934b:	50                   	push   %eax
40934c:	52                   	push   %edx
40934d:	e8 ec 11 00 00       	call   0x40a53e
409352:	8b c8                	mov    %eax,%ecx
409354:	8b 45 e0             	mov    -0x20(%ebp),%eax
409357:	84 c0                	test   %al,%al
409359:	0f 84 44 02 00 00    	je     0x4095a3
40935f:	88 01                	mov    %al,(%ecx)
409361:	e9 3d 02 00 00       	jmp    0x4095a3
409366:	f2 0f 10 45 08       	movsd  0x8(%ebp),%xmm0
40936b:	51                   	push   %ecx
40936c:	51                   	push   %ecx
40936d:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
409372:	e8 82 e9 ff ff       	call   0x407cf9
409377:	59                   	pop    %ecx
409378:	59                   	pop    %ecx
409379:	84 c0                	test   %al,%al
40937b:	74 2d                	je     0x4093aa
40937d:	8a 45 ee             	mov    -0x12(%ebp),%al
409380:	b9 f0 65 49 00       	mov    $0x4965f0,%ecx
409385:	84 c0                	test   %al,%al
409387:	ba e8 65 49 00       	mov    $0x4965e8,%edx
40938c:	0f 44 d1             	cmove  %ecx,%edx
40938f:	8b 4d e0             	mov    -0x20(%ebp),%ecx
409392:	84 c9                	test   %cl,%cl
409394:	75 a8                	jne    0x40933e
409396:	84 c0                	test   %al,%al