40f2e8:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
40f2ee:	51                   	push   %ecx
40f2ef:	8d 95 50 fd ff ff    	lea    -0x2b0(%ebp),%edx
40f2f5:	52                   	push   %edx
40f2f6:	8b 45 0c             	mov    0xc(%ebp),%eax
40f2f9:	50                   	push   %eax
40f2fa:	e8 81 c1 ff ff       	call   0x40b480
40f2ff:	83 c4 0c             	add    $0xc,%esp
40f302:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40f305:	51                   	push   %ecx
40f306:	e8 05 d6 ff ff       	call   0x40c910
40f30b:	83 c4 04             	add    $0x4,%esp
40f30e:	8b 55 0c             	mov    0xc(%ebp),%edx
40f311:	52                   	push   %edx
40f312:	e8 b9 dc ff ff       	call   0x40cfd0
40f317:	83 c4 04             	add    $0x4,%esp
40f31a:	8b e5                	mov    %ebp,%esp
40f31c:	5d                   	pop    %ebp
40f31d:	c3                   	ret
40f31e:	cc                   	int3
40f31f:	cc                   	int3
40f320:	55                   	push   %ebp
40f321:	8b ec                	mov    %esp,%ebp
40f323:	83 ec 0c             	sub    $0xc,%esp
40f326:	56                   	push   %esi
40f327:	8b 45 10             	mov    0x10(%ebp),%eax
40f32a:	f7 d8                	neg    %eax
40f32c:	89 45 f4             	mov    %eax,-0xc(%ebp)
40f32f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40f336:	eb 09                	jmp    0x40f341
40f338:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40f33b:	83 c1 01             	add    $0x1,%ecx
40f33e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40f341:	83 7d fc 0a          	cmpl   $0xa,-0x4(%ebp)
40f345:	73 4e                	jae    0x40f395
40f347:	8b 55 fc             	mov    -0x4(%ebp),%edx
40f34a:	8b 45 08             	mov    0x8(%ebp),%eax
40f34d:	8b 0c d0             	mov    (%eax,%edx,8),%ecx
40f350:	8b 55 fc             	mov    -0x4(%ebp),%edx
40f353:	8b 45 0c             	mov    0xc(%ebp),%eax
40f356:	33 0c d0             	xor    (%eax,%edx,8),%ecx
40f359:	23 4d f4             	and    -0xc(%ebp),%ecx
40f35c:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40f35f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40f362:	8b 55 08             	mov    0x8(%ebp),%edx
40f365:	8b 04 ca             	mov    (%edx,%ecx,8),%eax
40f368:	33 45 f8             	xor    -0x8(%ebp),%eax
40f36b:	99                   	cltd
40f36c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40f36f:	8b 75 08             	mov    0x8(%ebp),%esi
40f372:	89 04 ce             	mov    %eax,(%esi,%ecx,8)
40f375:	89 54 ce 04          	mov    %edx,0x4(%esi,%ecx,8)
40f379:	8b 55 fc             	mov    -0x4(%ebp),%edx
40f37c:	8b 45 0c             	mov    0xc(%ebp),%eax
40f37f:	8b 04 d0             	mov    (%eax,%edx,8),%eax
40f382:	33 45 f8             	xor    -0x8(%ebp),%eax
40f385:	99                   	cltd
40f386:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40f389:	8b 75 0c             	mov    0xc(%ebp),%esi
40f38c:	89 04 ce             	mov    %eax,(%esi,%ecx,8)
40f38f:	89 54 ce 04          	mov    %edx,0x4(%esi,%ecx,8)
40f393:	eb a3                	jmp    0x40f338
40f395:	5e                   	pop    %esi
40f396:	8b e5                	mov    %ebp,%esp
40f398:	5d                   	pop    %ebp
40f399:	c3                   	ret
40f39a:	cc                   	int3
40f39b:	cc                   	int3
40f39c:	cc                   	int3
40f39d:	cc                   	int3
40f39e:	cc                   	int3
40f39f:	cc                   	int3
40f3a0:	55                   	push   %ebp
40f3a1:	8b ec                	mov    %esp,%ebp
40f3a3:	81 ec f8 04 00 00    	sub    $0x4f8,%esp
40f3a9:	68 98 00 00 00       	push   $0x98
40f3ae:	6a 00                	push   $0x0
40f3b0:	8d 85 d0 fc ff ff    	lea    -0x330(%ebp),%eax
40f3b6:	50                   	push   %eax
40f3b7:	e8 c4 75 ff ff       	call   0x406980
40f3bc:	83 c4 0c             	add    $0xc,%esp
40f3bf:	68 98 00 00 00       	push   $0x98
40f3c4:	6a 00                	push   $0x0
40f3c6:	8d 8d 30 ff ff ff    	lea    -0xd0(%ebp),%ecx
40f3cc:	51                   	push   %ecx
40f3cd:	e8 ae 75 ff ff       	call   0x406980
40f3d2:	83 c4 0c             	add    $0xc,%esp
40f3d5:	68 98 00 00 00       	push   $0x98
40f3da:	6a 00                	push   $0x0
40f3dc:	8d 95 98 fe ff ff    	lea    -0x168(%ebp),%edx
40f3e2:	52                   	push   %edx
40f3e3:	e8 98 75 ff ff       	call   0x406980
40f3e8:	83 c4 0c             	add    $0xc,%esp
40f3eb:	68 98 00 00 00       	push   $0x98
40f3f0:	6a 00                	push   $0x0
40f3f2:	8d 85 38 fc ff ff    	lea    -0x3c8(%ebp),%eax
40f3f8:	50                   	push   %eax
40f3f9:	e8 82 75 ff ff       	call   0x406980
40f3fe:	83 c4 0c             	add    $0xc,%esp
40f401:	b9 08 00 00 00       	mov    $0x8,%ecx
40f406:	6b d1 00             	imul   $0x0,%ecx,%edx
40f409:	c7 84 15 30 ff ff ff 	movl   $0x1,-0xd0(%ebp,%edx,1)
40f410:	01 00 00 00
40f414:	c7 84 15 34 ff ff ff 	movl   $0x0,-0xcc(%ebp,%edx,1)
40f41b:	00 00 00 00
40f41f:	b8 08 00 00 00       	mov    $0x8,%eax
40f424:	6b c8 00             	imul   $0x0,%eax,%ecx
40f427:	c7 84 0d 98 fe ff ff 	movl   $0x1,-0x168(%ebp,%ecx,1)
40f42e:	01 00 00 00
40f432:	c7 84 0d 9c fe ff ff 	movl   $0x0,-0x164(%ebp,%ecx,1)
40f439:	00 00 00 00
40f43d:	8d 95 d0 fc ff ff    	lea    -0x330(%ebp),%edx
40f443:	89 55 f4             	mov    %edx,-0xc(%ebp)
40f446:	8d 85 30 ff ff ff    	lea    -0xd0(%ebp),%eax
40f44c:	89 45 d8             	mov    %eax,-0x28(%ebp)
40f44f:	8d 8d 98 fe ff ff    	lea    -0x168(%ebp),%ecx
40f455:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40f458:	8d 95 38 fc ff ff    	lea    -0x3c8(%ebp),%edx
40f45e:	89 55 ec             	mov    %edx,-0x14(%ebp)
40f461:	68 98 00 00 00       	push   $0x98
40f466:	6a 00                	push   $0x0
40f468:	8d 85 a0 fb ff ff    	lea    -0x460(%ebp),%eax
40f46e:	50                   	push   %eax
40f46f:	e8 0c 75 ff ff       	call   0x406980
40f474:	83 c4 0c             	add    $0xc,%esp
40f477:	68 98 00 00 00       	push   $0x98
40f47c:	6a 00                	push   $0x0
40f47e:	8d 8d 00 fe ff ff    	lea    -0x200(%ebp),%ecx
40f484:	51                   	push   %ecx
40f485:	e8 f6 74 ff ff       	call   0x406980
40f48a:	83 c4 0c             	add    $0xc,%esp
40f48d:	68 98 00 00 00       	push   $0x98
40f492:	6a 00                	push   $0x0
40f494:	8d 95 08 fb ff ff    	lea    -0x4f8(%ebp),%edx
40f49a:	52                   	push   %edx
40f49b:	e8 e0 74 ff ff       	call   0x406980
40f4a0:	83 c4 0c             	add    $0xc,%esp
40f4a3:	68 98 00 00 00       	push   $0x98
40f4a8:	6a 00                	push   $0x0
40f4aa:	8d 85 68 fd ff ff    	lea    -0x298(%ebp),%eax
40f4b0:	50                   	push   %eax
40f4b1:	e8 ca 74 ff ff       	call   0x406980
40f4b6:	83 c4 0c             	add    $0xc,%esp
40f4b9:	b9 08 00 00 00       	mov    $0x8,%ecx
40f4be:	6b d1 00             	imul   $0x0,%ecx,%edx
40f4c1:	c7 84 15 00 fe ff ff 	movl   $0x1,-0x200(%ebp,%edx,1)
40f4c8:	01 00 00 00
40f4cc:	c7 84 15 04 fe ff ff 	movl   $0x0,-0x1fc(%ebp,%edx,1)
40f4d3:	00 00 00 00
40f4d7:	b8 08 00 00 00       	mov    $0x8,%eax
40f4dc:	6b c8 00             	imul   $0x0,%eax,%ecx
40f4df:	c7 84 0d 68 fd ff ff 	movl   $0x1,-0x298(%ebp,%ecx,1)
40f4e6:	01 00 00 00
40f4ea:	c7 84 0d 6c fd ff ff 	movl   $0x0,-0x294(%ebp,%ecx,1)
40f4f1:	00 00 00 00
40f4f5:	8d 95 a0 fb ff ff    	lea    -0x460(%ebp),%edx
40f4fb:	89 55 dc             	mov    %edx,-0x24(%ebp)
40f4fe:	8d 85 00 fe ff ff    	lea    -0x200(%ebp),%eax
40f504:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40f507:	8d 8d 08 fb ff ff    	lea    -0x4f8(%ebp),%ecx
40f50d:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
40f510:	8d 95 68 fd ff ff    	lea    -0x298(%ebp),%edx
40f516:	89 55 e0             	mov    %edx,-0x20(%ebp)
40f519:	6a 50                	push   $0x50
40f51b:	8b 45 14             	mov    0x14(%ebp),%eax
40f51e:	50                   	push   %eax
40f51f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40f522:	51                   	push   %ecx
40f523:	e8 78 74 ff ff       	call   0x4069a0
40f528:	83 c4 0c             	add    $0xc,%esp
40f52b:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
40f532:	eb 09                	jmp    0x40f53d
40f534:	8b 55 e8             	mov    -0x18(%ebp),%edx
40f537:	83 c2 01             	add    $0x1,%edx
40f53a:	89 55 e8             	mov    %edx,-0x18(%ebp)
40f53d:	83 7d e8 20          	cmpl   $0x20,-0x18(%ebp)
40f541:	0f 83 21 01 00 00    	jae    0x40f668
40f547:	b8 1f 00 00 00       	mov    $0x1f,%eax
40f54c:	2b 45 e8             	sub    -0x18(%ebp),%eax
40f54f:	8b 4d 10             	mov    0x10(%ebp),%ecx
40f552:	8a 14 01             	mov    (%ecx,%eax,1),%dl
40f555:	88 55 ff             	mov    %dl,-0x1(%ebp)
40f558:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
40f55f:	eb 09                	jmp    0x40f56a
40f561:	8b 45 c8             	mov    -0x38(%ebp),%eax
40f564:	83 c0 01             	add    $0x1,%eax
40f567:	89 45 c8             	mov    %eax,-0x38(%ebp)
40f56a:	83 7d c8 08          	cmpl   $0x8,-0x38(%ebp)
40f56e:	0f 83 ef 00 00 00    	jae    0x40f663
40f574:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
40f578:	c1 f8 07             	sar    $0x7,%eax
40f57b:	99                   	cltd
40f57c:	89 45 cc             	mov    %eax,-0x34(%ebp)
40f57f:	89 55 d0             	mov    %edx,-0x30(%ebp)
40f582:	8b 4d d0             	mov    -0x30(%ebp),%ecx
40f585:	51                   	push   %ecx
40f586:	8b 55 cc             	mov    -0x34(%ebp),%edx
40f589:	52                   	push   %edx
40f58a:	8b 45 f4             	mov    -0xc(%ebp),%eax
40f58d:	50                   	push   %eax
40f58e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f591:	51                   	push   %ecx
40f592:	e8 89 fd ff ff       	call   0x40f320
40f597:	83 c4 10             	add    $0x10,%esp
40f59a:	8b 55 d0             	mov    -0x30(%ebp),%edx
40f59d:	52                   	push   %edx
40f59e:	8b 45 cc             	mov    -0x34(%ebp),%eax
40f5a1:	50                   	push   %eax
40f5a2:	8b 4d d8             	mov    -0x28(%ebp),%ecx
40f5a5:	51                   	push   %ecx
40f5a6:	8b 55 ec             	mov    -0x14(%ebp),%edx
40f5a9:	52                   	push   %edx
40f5aa:	e8 71 fd ff ff       	call   0x40f320
40f5af:	83 c4 10             	add    $0x10,%esp
40f5b2:	8b 45 14             	mov    0x14(%ebp),%eax
40f5b5:	50                   	push   %eax
40f5b6:	8b 4d d8             	mov    -0x28(%ebp),%ecx
40f5b9:	51                   	push   %ecx
40f5ba:	8b 55 f4             	mov    -0xc(%ebp),%edx
40f5bd:	52                   	push   %edx
40f5be:	8b 45 ec             	mov    -0x14(%ebp),%eax
40f5c1:	50                   	push   %eax
40f5c2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f5c5:	51                   	push   %ecx
40f5c6:	8b 55 d4             	mov    -0x2c(%ebp),%edx
40f5c9:	52                   	push   %edx
40f5ca:	8b 45 dc             	mov    -0x24(%ebp),%eax
40f5cd:	50                   	push   %eax
40f5ce:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40f5d1:	51                   	push   %ecx
40f5d2:	8b 55 e4             	mov    -0x1c(%ebp),%edx
40f5d5:	52                   	push   %edx
40f5d6:	e8 95 fa ff ff       	call   0x40f070
40f5db:	83 c4 24             	add    $0x24,%esp
40f5de:	8b 45 d0             	mov    -0x30(%ebp),%eax
40f5e1:	50                   	push   %eax
40f5e2:	8b 4d cc             	mov    -0x34(%ebp),%ecx
40f5e5:	51                   	push   %ecx
40f5e6:	8b 55 dc             	mov    -0x24(%ebp),%edx
40f5e9:	52                   	push   %edx
40f5ea:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40f5ed:	50                   	push   %eax
40f5ee:	e8 2d fd ff ff       	call   0x40f320
40f5f3:	83 c4 10             	add    $0x10,%esp
40f5f6:	8b 4d d0             	mov    -0x30(%ebp),%ecx
40f5f9:	51                   	push   %ecx
40f5fa:	8b 55 cc             	mov    -0x34(%ebp),%edx
40f5fd:	52                   	push   %edx
40f5fe:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40f601:	50                   	push   %eax
40f602:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40f605:	51                   	push   %ecx
40f606:	e8 15 fd ff ff       	call   0x40f320
40f60b:	83 c4 10             	add    $0x10,%esp
40f60e:	8b 55 f0             	mov    -0x10(%ebp),%edx
40f611:	89 55 f8             	mov    %edx,-0x8(%ebp)
40f614:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40f617:	89 45 f0             	mov    %eax,-0x10(%ebp)
40f61a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40f61d:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
40f620:	8b 55 ec             	mov    -0x14(%ebp),%edx
40f623:	89 55 f8             	mov    %edx,-0x8(%ebp)
40f626:	8b 45 e0             	mov    -0x20(%ebp),%eax
40f629:	89 45 ec             	mov    %eax,-0x14(%ebp)
40f62c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40f62f:	89 4d e0             	mov    %ecx,-0x20(%ebp)
40f632:	8b 55 f4             	mov    -0xc(%ebp),%edx
40f635:	89 55 f8             	mov    %edx,-0x8(%ebp)
40f638:	8b 45 dc             	mov    -0x24(%ebp),%eax
40f63b:	89 45 f4             	mov    %eax,-0xc(%ebp)
40f63e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40f641:	89 4d dc             	mov    %ecx,-0x24(%ebp)
40f644:	8b 55 d8             	mov    -0x28(%ebp),%edx
40f647:	89 55 f8             	mov    %edx,-0x8(%ebp)
40f64a:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40f64d:	89 45 d8             	mov    %eax,-0x28(%ebp)
40f650:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40f653:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
40f656:	8a 55 ff             	mov    -0x1(%ebp),%dl
40f659:	d0 e2                	shl    $1,%dl
40f65b:	88 55 ff             	mov    %dl,-0x1(%ebp)
40f65e:	e9 fe fe ff ff       	jmp    0x40f561
40f663:	e9 cc fe ff ff       	jmp    0x40f534
40f668:	6a 50                	push   $0x50
40f66a:	8b 45 f0             	mov    -0x10(%ebp),%eax
40f66d:	50                   	push   %eax
40f66e:	8b 4d 08             	mov    0x8(%ebp),%ecx
40f671:	51                   	push   %ecx
40f672:	e8 29 73 ff ff       	call   0x4069a0
40f677:	83 c4 0c             	add    $0xc,%esp
40f67a:	6a 50                	push   $0x50
40f67c:	8b 55 ec             	mov    -0x14(%ebp),%edx
40f67f:	52                   	push   %edx
40f680:	8b 45 0c             	mov    0xc(%ebp),%eax
40f683:	50                   	push   %eax
40f684:	e8 17 73 ff ff       	call   0x4069a0
40f689:	83 c4 0c             	add    $0xc,%esp
40f68c:	8b e5                	mov    %ebp,%esp
40f68e:	5d                   	pop    %ebp
40f68f:	c3                   	ret
40f690:	55                   	push   %ebp
40f691:	8b ec                	mov    %esp,%ebp
40f693:	81 ec 24 03 00 00    	sub    $0x324,%esp
40f699:	8b 45 0c             	mov    0xc(%ebp),%eax
40f69c:	50                   	push   %eax
40f69d:	8d 8d 6c fe ff ff    	lea    -0x194(%ebp),%ecx
40f6a3:	51                   	push   %ecx
40f6a4:	e8 e7 e8 ff ff       	call   0x40df90
40f6a9:	83 c4 08             	add    $0x8,%esp
40f6ac:	8d 95 6c fe ff ff    	lea    -0x194(%ebp),%edx
40f6b2:	52                   	push   %edx
40f6b3:	8d 85 5c ff ff ff    	lea    -0xa4(%ebp),%eax
40f6b9:	50                   	push   %eax
40f6ba:	e8 d1 e8 ff ff       	call   0x40df90
40f6bf:	83 c4 08             	add    $0x8,%esp
40f6c2:	8d 8d 5c ff ff ff    	lea    -0xa4(%ebp),%ecx
40f6c8:	51                   	push   %ecx
40f6c9:	8d 55 ac             	lea    -0x54(%ebp),%edx
40f6cc:	52                   	push   %edx
40f6cd:	e8 be e8 ff ff       	call   0x40df90
40f6d2:	83 c4 08             	add    $0x8,%esp
40f6d5:	8b 45 0c             	mov    0xc(%ebp),%eax
40f6d8:	50                   	push   %eax
40f6d9:	8d 4d ac             	lea    -0x54(%ebp),%ecx
40f6dc:	51                   	push   %ecx
40f6dd:	8d 95 1c fe ff ff    	lea    -0x1e4(%ebp),%edx
40f6e3:	52                   	push   %edx
40f6e4:	e8 57 db ff ff       	call   0x40d240
40f6e9:	83 c4 0c             	add    $0xc,%esp
40f6ec:	8d 85 6c fe ff ff    	lea    -0x194(%ebp),%eax
40f6f2:	50                   	push   %eax
40f6f3:	8d 8d 1c fe ff ff    	lea    -0x1e4(%ebp),%ecx
40f6f9:	51                   	push   %ecx
40f6fa:	8d 95 dc fc ff ff    	lea    -0x324(%ebp),%edx
40f700:	52                   	push   %edx
40f701:	e8 3a db ff ff       	call   0x40d240
40f706:	83 c4 0c             	add    $0xc,%esp
40f709:	8d 85 dc fc ff ff    	lea    -0x324(%ebp),%eax
40f70f:	50                   	push   %eax
40f710:	8d 4d ac             	lea    -0x54(%ebp),%ecx
40f713:	51                   	push   %ecx
40f714:	e8 77 e8 ff ff       	call   0x40df90
40f719:	83 c4 08             	add    $0x8,%esp
40f71c:	8d 95 1c fe ff ff    	lea    -0x1e4(%ebp),%edx
40f722:	52                   	push   %edx
40f723:	8d 45 ac             	lea    -0x54(%ebp),%eax
40f726:	50                   	push   %eax
40f727:	8d 8d cc fd ff ff    	lea    -0x234(%ebp),%ecx
40f72d:	51                   	push   %ecx
40f72e:	e8 0d db ff ff       	call   0x40d240