40f292:	c7 45 b8 00 00 00 01 	movl   $0x1000000,-0x48(%ebp)
40f299:	8b 41 40             	mov    0x40(%ecx),%eax
40f29c:	89 45 fc             	mov    %eax,-0x4(%ebp)
40f29f:	8b 41 3c             	mov    0x3c(%ecx),%eax
40f2a2:	89 45 f8             	mov    %eax,-0x8(%ebp)
40f2a5:	8b 41 38             	mov    0x38(%ecx),%eax
40f2a8:	89 45 f4             	mov    %eax,-0xc(%ebp)
40f2ab:	8b 41 34             	mov    0x34(%ecx),%eax
40f2ae:	89 45 f0             	mov    %eax,-0x10(%ebp)
40f2b1:	8b 41 30             	mov    0x30(%ecx),%eax
40f2b4:	89 45 ec             	mov    %eax,-0x14(%ebp)
40f2b7:	8b 41 2c             	mov    0x2c(%ecx),%eax
40f2ba:	89 45 e8             	mov    %eax,-0x18(%ebp)
40f2bd:	8b 41 28             	mov    0x28(%ecx),%eax
40f2c0:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40f2c3:	8b 41 10             	mov    0x10(%ecx),%eax
40f2c6:	89 45 e0             	mov    %eax,-0x20(%ebp)
40f2c9:	8b 41 0c             	mov    0xc(%ecx),%eax
40f2cc:	89 45 dc             	mov    %eax,-0x24(%ebp)
40f2cf:	8b 01                	mov    (%ecx),%eax
40f2d1:	89 45 d8             	mov    %eax,-0x28(%ebp)
40f2d4:	8b 41 44             	mov    0x44(%ecx),%eax
40f2d7:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40f2da:	8b 41 20             	mov    0x20(%ecx),%eax
40f2dd:	89 45 d0             	mov    %eax,-0x30(%ebp)
40f2e0:	8b 41 1c             	mov    0x1c(%ecx),%eax
40f2e3:	89 45 cc             	mov    %eax,-0x34(%ebp)
40f2e6:	8b 41 04             	mov    0x4(%ecx),%eax
40f2e9:	89 45 c8             	mov    %eax,-0x38(%ebp)
40f2ec:	8d 45 b8             	lea    -0x48(%ebp),%eax
40f2ef:	89 45 c4             	mov    %eax,-0x3c(%ebp)
40f2f2:	8d 45 fc             	lea    -0x4(%ebp),%eax
40f2f5:	50                   	push   %eax
40f2f6:	8d 45 f8             	lea    -0x8(%ebp),%eax
40f2f9:	50                   	push   %eax
40f2fa:	8d 45 f4             	lea    -0xc(%ebp),%eax
40f2fd:	50                   	push   %eax
40f2fe:	8d 45 f0             	lea    -0x10(%ebp),%eax
40f301:	50                   	push   %eax
40f302:	8d 45 ec             	lea    -0x14(%ebp),%eax
40f305:	50                   	push   %eax
40f306:	8d 45 e8             	lea    -0x18(%ebp),%eax
40f309:	50                   	push   %eax
40f30a:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40f30d:	50                   	push   %eax
40f30e:	8d 45 e0             	lea    -0x20(%ebp),%eax
40f311:	50                   	push   %eax
40f312:	8d 45 dc             	lea    -0x24(%ebp),%eax
40f315:	50                   	push   %eax
40f316:	8d 45 d8             	lea    -0x28(%ebp),%eax
40f319:	50                   	push   %eax
40f31a:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40f31d:	50                   	push   %eax
40f31e:	8d 45 d0             	lea    -0x30(%ebp),%eax
40f321:	50                   	push   %eax
40f322:	8d 45 cc             	lea    -0x34(%ebp),%eax
40f325:	50                   	push   %eax
40f326:	8d 45 c8             	lea    -0x38(%ebp),%eax
40f329:	50                   	push   %eax
40f32a:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40f32d:	50                   	push   %eax
40f32e:	51                   	push   %ecx
40f32f:	51                   	push   %ecx
40f330:	8b ce                	mov    %esi,%ecx
40f332:	e8 fa 76 ff ff       	call   0x406a31
40f337:	5e                   	pop    %esi
40f338:	c9                   	leave
40f339:	c2 04 00             	ret    $0x4
40f33c:	8b ff                	mov    %edi,%edi
40f33e:	55                   	push   %ebp
40f33f:	8b ec                	mov    %esp,%ebp
40f341:	83 ec 50             	sub    $0x50,%esp
40f344:	56                   	push   %esi
40f345:	8b 71 04             	mov    0x4(%ecx),%esi
40f348:	83 3e 02             	cmpl   $0x2,(%esi)
40f34b:	0f 86 cf 00 00 00    	jbe    0x40f420
40f351:	8b 4d 08             	mov    0x8(%ebp),%ecx
40f354:	ba fa 60 40 00       	mov    $0x4060fa,%edx
40f359:	83 65 b4 00          	andl   $0x0,-0x4c(%ebp)
40f35d:	c7 45 b0 00 00 00 01 	movl   $0x1000000,-0x50(%ebp)
40f364:	8b 41 18             	mov    0x18(%ecx),%eax
40f367:	89 45 fc             	mov    %eax,-0x4(%ebp)
40f36a:	8b 41 24             	mov    0x24(%ecx),%eax
40f36d:	89 45 f8             	mov    %eax,-0x8(%ebp)
40f370:	8b 41 08             	mov    0x8(%ecx),%eax
40f373:	89 45 f4             	mov    %eax,-0xc(%ebp)
40f376:	8b 41 40             	mov    0x40(%ecx),%eax
40f379:	89 45 f0             	mov    %eax,-0x10(%ebp)
40f37c:	8b 41 3c             	mov    0x3c(%ecx),%eax
40f37f:	89 45 ec             	mov    %eax,-0x14(%ebp)
40f382:	8b 41 38             	mov    0x38(%ecx),%eax
40f385:	89 45 e8             	mov    %eax,-0x18(%ebp)
40f388:	8b 41 34             	mov    0x34(%ecx),%eax
40f38b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40f38e:	8b 41 30             	mov    0x30(%ecx),%eax
40f391:	89 45 e0             	mov    %eax,-0x20(%ebp)
40f394:	8b 41 2c             	mov    0x2c(%ecx),%eax
40f397:	89 45 dc             	mov    %eax,-0x24(%ebp)
40f39a:	8b 41 28             	mov    0x28(%ecx),%eax
40f39d:	89 45 d8             	mov    %eax,-0x28(%ebp)
40f3a0:	8b 41 10             	mov    0x10(%ecx),%eax
40f3a3:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40f3a6:	8b 41 0c             	mov    0xc(%ecx),%eax
40f3a9:	89 45 d0             	mov    %eax,-0x30(%ebp)
40f3ac:	8b 01                	mov    (%ecx),%eax
40f3ae:	89 45 cc             	mov    %eax,-0x34(%ebp)
40f3b1:	8b 41 44             	mov    0x44(%ecx),%eax
40f3b4:	89 45 c8             	mov    %eax,-0x38(%ebp)
40f3b7:	8b 41 20             	mov    0x20(%ecx),%eax
40f3ba:	89 45 c4             	mov    %eax,-0x3c(%ebp)
40f3bd:	8b 41 1c             	mov    0x1c(%ecx),%eax
40f3c0:	89 45 c0             	mov    %eax,-0x40(%ebp)
40f3c3:	8b 41 04             	mov    0x4(%ecx),%eax
40f3c6:	89 45 bc             	mov    %eax,-0x44(%ebp)
40f3c9:	8d 45 b0             	lea    -0x50(%ebp),%eax
40f3cc:	89 45 b8             	mov    %eax,-0x48(%ebp)
40f3cf:	8d 45 fc             	lea    -0x4(%ebp),%eax
40f3d2:	50                   	push   %eax
40f3d3:	8d 45 f8             	lea    -0x8(%ebp),%eax
40f3d6:	50                   	push   %eax
40f3d7:	8d 45 f4             	lea    -0xc(%ebp),%eax
40f3da:	50                   	push   %eax
40f3db:	8d 45 f0             	lea    -0x10(%ebp),%eax
40f3de:	50                   	push   %eax
40f3df:	8d 45 ec             	lea    -0x14(%ebp),%eax
40f3e2:	50                   	push   %eax
40f3e3:	8d 45 e8             	lea    -0x18(%ebp),%eax
40f3e6:	50                   	push   %eax
40f3e7:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40f3ea:	50                   	push   %eax
40f3eb:	8d 45 e0             	lea    -0x20(%ebp),%eax
40f3ee:	50                   	push   %eax
40f3ef:	8d 45 dc             	lea    -0x24(%ebp),%eax
40f3f2:	50                   	push   %eax
40f3f3:	8d 45 d8             	lea    -0x28(%ebp),%eax
40f3f6:	50                   	push   %eax
40f3f7:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40f3fa:	50                   	push   %eax
40f3fb:	8d 45 d0             	lea    -0x30(%ebp),%eax
40f3fe:	50                   	push   %eax
40f3ff:	8d 45 cc             	lea    -0x34(%ebp),%eax
40f402:	50                   	push   %eax
40f403:	8d 45 c8             	lea    -0x38(%ebp),%eax
40f406:	50                   	push   %eax
40f407:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40f40a:	50                   	push   %eax
40f40b:	8d 45 c0             	lea    -0x40(%ebp),%eax
40f40e:	50                   	push   %eax
40f40f:	8d 45 bc             	lea    -0x44(%ebp),%eax
40f412:	50                   	push   %eax
40f413:	8d 45 b8             	lea    -0x48(%ebp),%eax
40f416:	50                   	push   %eax
40f417:	51                   	push   %ecx
40f418:	51                   	push   %ecx
40f419:	8b ce                	mov    %esi,%ecx
40f41b:	e8 b5 77 ff ff       	call   0x406bd5
40f420:	5e                   	pop    %esi
40f421:	c9                   	leave
40f422:	c2 04 00             	ret    $0x4
40f425:	cc                   	int3
40f426:	cc                   	int3
40f427:	cc                   	int3
40f428:	cc                   	int3
40f429:	cc                   	int3
40f42a:	cc                   	int3
40f42b:	cc                   	int3
40f42c:	cc                   	int3
40f42d:	cc                   	int3
40f42e:	cc                   	int3
40f42f:	cc                   	int3
40f430:	8b ff                	mov    %edi,%edi
40f432:	55                   	push   %ebp
40f433:	8b ec                	mov    %esp,%ebp
40f435:	a1 80 b6 42 00       	mov    0x42b680,%eax
40f43a:	56                   	push   %esi
40f43b:	8b 75 08             	mov    0x8(%ebp),%esi
40f43e:	57                   	push   %edi
40f43f:	8b f9                	mov    %ecx,%edi
40f441:	8b 56 08             	mov    0x8(%esi),%edx
40f444:	89 15 80 b6 42 00    	mov    %edx,0x42b680
40f44a:	3b c2                	cmp    %edx,%eax
40f44c:	74 14                	je     0x40f462
40f44e:	8b 07                	mov    (%edi),%eax
40f450:	56                   	push   %esi
40f451:	6a 00                	push   $0x0
40f453:	8b 70 08             	mov    0x8(%eax),%esi
40f456:	8b ce                	mov    %esi,%ecx
40f458:	ff 15 d4 c4 42 00    	call   *0x42c4d4
40f45e:	8b cf                	mov    %edi,%ecx
40f460:	ff d6                	call   *%esi
40f462:	5f                   	pop    %edi
40f463:	b0 01                	mov    $0x1,%al
40f465:	5e                   	pop    %esi
40f466:	5d                   	pop    %ebp
40f467:	c2 04 00             	ret    $0x4
40f46a:	cc                   	int3
40f46b:	cc                   	int3
40f46c:	cc                   	int3
40f46d:	cc                   	int3
40f46e:	cc                   	int3
40f46f:	cc                   	int3
40f470:	8b ff                	mov    %edi,%edi
40f472:	55                   	push   %ebp
40f473:	8b ec                	mov    %esp,%ebp
40f475:	56                   	push   %esi
40f476:	8b f1                	mov    %ecx,%esi
40f478:	e8 c5 fd ff ff       	call   0x40f242
40f47d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
40f481:	74 07                	je     0x40f48a
40f483:	56                   	push   %esi
40f484:	e8 b2 88 01 00       	call   0x427d3b
40f489:	59                   	pop    %ecx
40f48a:	8b c6                	mov    %esi,%eax
40f48c:	5e                   	pop    %esi
40f48d:	5d                   	pop    %ebp
40f48e:	c2 04 00             	ret    $0x4
40f491:	8b ff                	mov    %edi,%edi
40f493:	55                   	push   %ebp
40f494:	8b ec                	mov    %esp,%ebp
40f496:	83 e4 f8             	and    $0xfffffff8,%esp
40f499:	b8 24 10 00 00       	mov    $0x1024,%eax
40f49e:	e8 cd 8e 01 00       	call   0x428370
40f4a3:	a1 74 b6 42 00       	mov    0x42b674,%eax
40f4a8:	33 c4                	xor    %esp,%eax
40f4aa:	89 84 24 20 10 00 00 	mov    %eax,0x1020(%esp)
40f4b1:	53                   	push   %ebx
40f4b2:	8b d9                	mov    %ecx,%ebx
40f4b4:	56                   	push   %esi
40f4b5:	57                   	push   %edi
40f4b6:	6a 0c                	push   $0xc
40f4b8:	8b 43 04             	mov    0x4(%ebx),%eax
40f4bb:	33 f6                	xor    %esi,%esi
40f4bd:	2b 03                	sub    (%ebx),%eax
40f4bf:	59                   	pop    %ecx
40f4c0:	89 5c 24 10          	mov    %ebx,0x10(%esp)
40f4c4:	89 4c 24 18          	mov    %ecx,0x18(%esp)
40f4c8:	3b c1                	cmp    %ecx,%eax
40f4ca:	0f 82 16 01 00 00    	jb     0x40f5e6
40f4d0:	8b fe                	mov    %esi,%edi
40f4d2:	89 74 24 14          	mov    %esi,0x14(%esp)
40f4d6:	8d 44 24 0c          	lea    0xc(%esp),%eax
40f4da:	c7 44 24 0c 00 10 00 	movl   $0x1000,0xc(%esp)
40f4e1:	00
40f4e2:	50                   	push   %eax
40f4e3:	8d 44 24 2c          	lea    0x2c(%esp),%eax
40f4e7:	50                   	push   %eax
40f4e8:	8d 44 24 28          	lea    0x28(%esp),%eax
40f4ec:	50                   	push   %eax
40f4ed:	51                   	push   %ecx
40f4ee:	b9 9c 27 40 00       	mov    $0x40279c,%ecx
40f4f3:	e8 6a ed ff ff       	call   0x40e262
40f4f8:	89 44 24 24          	mov    %eax,0x24(%esp)
40f4fc:	85 c0                	test   %eax,%eax
40f4fe:	0f 85 c4 00 00 00    	jne    0x40f5c8
40f504:	8b 44 24 0c          	mov    0xc(%esp),%eax
40f508:	33 d2                	xor    %edx,%edx
40f50a:	6a 0c                	push   $0xc
40f50c:	59                   	pop    %ecx
40f50d:	f7 f1                	div    %ecx
40f50f:	8b 1b                	mov    (%ebx),%ebx
40f511:	f7 da                	neg    %edx
40f513:	1b f6                	sbb    %esi,%esi
40f515:	33 d2                	xor    %edx,%edx
40f517:	f7 d6                	not    %esi
40f519:	23 74 24 0c          	and    0xc(%esp),%esi
40f51d:	8b c6                	mov    %esi,%eax
40f51f:	89 74 24 0c          	mov    %esi,0xc(%esp)
40f523:	f7 f1                	div    %ecx
40f525:	33 d2                	xor    %edx,%edx
40f527:	8b c8                	mov    %eax,%ecx
40f529:	8b 44 24 10          	mov    0x10(%esp),%eax
40f52d:	8b 40 04             	mov    0x4(%eax),%eax
40f530:	2b c3                	sub    %ebx,%eax
40f532:	f7 74 24 18          	divl   0x18(%esp)
40f536:	6b c0 0c             	imul   $0xc,%eax,%eax
40f539:	03 c3                	add    %ebx,%eax
40f53b:	89 44 24 1c          	mov    %eax,0x1c(%esp)
40f53f:	3b d8                	cmp    %eax,%ebx
40f541:	74 64                	je     0x40f5a7
40f543:	6b c1 0c             	imul   $0xc,%ecx,%eax
40f546:	8d 54 24 28          	lea    0x28(%esp),%edx
40f54a:	03 d0                	add    %eax,%edx
40f54c:	8d 44 24 28          	lea    0x28(%esp),%eax
40f550:	3b c2                	cmp    %edx,%eax
40f552:	74 1e                	je     0x40f572
40f554:	8b 3b                	mov    (%ebx),%edi
40f556:	8b c8                	mov    %eax,%ecx
40f558:	6a 0c                	push   $0xc
40f55a:	58                   	pop    %eax
40f55b:	39 39                	cmp    %edi,(%ecx)
40f55d:	75 0d                	jne    0x40f56c
40f55f:	66 8b 41 04          	mov    0x4(%ecx),%ax
40f563:	6a 0c                	push   $0xc
40f565:	66 3b 43 04          	cmp    0x4(%ebx),%ax
40f569:	74 25                	je     0x40f590
40f56b:	58                   	pop    %eax
40f56c:	03 c8                	add    %eax,%ecx
40f56e:	3b ca                	cmp    %edx,%ecx
40f570:	75 e9                	jne    0x40f55b
40f572:	8d 46 0c             	lea    0xc(%esi),%eax
40f575:	6a 0c                	push   $0xc
40f577:	3d 00 10 00 00       	cmp    $0x1000,%eax
40f57c:	77 1c                	ja     0x40f59a
40f57e:	8b fa                	mov    %edx,%edi
40f580:	8b f3                	mov    %ebx,%esi
40f582:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40f583:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40f584:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40f585:	8b f0                	mov    %eax,%esi
40f587:	58                   	pop    %eax
40f588:	89 74 24 0c          	mov    %esi,0xc(%esp)
40f58c:	03 d0                	add    %eax,%edx
40f58e:	eb 0b                	jmp    0x40f59b
40f590:	8b 43 08             	mov    0x8(%ebx),%eax
40f593:	01 41 08             	add    %eax,0x8(%ecx)
40f596:	8b 74 24 10          	mov    0x10(%esp),%esi
40f59a:	58                   	pop    %eax
40f59b:	03 d8                	add    %eax,%ebx
40f59d:	3b 5c 24 1c          	cmp    0x1c(%esp),%ebx
40f5a1:	75 a9                	jne    0x40f54c
40f5a3:	8b 7c 24 14          	mov    0x14(%esp),%edi
40f5a7:	6a 01                	push   $0x1
40f5a9:	ff 74 24 24          	push   0x24(%esp)
40f5ad:	8d 54 24 30          	lea    0x30(%esp),%edx
40f5b1:	51                   	push   %ecx
40f5b2:	51                   	push   %ecx
40f5b3:	56                   	push   %esi
40f5b4:	b9 9c 27 40 00       	mov    $0x40279c,%ecx
40f5b9:	e8 f9 ec ff ff       	call   0x40e2b7
40f5be:	8b 5c 24 10          	mov    0x10(%esp),%ebx
40f5c2:	8b f0                	mov    %eax,%esi
40f5c4:	8b 44 24 24          	mov    0x24(%esp),%eax
40f5c8:	47                   	inc    %edi
40f5c9:	89 7c 24 14          	mov    %edi,0x14(%esp)
40f5cd:	81 fe 01 00 00 c0    	cmp    $0xc0000001,%esi
40f5d3:	75 0d                	jne    0x40f5e2
40f5d5:	83 ff 64             	cmp    $0x64,%edi
40f5d8:	7d 08                	jge    0x40f5e2
40f5da:	85 c0                	test   %eax,%eax
40f5dc:	0f 84 f4 fe ff ff    	je     0x40f4d6
40f5e2:	85 c0                	test   %eax,%eax
40f5e4:	75 02                	jne    0x40f5e8
40f5e6:	8b c6                	mov    %esi,%eax
40f5e8:	8b 8c 24 2c 10 00 00 	mov    0x102c(%esp),%ecx
40f5ef:	5f                   	pop    %edi
40f5f0:	5e                   	pop    %esi
40f5f1:	5b                   	pop    %ebx
40f5f2:	33 cc                	xor    %esp,%ecx
40f5f4:	e8 e7 84 01 00       	call   0x427ae0
40f5f9:	8b e5                	mov    %ebp,%esp