40d216:	83 c4 1c             	add    $0x1c,%esp
40d219:	89 45 48             	mov    %eax,0x48(%ebp)
40d21c:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
40d220:	0f 85 60 00 00 00    	jne    0x40d286
40d226:	83 7d 58 00          	cmpl   $0x0,0x58(%ebp)
40d22a:	0f 85 0e 00 00 00    	jne    0x40d23e
40d230:	83 7d 5c 00          	cmpl   $0x0,0x5c(%ebp)
40d234:	0f 84 04 00 00 00    	je     0x40d23e
40d23a:	33 c0                	xor    %eax,%eax
40d23c:	eb 05                	jmp    0x40d243
40d23e:	b8 01 00 00 00       	mov    $0x1,%eax
40d243:	85 c0                	test   %eax,%eax
40d245:	0f 84 0a 00 00 00    	je     0x40d255
40d24b:	b8 00 00 04 00       	mov    $0x40000,%eax
40d250:	e9 05 00 00 00       	jmp    0x40d25a
40d255:	b8 80 00 00 00       	mov    $0x80,%eax
40d25a:	68 01 03 00 80       	push   $0x80000301
40d25f:	6a 00                	push   $0x0
40d261:	50                   	push   %eax
40d262:	68 01 03 00 80       	push   $0x80000301
40d267:	6a 00                	push   $0x0
40d269:	ff 75 50             	push   0x50(%ebp)
40d26c:	68 02 00 00 00       	push   $0x2
40d271:	bb c8 00 00 00       	mov    $0xc8,%ebx
40d276:	e8 55 3d 09 00       	call   0x4a0fd0
40d27b:	83 c4 1c             	add    $0x1c,%esp
40d27e:	89 45 50             	mov    %eax,0x50(%ebp)
40d281:	e9 35 00 00 00       	jmp    0x40d2bb
40d286:	83 7d 58 00          	cmpl   $0x0,0x58(%ebp)
40d28a:	0f 84 2b 00 00 00    	je     0x40d2bb
40d290:	68 01 03 00 80       	push   $0x80000301
40d295:	6a 00                	push   $0x0
40d297:	68 00 00 04 00       	push   $0x40000
40d29c:	68 01 03 00 80       	push   $0x80000301
40d2a1:	6a 00                	push   $0x0
40d2a3:	ff 75 50             	push   0x50(%ebp)
40d2a6:	68 02 00 00 00       	push   $0x2
40d2ab:	bb c8 00 00 00       	mov    $0xc8,%ebx
40d2b0:	e8 1b 3d 09 00       	call   0x4a0fd0
40d2b5:	83 c4 1c             	add    $0x1c,%esp
40d2b8:	89 45 50             	mov    %eax,0x50(%ebp)
40d2bb:	83 3d 54 99 50 00 00 	cmpl   $0x0,0x509954
40d2c2:	0f 85 98 00 00 00    	jne    0x40d360
40d2c8:	68 01 01 00 80       	push   $0x80000101
40d2cd:	6a 00                	push   $0x0
40d2cf:	68 00 00 00 00       	push   $0x0
40d2d4:	68 01 00 00 00       	push   $0x1
40d2d9:	bb 40 01 00 00       	mov    $0x140,%ebx
40d2de:	e8 bd 43 09 00       	call   0x4a16a0
40d2e3:	83 c4 10             	add    $0x10,%esp
40d2e6:	89 45 ec             	mov    %eax,-0x14(%ebp)
40d2e9:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
40d2f0:	6a 00                	push   $0x0
40d2f2:	ff 75 e8             	push   -0x18(%ebp)
40d2f5:	8d 45 ec             	lea    -0x14(%ebp),%eax
40d2f8:	50                   	push   %eax
40d2f9:	e8 c7 8a ff ff       	call   0x405dc5
40d2fe:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40d301:	8b 5d ec             	mov    -0x14(%ebp),%ebx
40d304:	85 db                	test   %ebx,%ebx
40d306:	74 09                	je     0x40d311
40d308:	53                   	push   %ebx
40d309:	e8 96 32 09 00       	call   0x4a05a4
40d30e:	83 c4 04             	add    $0x4,%esp
40d311:	89 65 e0             	mov    %esp,-0x20(%ebp)
40d314:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40d317:	85 c0                	test   %eax,%eax
40d319:	74 03                	je     0x40d31e
40d31b:	83 c0 08             	add    $0x8,%eax
40d31e:	50                   	push   %eax
40d31f:	33 c0                	xor    %eax,%eax
40d321:	ff 15 84 31 4b 00    	call   *0x4b3184
40d327:	90                   	nop
40d328:	90                   	nop
40d329:	39 65 e0             	cmp    %esp,-0x20(%ebp)
40d32c:	74 17                	je     0x40d345
40d32e:	68 b5 04 00 00       	push   $0x4b5
40d333:	68 33 ce 03 04       	push   $0x403ce33
40d338:	68 06 00 00 00       	push   $0x6
40d33d:	e8 68 32 09 00       	call   0x4a05aa
40d342:	83 c4 0c             	add    $0xc,%esp
40d345:	89 45 dc             	mov    %eax,-0x24(%ebp)
40d348:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
40d34b:	85 db                	test   %ebx,%ebx
40d34d:	74 09                	je     0x40d358
40d34f:	53                   	push   %ebx
40d350:	e8 4f 32 09 00       	call   0x4a05a4
40d355:	83 c4 04             	add    $0x4,%esp
40d358:	8b 45 dc             	mov    -0x24(%ebp),%eax
40d35b:	a3 54 99 50 00       	mov    %eax,0x509954
40d360:	68 34 ea 4d 00       	push   $0x4dea34
40d365:	8b 5d 40             	mov    0x40(%ebp),%ebx
40d368:	ff 33                	push   (%ebx)
40d36a:	e8 d9 fb ff ff       	call   0x40cf48
40d36f:	83 c4 08             	add    $0x8,%esp
40d372:	83 f8 00             	cmp    $0x0,%eax
40d375:	b8 00 00 00 00       	mov    $0x0,%eax
40d37a:	0f 94 c0             	sete   %al
40d37d:	89 45 ec             	mov    %eax,-0x14(%ebp)
40d380:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40d384:	b8 00 00 00 00       	mov    $0x0,%eax
40d389:	0f 94 c0             	sete   %al
40d38c:	89 45 e8             	mov    %eax,-0x18(%ebp)
40d38f:	ff 75 08             	push   0x8(%ebp)
40d392:	e8 f9 04 00 00       	call   0x40d890
40d397:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40d39a:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
40d39e:	0f 84 0a 00 00 00    	je     0x40d3ae
40d3a4:	b8 69 3f 4e 00       	mov    $0x4e3f69,%eax
40d3a9:	e9 1c 00 00 00       	jmp    0x40d3ca
40d3ae:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40d3b1:	85 c0                	test   %eax,%eax
40d3b3:	74 15                	je     0x40d3ca
40d3b5:	50                   	push   %eax
40d3b6:	8b d8                	mov    %eax,%ebx
40d3b8:	e8 67 86 ff ff       	call   0x405a24
40d3bd:	40                   	inc    %eax
40d3be:	50                   	push   %eax
40d3bf:	e8 da 31 09 00       	call   0x4a059e
40d3c4:	59                   	pop    %ecx
40d3c5:	5e                   	pop    %esi
40d3c6:	8b f8                	mov    %eax,%edi
40d3c8:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
40d3ca:	89 45 e0             	mov    %eax,-0x20(%ebp)
40d3cd:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
40d3d0:	85 db                	test   %ebx,%ebx
40d3d2:	74 09                	je     0x40d3dd
40d3d4:	53                   	push   %ebx
40d3d5:	e8 ca 31 09 00       	call   0x4a05a4
40d3da:	83 c4 04             	add    $0x4,%esp
40d3dd:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
40d3e1:	0f 84 21 00 00 00    	je     0x40d408
40d3e7:	8b 45 e0             	mov    -0x20(%ebp),%eax
40d3ea:	85 c0                	test   %eax,%eax
40d3ec:	74 15                	je     0x40d403
40d3ee:	50                   	push   %eax
40d3ef:	8b d8                	mov    %eax,%ebx
40d3f1:	e8 2e 86 ff ff       	call   0x405a24
40d3f6:	40                   	inc    %eax
40d3f7:	50                   	push   %eax
40d3f8:	e8 a1 31 09 00       	call   0x4a059e
40d3fd:	59                   	pop    %ecx
40d3fe:	5e                   	pop    %esi
40d3ff:	8b f8                	mov    %eax,%edi
40d401:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
40d403:	e9 1e 00 00 00       	jmp    0x40d426
40d408:	8b 5d 40             	mov    0x40(%ebp),%ebx
40d40b:	8b 03                	mov    (%ebx),%eax
40d40d:	85 c0                	test   %eax,%eax
40d40f:	74 15                	je     0x40d426
40d411:	50                   	push   %eax
40d412:	8b d8                	mov    %eax,%ebx
40d414:	e8 0b 86 ff ff       	call   0x405a24
40d419:	40                   	inc    %eax
40d41a:	50                   	push   %eax
40d41b:	e8 7e 31 09 00       	call   0x4a059e
40d420:	59                   	pop    %ecx
40d421:	5e                   	pop    %esi
40d422:	8b f8                	mov    %eax,%edi
40d424:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
40d426:	89 45 dc             	mov    %eax,-0x24(%ebp)
40d429:	8b 5d e0             	mov    -0x20(%ebp),%ebx
40d42c:	85 db                	test   %ebx,%ebx
40d42e:	74 09                	je     0x40d439
40d430:	53                   	push   %ebx
40d431:	e8 6e 31 09 00       	call   0x4a05a4
40d436:	83 c4 04             	add    $0x4,%esp
40d439:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
40d440:	6a 00                	push   $0x0
40d442:	ff 75 d8             	push   -0x28(%ebp)
40d445:	8d 45 dc             	lea    -0x24(%ebp),%eax
40d448:	50                   	push   %eax
40d449:	e8 77 89 ff ff       	call   0x405dc5
40d44e:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40d451:	8b 5d dc             	mov    -0x24(%ebp),%ebx
40d454:	85 db                	test   %ebx,%ebx
40d456:	74 09                	je     0x40d461
40d458:	53                   	push   %ebx
40d459:	e8 46 31 09 00       	call   0x4a05a4
40d45e:	83 c4 04             	add    $0x4,%esp
40d461:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40d464:	50                   	push   %eax
40d465:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40d468:	85 db                	test   %ebx,%ebx
40d46a:	74 09                	je     0x40d475
40d46c:	53                   	push   %ebx
40d46d:	e8 32 31 09 00       	call   0x4a05a4
40d472:	83 c4 04             	add    $0x4,%esp
40d475:	58                   	pop    %eax
40d476:	89 45 f8             	mov    %eax,-0x8(%ebp)
40d479:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
40d480:	6a 00                	push   $0x0
40d482:	ff 75 ec             	push   -0x14(%ebp)
40d485:	ff 75 10             	push   0x10(%ebp)
40d488:	e8 38 89 ff ff       	call   0x405dc5
40d48d:	89 45 e8             	mov    %eax,-0x18(%ebp)
40d490:	8b 45 e8             	mov    -0x18(%ebp),%eax
40d493:	50                   	push   %eax
40d494:	8b 5d f4             	mov    -0xc(%ebp),%ebx
40d497:	85 db                	test   %ebx,%ebx
40d499:	74 09                	je     0x40d4a4
40d49b:	53                   	push   %ebx
40d49c:	e8 03 31 09 00       	call   0x4a05a4
40d4a1:	83 c4 04             	add    $0x4,%esp
40d4a4:	58                   	pop    %eax
40d4a5:	89 45 f4             	mov    %eax,-0xc(%ebp)
40d4a8:	89 65 ec             	mov    %esp,-0x14(%ebp)
40d4ab:	b8 00 00 00 00       	mov    $0x0,%eax
40d4b0:	89 45 e8             	mov    %eax,-0x18(%ebp)
40d4b3:	8d 45 e8             	lea    -0x18(%ebp),%eax
40d4b6:	50                   	push   %eax
40d4b7:	ff 35 54 99 50 00    	push   0x509954
40d4bd:	68 00 00 00 00       	push   $0x0
40d4c2:	ff 75 08             	push   0x8(%ebp)
40d4c5:	ff 75 30             	push   0x30(%ebp)
40d4c8:	ff 75 28             	push   0x28(%ebp)
40d4cb:	ff 75 20             	push   0x20(%ebp)
40d4ce:	ff 75 18             	push   0x18(%ebp)
40d4d1:	ff 75 48             	push   0x48(%ebp)
40d4d4:	8b 45 f4             	mov    -0xc(%ebp),%eax
40d4d7:	85 c0                	test   %eax,%eax
40d4d9:	74 03                	je     0x40d4de
40d4db:	83 c0 08             	add    $0x8,%eax
40d4de:	50                   	push   %eax
40d4df:	8b 45 f8             	mov    -0x8(%ebp),%eax
40d4e2:	85 c0                	test   %eax,%eax
40d4e4:	74 03                	je     0x40d4e9
40d4e6:	83 c0 08             	add    $0x8,%eax
40d4e9:	50                   	push   %eax
40d4ea:	ff 75 50             	push   0x50(%ebp)
40d4ed:	33 c0                	xor    %eax,%eax
40d4ef:	ff 15 f4 32 4b 00    	call   *0x4b32f4
40d4f5:	90                   	nop
40d4f6:	90                   	nop
40d4f7:	39 65 ec             	cmp    %esp,-0x14(%ebp)
40d4fa:	74 17                	je     0x40d513
40d4fc:	68 df 05 00 00       	push   $0x5df
40d501:	68 33 ce 03 04       	push   $0x403ce33
40d506:	68 06 00 00 00       	push   $0x6
40d50b:	e8 9a 30 09 00       	call   0x4a05aa
40d510:	83 c4 0c             	add    $0xc,%esp
40d513:	89 45 f0             	mov    %eax,-0x10(%ebp)
40d516:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
40d51a:	0f 85 b4 00 00 00    	jne    0x40d5d4
40d520:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
40d527:	6a 00                	push   $0x0
40d529:	ff 75 ec             	push   -0x14(%ebp)
40d52c:	b8 69 3f 4e 00       	mov    $0x4e3f69,%eax
40d531:	89 45 e8             	mov    %eax,-0x18(%ebp)
40d534:	8d 45 e8             	lea    -0x18(%ebp),%eax
40d537:	50                   	push   %eax
40d538:	e8 88 88 ff ff       	call   0x405dc5
40d53d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40d540:	8b 5d e8             	mov    -0x18(%ebp),%ebx
40d543:	85 db                	test   %ebx,%ebx
40d545:	74 09                	je     0x40d550
40d547:	53                   	push   %ebx
40d548:	e8 57 30 09 00       	call   0x4a05a4
40d54d:	83 c4 04             	add    $0x4,%esp
40d550:	89 65 e0             	mov    %esp,-0x20(%ebp)
40d553:	b8 00 00 00 00       	mov    $0x0,%eax
40d558:	89 45 dc             	mov    %eax,-0x24(%ebp)
40d55b:	8d 45 dc             	lea    -0x24(%ebp),%eax
40d55e:	50                   	push   %eax
40d55f:	ff 35 54 99 50 00    	push   0x509954
40d565:	68 00 00 00 00       	push   $0x0
40d56a:	ff 75 08             	push   0x8(%ebp)
40d56d:	ff 75 30             	push   0x30(%ebp)
40d570:	ff 75 28             	push   0x28(%ebp)
40d573:	ff 75 20             	push   0x20(%ebp)
40d576:	ff 75 18             	push   0x18(%ebp)
40d579:	ff 75 48             	push   0x48(%ebp)
40d57c:	8b 45 f4             	mov    -0xc(%ebp),%eax
40d57f:	85 c0                	test   %eax,%eax
40d581:	74 03                	je     0x40d586
40d583:	83 c0 08             	add    $0x8,%eax
40d586:	50                   	push   %eax
40d587:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40d58a:	85 c0                	test   %eax,%eax
40d58c:	74 03                	je     0x40d591
40d58e:	83 c0 08             	add    $0x8,%eax
40d591:	50                   	push   %eax
40d592:	ff 75 50             	push   0x50(%ebp)
40d595:	33 c0                	xor    %eax,%eax
40d597:	ff 15 f4 32 4b 00    	call   *0x4b32f4
40d59d:	90                   	nop
40d59e:	90                   	nop
40d59f:	39 65 e0             	cmp    %esp,-0x20(%ebp)
40d5a2:	74 17                	je     0x40d5bb
40d5a4:	68 b3 06 00 00       	push   $0x6b3
40d5a9:	68 33 ce 03 04       	push   $0x403ce33
40d5ae:	68 06 00 00 00       	push   $0x6
40d5b3:	e8 f2 2f 09 00       	call   0x4a05aa
40d5b8:	83 c4 0c             	add    $0xc,%esp
40d5bb:	89 45 d8             	mov    %eax,-0x28(%ebp)
40d5be:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
40d5c1:	85 db                	test   %ebx,%ebx
40d5c3:	74 09                	je     0x40d5ce
40d5c5:	53                   	push   %ebx
40d5c6:	e8 d9 2f 09 00       	call   0x4a05a4
40d5cb:	83 c4 04             	add    $0x4,%esp
40d5ce:	8b 45 d8             	mov    -0x28(%ebp),%eax
40d5d1:	89 45 f0             	mov    %eax,-0x10(%ebp)
40d5d4:	89 65 ec             	mov    %esp,-0x14(%ebp)
40d5d7:	ff 35 58 99 50 00    	push   0x509958
40d5dd:	68 00 00 00 00       	push   $0x0
40d5e2:	68 80 00 00 00       	push   $0x80
40d5e7:	ff 75 f0             	push   -0x10(%ebp)
40d5ea:	33 c0                	xor    %eax,%eax
40d5ec:	ff 15 f0 32 4b 00    	call   *0x4b32f0
40d5f2:	90                   	nop
40d5f3:	90                   	nop
40d5f4:	39 65 ec             	cmp    %esp,-0x14(%ebp)
40d5f7:	74 17                	je     0x40d610
40d5f9:	68 19 07 00 00       	push   $0x719
40d5fe:	68 33 ce 03 04       	push   $0x403ce33
40d603:	68 06 00 00 00       	push   $0x6
40d608:	e8 9d 2f 09 00       	call   0x4a05aa
40d60d:	83 c4 0c             	add    $0xc,%esp
40d610:	89 65 ec             	mov    %esp,-0x14(%ebp)
40d613:	ff 35 5c 99 50 00    	push   0x50995c
40d619:	68 01 00 00 00       	push   $0x1
40d61e:	68 80 00 00 00       	push   $0x80
40d623:	ff 75 f0             	push   -0x10(%ebp)
40d626:	33 c0                	xor    %eax,%eax
40d628:	ff 15 f0 32 4b 00    	call   *0x4b32f0
40d62e:	90                   	nop
40d62f:	90                   	nop
40d630:	39 65 ec             	cmp    %esp,-0x14(%ebp)
40d633:	74 17                	je     0x40d64c
40d635:	68 4c 07 00 00       	push   $0x74c
40d63a:	68 33 ce 03 04       	push   $0x403ce33
40d63f:	68 06 00 00 00       	push   $0x6
40d644:	e8 61 2f 09 00       	call   0x4a05aa
40d649:	83 c4 0c             	add    $0xc,%esp
40d64c:	8b 45 f0             	mov    -0x10(%ebp),%eax
40d64f:	e9 00 00 00 00       	jmp    0x40d654
40d654:	50                   	push   %eax
40d655:	8b 5d fc             	mov    -0x4(%ebp),%ebx
40d658:	53                   	push   %ebx
40d659:	e8 46 2f 09 00       	call   0x4a05a4
40d65e:	83 c4 04             	add    $0x4,%esp
40d661:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40d664:	85 db                	test   %ebx,%ebx
40d666:	74 09                	je     0x40d671
40d668:	53                   	push   %ebx
40d669:	e8 36 2f 09 00       	call   0x4a05a4
40d66e:	83 c4 04             	add    $0x4,%esp
40d671:	8b 5d f4             	mov    -0xc(%ebp),%ebx
40d674:	85 db                	test   %ebx,%ebx