40e109:	ff 75 ec             	push   -0x14(%ebp)
40e10c:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
40e113:	6a 00                	push   $0x0
40e115:	ff 75 e8             	push   -0x18(%ebp)
40e118:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
40e11f:	6a 00                	push   $0x0
40e121:	ff 75 e4             	push   -0x1c(%ebp)
40e124:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
40e12b:	6a 00                	push   $0x0
40e12d:	ff 75 e0             	push   -0x20(%ebp)
40e130:	68 08 00 00 00       	push   $0x8
40e135:	e8 64 24 09 00       	call   0x4a059e
40e13a:	83 c4 04             	add    $0x4,%esp
40e13d:	89 45 dc             	mov    %eax,-0x24(%ebp)
40e140:	8b f8                	mov    %eax,%edi
40e142:	be 51 34 4c 00       	mov    $0x4c3451,%esi
40e147:	ad                   	lods   %ds:(%esi),%eax
40e148:	ab                   	stos   %eax,%es:(%edi)
40e149:	ad                   	lods   %ds:(%esi),%eax
40e14a:	ab                   	stos   %eax,%es:(%edi)
40e14b:	6a 00                	push   $0x0
40e14d:	8d 45 dc             	lea    -0x24(%ebp),%eax
40e150:	50                   	push   %eax
40e151:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
40e158:	6a 00                	push   $0x0
40e15a:	ff 75 d8             	push   -0x28(%ebp)
40e15d:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
40e164:	6a 00                	push   $0x0
40e166:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40e169:	50                   	push   %eax
40e16a:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
40e171:	6a 00                	push   $0x0
40e173:	ff 75 d0             	push   -0x30(%ebp)
40e176:	b8 c5 3f 4e 00       	mov    $0x4e3fc5,%eax
40e17b:	89 45 cc             	mov    %eax,-0x34(%ebp)
40e17e:	8d 45 cc             	lea    -0x34(%ebp),%eax
40e181:	50                   	push   %eax
40e182:	6a 01                	push   $0x1
40e184:	ff 35 38 99 50 00    	push   0x509938
40e18a:	e8 0a 61 00 00       	call   0x414299
40e18f:	8b 5d cc             	mov    -0x34(%ebp),%ebx
40e192:	85 db                	test   %ebx,%ebx
40e194:	74 09                	je     0x40e19f
40e196:	53                   	push   %ebx
40e197:	e8 08 24 09 00       	call   0x4a05a4
40e19c:	83 c4 04             	add    $0x4,%esp
40e19f:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
40e1a2:	85 db                	test   %ebx,%ebx
40e1a4:	74 09                	je     0x40e1af
40e1a6:	53                   	push   %ebx
40e1a7:	e8 f8 23 09 00       	call   0x4a05a4
40e1ac:	83 c4 04             	add    $0x4,%esp
40e1af:	8b 5d dc             	mov    -0x24(%ebp),%ebx
40e1b2:	53                   	push   %ebx
40e1b3:	8b 0b                	mov    (%ebx),%ecx
40e1b5:	83 c3 04             	add    $0x4,%ebx
40e1b8:	85 c9                	test   %ecx,%ecx
40e1ba:	74 11                	je     0x40e1cd
40e1bc:	8b 03                	mov    (%ebx),%eax
40e1be:	83 c3 04             	add    $0x4,%ebx
40e1c1:	49                   	dec    %ecx
40e1c2:	74 05                	je     0x40e1c9
40e1c4:	0f af 03             	imul   (%ebx),%eax
40e1c7:	eb f5                	jmp    0x40e1be
40e1c9:	8b c8                	mov    %eax,%ecx
40e1cb:	85 c9                	test   %ecx,%ecx
40e1cd:	0f 84 19 00 00 00    	je     0x40e1ec
40e1d3:	51                   	push   %ecx
40e1d4:	8b 03                	mov    (%ebx),%eax
40e1d6:	85 c0                	test   %eax,%eax
40e1d8:	74 0b                	je     0x40e1e5
40e1da:	53                   	push   %ebx
40e1db:	50                   	push   %eax
40e1dc:	e8 c3 23 09 00       	call   0x4a05a4
40e1e1:	83 c4 04             	add    $0x4,%esp
40e1e4:	5b                   	pop    %ebx
40e1e5:	83 c3 04             	add    $0x4,%ebx
40e1e8:	59                   	pop    %ecx
40e1e9:	49                   	dec    %ecx
40e1ea:	75 e7                	jne    0x40e1d3
40e1ec:	e8 b3 23 09 00       	call   0x4a05a4
40e1f1:	83 c4 04             	add    $0x4,%esp
40e1f4:	6a 00                	push   $0x0
40e1f6:	e8 91 23 09 00       	call   0x4a058c
40e1fb:	83 c4 04             	add    $0x4,%esp
40e1fe:	8b 45 f4             	mov    -0xc(%ebp),%eax
40e201:	50                   	push   %eax
40e202:	ff 75 fc             	push   -0x4(%ebp)
40e205:	e8 3e ed ff ff       	call   0x40cf48
40e20a:	83 c4 08             	add    $0x8,%esp
40e20d:	83 f8 00             	cmp    $0x0,%eax
40e210:	0f 84 14 01 00 00    	je     0x40e32a
40e216:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
40e21d:	6a 00                	push   $0x0
40e21f:	ff 75 f0             	push   -0x10(%ebp)
40e222:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
40e229:	6a 00                	push   $0x0
40e22b:	ff 75 ec             	push   -0x14(%ebp)
40e22e:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
40e235:	6a 00                	push   $0x0
40e237:	ff 75 e8             	push   -0x18(%ebp)
40e23a:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
40e241:	6a 00                	push   $0x0
40e243:	ff 75 e4             	push   -0x1c(%ebp)
40e246:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
40e24d:	6a 00                	push   $0x0
40e24f:	ff 75 e0             	push   -0x20(%ebp)
40e252:	68 08 00 00 00       	push   $0x8
40e257:	e8 42 23 09 00       	call   0x4a059e
40e25c:	83 c4 04             	add    $0x4,%esp
40e25f:	89 45 dc             	mov    %eax,-0x24(%ebp)
40e262:	8b f8                	mov    %eax,%edi
40e264:	be 51 34 4c 00       	mov    $0x4c3451,%esi
40e269:	ad                   	lods   %ds:(%esi),%eax
40e26a:	ab                   	stos   %eax,%es:(%edi)
40e26b:	ad                   	lods   %ds:(%esi),%eax
40e26c:	ab                   	stos   %eax,%es:(%edi)
40e26d:	6a 00                	push   $0x0
40e26f:	8d 45 dc             	lea    -0x24(%ebp),%eax
40e272:	50                   	push   %eax
40e273:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
40e27a:	6a 00                	push   $0x0
40e27c:	ff 75 d8             	push   -0x28(%ebp)
40e27f:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
40e286:	6a 00                	push   $0x0
40e288:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40e28b:	50                   	push   %eax
40e28c:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
40e293:	6a 00                	push   $0x0
40e295:	ff 75 d0             	push   -0x30(%ebp)
40e298:	b8 de 3f 4e 00       	mov    $0x4e3fde,%eax
40e29d:	89 45 cc             	mov    %eax,-0x34(%ebp)
40e2a0:	8d 45 cc             	lea    -0x34(%ebp),%eax
40e2a3:	50                   	push   %eax
40e2a4:	6a 01                	push   $0x1
40e2a6:	ff 35 38 99 50 00    	push   0x509938
40e2ac:	e8 e8 5f 00 00       	call   0x414299
40e2b1:	8b 5d cc             	mov    -0x34(%ebp),%ebx
40e2b4:	85 db                	test   %ebx,%ebx
40e2b6:	74 09                	je     0x40e2c1
40e2b8:	53                   	push   %ebx
40e2b9:	e8 e6 22 09 00       	call   0x4a05a4
40e2be:	83 c4 04             	add    $0x4,%esp
40e2c1:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
40e2c4:	85 db                	test   %ebx,%ebx
40e2c6:	74 09                	je     0x40e2d1
40e2c8:	53                   	push   %ebx
40e2c9:	e8 d6 22 09 00       	call   0x4a05a4
40e2ce:	83 c4 04             	add    $0x4,%esp
40e2d1:	8b 5d dc             	mov    -0x24(%ebp),%ebx
40e2d4:	53                   	push   %ebx
40e2d5:	8b 0b                	mov    (%ebx),%ecx
40e2d7:	83 c3 04             	add    $0x4,%ebx
40e2da:	85 c9                	test   %ecx,%ecx
40e2dc:	74 11                	je     0x40e2ef
40e2de:	8b 03                	mov    (%ebx),%eax
40e2e0:	83 c3 04             	add    $0x4,%ebx
40e2e3:	49                   	dec    %ecx
40e2e4:	74 05                	je     0x40e2eb
40e2e6:	0f af 03             	imul   (%ebx),%eax
40e2e9:	eb f5                	jmp    0x40e2e0
40e2eb:	8b c8                	mov    %eax,%ecx
40e2ed:	85 c9                	test   %ecx,%ecx
40e2ef:	0f 84 19 00 00 00    	je     0x40e30e
40e2f5:	51                   	push   %ecx
40e2f6:	8b 03                	mov    (%ebx),%eax
40e2f8:	85 c0                	test   %eax,%eax
40e2fa:	74 0b                	je     0x40e307
40e2fc:	53                   	push   %ebx
40e2fd:	50                   	push   %eax
40e2fe:	e8 a1 22 09 00       	call   0x4a05a4
40e303:	83 c4 04             	add    $0x4,%esp
40e306:	5b                   	pop    %ebx
40e307:	83 c3 04             	add    $0x4,%ebx
40e30a:	59                   	pop    %ecx
40e30b:	49                   	dec    %ecx
40e30c:	75 e7                	jne    0x40e2f5
40e30e:	e8 91 22 09 00       	call   0x4a05a4
40e313:	83 c4 04             	add    $0x4,%esp
40e316:	68 68 99 50 00       	push   $0x509968
40e31b:	e8 d4 b4 00 00       	call   0x4197f4
40e320:	6a 00                	push   $0x0
40e322:	e8 65 22 09 00       	call   0x4a058c
40e327:	83 c4 04             	add    $0x4,%esp
40e32a:	68 03 40 4e 00       	push   $0x4e4003
40e32f:	ff 35 64 99 50 00    	push   0x509964
40e335:	b9 02 00 00 00       	mov    $0x2,%ecx
40e33a:	e8 1d c2 ff ff       	call   0x40a55c
40e33f:	83 c4 08             	add    $0x8,%esp
40e342:	89 45 f0             	mov    %eax,-0x10(%ebp)
40e345:	8b 45 f0             	mov    -0x10(%ebp),%eax
40e348:	50                   	push   %eax
40e349:	8b 1d 64 99 50 00    	mov    0x509964,%ebx
40e34f:	85 db                	test   %ebx,%ebx
40e351:	74 09                	je     0x40e35c
40e353:	53                   	push   %ebx
40e354:	e8 4b 22 09 00       	call   0x4a05a4
40e359:	83 c4 04             	add    $0x4,%esp
40e35c:	58                   	pop    %eax
40e35d:	a3 64 99 50 00       	mov    %eax,0x509964
40e362:	8b 5d fc             	mov    -0x4(%ebp),%ebx
40e365:	85 db                	test   %ebx,%ebx
40e367:	74 09                	je     0x40e372
40e369:	53                   	push   %ebx
40e36a:	e8 35 22 09 00       	call   0x4a05a4
40e36f:	83 c4 04             	add    $0x4,%esp
40e372:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40e375:	85 db                	test   %ebx,%ebx
40e377:	74 09                	je     0x40e382
40e379:	53                   	push   %ebx
40e37a:	e8 25 22 09 00       	call   0x4a05a4
40e37f:	83 c4 04             	add    $0x4,%esp
40e382:	8b 5d f4             	mov    -0xc(%ebp),%ebx
40e385:	85 db                	test   %ebx,%ebx
40e387:	74 09                	je     0x40e392
40e389:	53                   	push   %ebx
40e38a:	e8 15 22 09 00       	call   0x4a05a4
40e38f:	83 c4 04             	add    $0x4,%esp
40e392:	8b e5                	mov    %ebp,%esp
40e394:	5d                   	pop    %ebp
40e395:	c3                   	ret
40e396:	5e                   	pop    %esi
40e397:	6a 00                	push   $0x0
40e399:	4b                   	dec    %ebx
40e39a:	75 fb                	jne    0x40e397
40e39c:	ff e6                	jmp    *%esi
40e39e:	8b 44 24 0c          	mov    0xc(%esp),%eax
40e3a2:	85 c0                	test   %eax,%eax
40e3a4:	74 44                	je     0x40e3ea
40e3a6:	8b 54 24 04          	mov    0x4(%esp),%edx
40e3aa:	56                   	push   %esi
40e3ab:	57                   	push   %edi
40e3ac:	8b f2                	mov    %edx,%esi
40e3ae:	8b 7c 24 10          	mov    0x10(%esp),%edi
40e3b2:	0b d7                	or     %edi,%edx
40e3b4:	83 e2 03             	and    $0x3,%edx
40e3b7:	74 32                	je     0x40e3eb
40e3b9:	a9 01 00 00 00       	test   $0x1,%eax
40e3be:	74 0b                	je     0x40e3cb
40e3c0:	8a 0e                	mov    (%esi),%cl
40e3c2:	3a 0f                	cmp    (%edi),%cl
40e3c4:	75 52                	jne    0x40e418
40e3c6:	46                   	inc    %esi
40e3c7:	47                   	inc    %edi
40e3c8:	48                   	dec    %eax
40e3c9:	74 1d                	je     0x40e3e8
40e3cb:	8a 0e                	mov    (%esi),%cl
40e3cd:	8a 17                	mov    (%edi),%dl
40e3cf:	3a ca                	cmp    %dl,%cl
40e3d1:	75 45                	jne    0x40e418
40e3d3:	8a 4e 01             	mov    0x1(%esi),%cl
40e3d6:	8a 57 01             	mov    0x1(%edi),%dl
40e3d9:	3a ca                	cmp    %dl,%cl
40e3db:	75 3b                	jne    0x40e418
40e3dd:	83 c7 02             	add    $0x2,%edi
40e3e0:	83 c6 02             	add    $0x2,%esi
40e3e3:	83 e8 02             	sub    $0x2,%eax
40e3e6:	75 e3                	jne    0x40e3cb
40e3e8:	5f                   	pop    %edi
40e3e9:	5e                   	pop    %esi
40e3ea:	c3                   	ret
40e3eb:	8b c8                	mov    %eax,%ecx
40e3ed:	83 e0 03             	and    $0x3,%eax
40e3f0:	c1 e9 02             	shr    $0x2,%ecx
40e3f3:	74 2b                	je     0x40e420
40e3f5:	f3 a7                	repz cmpsl %es:(%edi),%ds:(%esi)
40e3f7:	74 27                	je     0x40e420
40e3f9:	8b 4e fc             	mov    -0x4(%esi),%ecx
40e3fc:	8b 57 fc             	mov    -0x4(%edi),%edx
40e3ff:	3a ca                	cmp    %dl,%cl
40e401:	75 10                	jne    0x40e413
40e403:	3a ee                	cmp    %dh,%ch
40e405:	75 0c                	jne    0x40e413
40e407:	c1 e9 10             	shr    $0x10,%ecx
40e40a:	c1 ea 10             	shr    $0x10,%edx
40e40d:	3a ca                	cmp    %dl,%cl
40e40f:	75 02                	jne    0x40e413
40e411:	3a ee                	cmp    %dh,%ch
40e413:	b8 00 00 00 00       	mov    $0x0,%eax
40e418:	1b c0                	sbb    %eax,%eax
40e41a:	5f                   	pop    %edi
40e41b:	83 d8 ff             	sbb    $0xffffffff,%eax
40e41e:	5e                   	pop    %esi
40e41f:	c3                   	ret
40e420:	85 c0                	test   %eax,%eax
40e422:	74 c4                	je     0x40e3e8
40e424:	8b 16                	mov    (%esi),%edx
40e426:	8b 0f                	mov    (%edi),%ecx
40e428:	3a d1                	cmp    %cl,%dl
40e42a:	75 e7                	jne    0x40e413
40e42c:	48                   	dec    %eax
40e42d:	74 18                	je     0x40e447
40e42f:	3a f5                	cmp    %ch,%dh
40e431:	75 e0                	jne    0x40e413
40e433:	48                   	dec    %eax
40e434:	74 11                	je     0x40e447
40e436:	81 e1 00 00 ff 00    	and    $0xff0000,%ecx
40e43c:	81 e2 00 00 ff 00    	and    $0xff0000,%edx
40e442:	3b d1                	cmp    %ecx,%edx
40e444:	75 cd                	jne    0x40e413
40e446:	48                   	dec    %eax
40e447:	5f                   	pop    %edi
40e448:	5e                   	pop    %esi
40e449:	c3                   	ret
40e44a:	8b 0b                	mov    (%ebx),%ecx
40e44c:	83 c3 04             	add    $0x4,%ebx
40e44f:	33 c0                	xor    %eax,%eax
40e451:	85 c9                	test   %ecx,%ecx
40e453:	74 0d                	je     0x40e462
40e455:	8b 03                	mov    (%ebx),%eax
40e457:	83 c3 04             	add    $0x4,%ebx
40e45a:	49                   	dec    %ecx
40e45b:	74 05                	je     0x40e462
40e45d:	0f af 03             	imul   (%ebx),%eax
40e460:	eb f5                	jmp    0x40e457
40e462:	c3                   	ret
40e463:	55                   	push   %ebp
40e464:	8b ec                	mov    %esp,%ebp
40e466:	81 ec c4 00 00 00    	sub    $0xc4,%esp
40e46c:	68 3c 00 00 00       	push   $0x3c
40e471:	e8 28 21 09 00       	call   0x4a059e
40e476:	83 c4 04             	add    $0x4,%esp
40e479:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e47c:	8b d8                	mov    %eax,%ebx
40e47e:	8b f8                	mov    %eax,%edi
40e480:	33 c0                	xor    %eax,%eax
40e482:	b9 0f 00 00 00       	mov    $0xf,%ecx
40e487:	f3 ab                	rep stos %eax,%es:(%edi)
40e489:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
40e490:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
40e497:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
40e49e:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
40e4a5:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
40e4ac:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
40e4b3:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
40e4ba:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
40e4c1:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
40e4c8:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
40e4cf:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
40e4d6:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
40e4dd:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
40e4e4:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
40e4eb:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
40e4f2:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
40e4f9:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
40e500:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
40e507:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
40e50e:	c7 45 ac 00 00 00 00 	movl   $0x0,-0x54(%ebp)
40e515:	68 08 00 00 00       	push   $0x8
40e51a:	e8 7f 20 09 00       	call   0x4a059e