40f37b:	eb 03                	jmp    0x40f380
40f37d:	8d 49 00             	lea    0x0(%ecx),%ecx
40f380:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40f383:	8b 56 34             	mov    0x34(%esi),%edx
40f386:	6a 00                	push   $0x0
40f388:	51                   	push   %ecx
40f389:	ff d2                	call   *%edx
40f38b:	8b 4e 34             	mov    0x34(%esi),%ecx
40f38e:	89 45 f0             	mov    %eax,-0x10(%ebp)
40f391:	8b 45 fc             	mov    -0x4(%ebp),%eax
40f394:	6a 01                	push   $0x1
40f396:	50                   	push   %eax
40f397:	ff d1                	call   *%ecx
40f399:	8b 55 fc             	mov    -0x4(%ebp),%edx
40f39c:	8b d8                	mov    %eax,%ebx
40f39e:	8b 46 38             	mov    0x38(%esi),%eax
40f3a1:	6a 02                	push   $0x2
40f3a3:	52                   	push   %edx
40f3a4:	ff d0                	call   *%eax
40f3a6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40f3a9:	8b 56 3c             	mov    0x3c(%esi),%edx
40f3ac:	6a 02                	push   $0x2
40f3ae:	51                   	push   %ecx
40f3af:	89 45 f4             	mov    %eax,-0xc(%ebp)
40f3b2:	ff d2                	call   *%edx
40f3b4:	83 c4 20             	add    $0x20,%esp
40f3b7:	80 3b 00             	cmpb   $0x0,(%ebx)
40f3ba:	74 29                	je     0x40f3e5
40f3bc:	8b 4d 10             	mov    0x10(%ebp),%ecx
40f3bf:	8b 56 40             	mov    0x40(%esi),%edx
40f3c2:	51                   	push   %ecx
40f3c3:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f3c6:	52                   	push   %edx
40f3c7:	50                   	push   %eax
40f3c8:	8b 45 f4             	mov    -0xc(%ebp),%eax
40f3cb:	50                   	push   %eax
40f3cc:	53                   	push   %ebx
40f3cd:	51                   	push   %ecx
40f3ce:	8d 95 0c fe ff ff    	lea    -0x1f4(%ebp),%edx
40f3d4:	52                   	push   %edx
40f3d5:	8d 86 68 08 00 00    	lea    0x868(%esi),%eax
40f3db:	50                   	push   %eax
40f3dc:	57                   	push   %edi
40f3dd:	e8 7e fb ff ff       	call   0x40ef60
40f3e2:	83 c4 24             	add    $0x24,%esp
40f3e5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40f3e8:	8b 56 2c             	mov    0x2c(%esi),%edx
40f3eb:	51                   	push   %ecx
40f3ec:	ff d2                	call   *%edx
40f3ee:	83 c4 04             	add    $0x4,%esp
40f3f1:	83 f8 64             	cmp    $0x64,%eax
40f3f4:	74 8a                	je     0x40f380
40f3f6:	81 7d 10 24 10 00 00 	cmpl   $0x1024,0x10(%ebp)
40f3fd:	75 16                	jne    0x40f415
40f3ff:	5b                   	pop    %ebx
40f400:	c7 87 fc 09 00 00 01 	movl   $0x1,0x9fc(%edi)
40f407:	00 00 00
40f40a:	5f                   	pop    %edi
40f40b:	b8 01 00 00 00       	mov    $0x1,%eax
40f410:	5e                   	pop    %esi
40f411:	8b e5                	mov    %ebp,%esp
40f413:	5d                   	pop    %ebp
40f414:	c3                   	ret
40f415:	5b                   	pop    %ebx
40f416:	c7 87 00 0a 00 00 01 	movl   $0x1,0xa00(%edi)
40f41d:	00 00 00
40f420:	5f                   	pop    %edi
40f421:	b8 01 00 00 00       	mov    $0x1,%eax
40f426:	5e                   	pop    %esi
40f427:	8b e5                	mov    %ebp,%esp
40f429:	5d                   	pop    %ebp
40f42a:	c3                   	ret
40f42b:	5b                   	pop    %ebx
40f42c:	5f                   	pop    %edi
40f42d:	33 c0                	xor    %eax,%eax
40f42f:	5e                   	pop    %esi
40f430:	8b e5                	mov    %ebp,%esp
40f432:	5d                   	pop    %ebp
40f433:	c3                   	ret
40f434:	cb                   	lret
40f435:	25 52 10 3b f9       	and    $0xf93b1052,%eax
40f43a:	af                   	scas   %es:(%edi),%eax
40f43b:	ab                   	stos   %eax,%es:(%edi)
40f43c:	8a e7                	mov    %bh,%ah
40f43e:	94                   	xchg   %eax,%esp
40f43f:	34 55                	xor    $0x55,%al
40f441:	8b ec                	mov    %esp,%ebp
40f443:	81 ec 10 04 00 00    	sub    $0x410,%esp
40f449:	53                   	push   %ebx
40f44a:	57                   	push   %edi
40f44b:	33 c0                	xor    %eax,%eax
40f44d:	68 fe 03 00 00       	push   $0x3fe
40f452:	50                   	push   %eax
40f453:	8d 8d f2 fb ff ff    	lea    -0x40e(%ebp),%ecx
40f459:	51                   	push   %ecx
40f45a:	66 89 85 f0 fb ff ff 	mov    %ax,-0x410(%ebp)
40f461:	e8 7a 8f 00 00       	call   0x4183e0
40f466:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40f469:	8b 7d 08             	mov    0x8(%ebp),%edi
40f46c:	83 c4 0c             	add    $0xc,%esp
40f46f:	83 fb 16             	cmp    $0x16,%ebx
40f472:	0f 85 86 00 00 00    	jne    0x40f4fe
40f478:	6a 00                	push   $0x0
40f47a:	6a 01                	push   $0x1
40f47c:	8d 95 f0 fb ff ff    	lea    -0x410(%ebp),%edx
40f482:	52                   	push   %edx
40f483:	57                   	push   %edi
40f484:	e8 e7 92 ff ff       	call   0x408770
40f489:	83 c4 10             	add    $0x10,%esp
40f48c:	66 83 bd f0 fb ff ff 	cmpw   $0x0,-0x410(%ebp)
40f493:	00
40f494:	75 14                	jne    0x40f4aa
40f496:	6a 00                	push   $0x0
40f498:	6a 03                	push   $0x3
40f49a:	8d 85 f0 fb ff ff    	lea    -0x410(%ebp),%eax
40f4a0:	50                   	push   %eax
40f4a1:	57                   	push   %edi
40f4a2:	e8 c9 92 ff ff       	call   0x408770
40f4a7:	83 c4 10             	add    $0x10,%esp
40f4aa:	6a 01                	push   $0x1
40f4ac:	8d 8d f0 fb ff ff    	lea    -0x410(%ebp),%ecx
40f4b2:	6a 1e                	push   $0x1e
40f4b4:	51                   	push   %ecx
40f4b5:	e8 96 91 00 00       	call   0x418650
40f4ba:	83 c4 04             	add    $0x4,%esp
40f4bd:	8d 94 45 f0 fb ff ff 	lea    -0x410(%ebp,%eax,2),%edx
40f4c4:	52                   	push   %edx
40f4c5:	57                   	push   %edi
40f4c6:	e8 a5 92 ff ff       	call   0x408770
40f4cb:	6a 00                	push   $0x0
40f4cd:	6a 15                	push   $0x15
40f4cf:	8d 85 f0 fb ff ff    	lea    -0x410(%ebp),%eax
40f4d5:	50                   	push   %eax
40f4d6:	57                   	push   %edi
40f4d7:	e8 f4 29 00 00       	call   0x411ed0
40f4dc:	83 c4 20             	add    $0x20,%esp
40f4df:	f7 d8                	neg    %eax
40f4e1:	1b c0                	sbb    %eax,%eax
40f4e3:	f7 d8                	neg    %eax
40f4e5:	89 87 4c 0b 00 00    	mov    %eax,0xb4c(%edi)
40f4eb:	74 09                	je     0x40f4f6
40f4ed:	83 bf 00 0a 00 00 00 	cmpl   $0x0,0xa00(%edi)
40f4f4:	74 3d                	je     0x40f533
40f4f6:	5f                   	pop    %edi
40f4f7:	33 c0                	xor    %eax,%eax
40f4f9:	5b                   	pop    %ebx
40f4fa:	8b e5                	mov    %ebp,%esp
40f4fc:	5d                   	pop    %ebp
40f4fd:	c3                   	ret
40f4fe:	81 fb 24 10 00 00    	cmp    $0x1024,%ebx
40f504:	75 2d                	jne    0x40f533
40f506:	6a 00                	push   $0x0
40f508:	8d 8d f0 fb ff ff    	lea    -0x410(%ebp),%ecx
40f50e:	51                   	push   %ecx
40f50f:	57                   	push   %edi
40f510:	e8 eb 0c 00 00       	call   0x410200
40f515:	83 c4 0c             	add    $0xc,%esp
40f518:	89 87 48 0b 00 00    	mov    %eax,0xb48(%edi)
40f51e:	85 c0                	test   %eax,%eax
40f520:	74 09                	je     0x40f52b
40f522:	83 bf fc 09 00 00 00 	cmpl   $0x0,0x9fc(%edi)
40f529:	74 08                	je     0x40f533
40f52b:	5f                   	pop    %edi
40f52c:	33 c0                	xor    %eax,%eax
40f52e:	5b                   	pop    %ebx
40f52f:	8b e5                	mov    %ebp,%esp
40f531:	5d                   	pop    %ebp
40f532:	c3                   	ret
40f533:	56                   	push   %esi
40f534:	53                   	push   %ebx
40f535:	57                   	push   %edi
40f536:	e8 05 63 00 00       	call   0x415840
40f53b:	8b f0                	mov    %eax,%esi
40f53d:	83 c4 08             	add    $0x8,%esp
40f540:	85 f6                	test   %esi,%esi
40f542:	74 4f                	je     0x40f593
40f544:	53                   	push   %ebx
40f545:	8d 56 48             	lea    0x48(%esi),%edx
40f548:	52                   	push   %edx
40f549:	6a 01                	push   $0x1
40f54b:	6a 00                	push   $0x0
40f54d:	57                   	push   %edi
40f54e:	e8 5d f5 ff ff       	call   0x40eab0
40f553:	83 c4 14             	add    $0x14,%esp
40f556:	85 c0                	test   %eax,%eax
40f558:	75 42                	jne    0x40f59c
40f55a:	81 fb 24 10 00 00    	cmp    $0x1024,%ebx
40f560:	75 1d                	jne    0x40f57f
40f562:	56                   	push   %esi
40f563:	57                   	push   %edi
40f564:	c7 87 fc 09 00 00 01 	movl   $0x1,0x9fc(%edi)
40f56b:	00 00 00
40f56e:	e8 cd 8d 00 00       	call   0x418340
40f573:	83 c4 08             	add    $0x8,%esp
40f576:	5e                   	pop    %esi
40f577:	5f                   	pop    %edi
40f578:	33 c0                	xor    %eax,%eax
40f57a:	5b                   	pop    %ebx
40f57b:	8b e5                	mov    %ebp,%esp
40f57d:	5d                   	pop    %ebp
40f57e:	c3                   	ret
40f57f:	56                   	push   %esi
40f580:	57                   	push   %edi
40f581:	c7 87 00 0a 00 00 01 	movl   $0x1,0xa00(%edi)
40f588:	00 00 00
40f58b:	e8 b0 8d 00 00       	call   0x418340
40f590:	83 c4 08             	add    $0x8,%esp
40f593:	5e                   	pop    %esi
40f594:	5f                   	pop    %edi
40f595:	33 c0                	xor    %eax,%eax
40f597:	5b                   	pop    %ebx
40f598:	8b e5                	mov    %ebp,%esp
40f59a:	5d                   	pop    %ebp
40f59b:	c3                   	ret
40f59c:	6a 00                	push   $0x0
40f59e:	6a 04                	push   $0x4
40f5a0:	8d 9e f4 01 00 00    	lea    0x1f4(%esi),%ebx
40f5a6:	53                   	push   %ebx
40f5a7:	57                   	push   %edi
40f5a8:	e8 c3 91 ff ff       	call   0x408770
40f5ad:	6a 00                	push   $0x0
40f5af:	8d 46 28             	lea    0x28(%esi),%eax
40f5b2:	50                   	push   %eax
40f5b3:	53                   	push   %ebx
40f5b4:	e8 07 92 00 00       	call   0x4187c0
40f5b9:	53                   	push   %ebx
40f5ba:	8d 8d f0 fb ff ff    	lea    -0x410(%ebp),%ecx
40f5c0:	51                   	push   %ecx
40f5c1:	57                   	push   %edi
40f5c2:	e8 49 f1 ff ff       	call   0x40e710
40f5c7:	8d 95 f0 fb ff ff    	lea    -0x410(%ebp),%edx
40f5cd:	53                   	push   %ebx
40f5ce:	52                   	push   %edx
40f5cf:	e8 2c 94 00 00       	call   0x418a00
40f5d4:	8b 96 b4 01 00 00    	mov    0x1b4(%esi),%edx
40f5da:	83 c4 30             	add    $0x30,%esp
40f5dd:	8d 45 f0             	lea    -0x10(%ebp),%eax
40f5e0:	50                   	push   %eax
40f5e1:	8d 8d f0 fb ff ff    	lea    -0x410(%ebp),%ecx
40f5e7:	51                   	push   %ecx
40f5e8:	ff d2                	call   *%edx
40f5ea:	85 c0                	test   %eax,%eax
40f5ec:	0f 85 bd 00 00 00    	jne    0x40f6af
40f5f2:	8b 55 f0             	mov    -0x10(%ebp),%edx
40f5f5:	50                   	push   %eax
40f5f6:	8d 45 fc             	lea    -0x4(%ebp),%eax
40f5f9:	50                   	push   %eax
40f5fa:	8b 86 bc 01 00 00    	mov    0x1bc(%esi),%eax
40f600:	6a ff                	push   $0xffffffff
40f602:	8d 8e a8 00 00 00    	lea    0xa8(%esi),%ecx
40f608:	51                   	push   %ecx
40f609:	52                   	push   %edx
40f60a:	ff d0                	call   *%eax
40f60c:	85 c0                	test   %eax,%eax
40f60e:	0f 85 9b 00 00 00    	jne    0x40f6af
40f614:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40f617:	8b 96 b8 01 00 00    	mov    0x1b8(%esi),%edx
40f61d:	51                   	push   %ecx
40f61e:	ff d2                	call   *%edx
40f620:	83 f8 64             	cmp    $0x64,%eax
40f623:	0f 85 86 00 00 00    	jne    0x40f6af
40f629:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40f630:	8b 45 fc             	mov    -0x4(%ebp),%eax
40f633:	8b 8e c0 01 00 00    	mov    0x1c0(%esi),%ecx
40f639:	6a 00                	push   $0x0
40f63b:	50                   	push   %eax
40f63c:	ff d1                	call   *%ecx
40f63e:	8b 55 fc             	mov    -0x4(%ebp),%edx
40f641:	6a 01                	push   $0x1
40f643:	89 45 f4             	mov    %eax,-0xc(%ebp)
40f646:	8b 86 c0 01 00 00    	mov    0x1c0(%esi),%eax
40f64c:	52                   	push   %edx
40f64d:	ff d0                	call   *%eax
40f64f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40f652:	8b 96 c4 01 00 00    	mov    0x1c4(%esi),%edx
40f658:	6a 02                	push   $0x2
40f65a:	51                   	push   %ecx
40f65b:	8b d8                	mov    %eax,%ebx
40f65d:	ff d2                	call   *%edx
40f65f:	8b 8e c8 01 00 00    	mov    0x1c8(%esi),%ecx
40f665:	89 45 f8             	mov    %eax,-0x8(%ebp)
40f668:	8b 45 fc             	mov    -0x4(%ebp),%eax
40f66b:	6a 02                	push   $0x2
40f66d:	50                   	push   %eax
40f66e:	ff d1                	call   *%ecx
40f670:	80 3b 00             	cmpb   $0x0,(%ebx)
40f673:	74 29                	je     0x40f69e
40f675:	8b 55 0c             	mov    0xc(%ebp),%edx
40f678:	8b 8e cc 01 00 00    	mov    0x1cc(%esi),%ecx
40f67e:	52                   	push   %edx
40f67f:	8b 55 f8             	mov    -0x8(%ebp),%edx
40f682:	51                   	push   %ecx
40f683:	50                   	push   %eax
40f684:	8b 45 f4             	mov    -0xc(%ebp),%eax
40f687:	52                   	push   %edx
40f688:	53                   	push   %ebx
40f689:	50                   	push   %eax
40f68a:	8d 4e 08             	lea    0x8(%esi),%ecx
40f68d:	51                   	push   %ecx
40f68e:	8d 96 f4 09 00 00    	lea    0x9f4(%esi),%edx
40f694:	52                   	push   %edx
40f695:	57                   	push   %edi
40f696:	e8 c5 f8 ff ff       	call   0x40ef60
40f69b:	83 c4 24             	add    $0x24,%esp
40f69e:	8b 45 fc             	mov    -0x4(%ebp),%eax
40f6a1:	8b 8e b8 01 00 00    	mov    0x1b8(%esi),%ecx
40f6a7:	50                   	push   %eax
40f6a8:	ff d1                	call   *%ecx
40f6aa:	83 f8 64             	cmp    $0x64,%eax
40f6ad:	74 81                	je     0x40f630
40f6af:	56                   	push   %esi
40f6b0:	57                   	push   %edi
40f6b1:	e8 8a 8c 00 00       	call   0x418340
40f6b6:	83 c4 08             	add    $0x8,%esp
40f6b9:	81 7d 0c 24 10 00 00 	cmpl   $0x1024,0xc(%ebp)
40f6c0:	75 16                	jne    0x40f6d8
40f6c2:	5e                   	pop    %esi
40f6c3:	c7 87 fc 09 00 00 01 	movl   $0x1,0x9fc(%edi)
40f6ca:	00 00 00
40f6cd:	5f                   	pop    %edi
40f6ce:	b8 01 00 00 00       	mov    $0x1,%eax
40f6d3:	5b                   	pop    %ebx
40f6d4:	8b e5                	mov    %ebp,%esp
40f6d6:	5d                   	pop    %ebp
40f6d7:	c3                   	ret
40f6d8:	5e                   	pop    %esi
40f6d9:	c7 87 00 0a 00 00 01 	movl   $0x1,0xa00(%edi)
40f6e0:	00 00 00
40f6e3:	5f                   	pop    %edi
40f6e4:	b8 01 00 00 00       	mov    $0x1,%eax
40f6e9:	5b                   	pop    %ebx
40f6ea:	8b e5                	mov    %ebp,%esp
40f6ec:	5d                   	pop    %ebp
40f6ed:	c3                   	ret
40f6ee:	cc                   	int3
40f6ef:	cc                   	int3
40f6f0:	55                   	push   %ebp
40f6f1:	8b ec                	mov    %esp,%ebp
40f6f3:	83 ec 20             	sub    $0x20,%esp
40f6f6:	53                   	push   %ebx
40f6f7:	56                   	push   %esi
40f6f8:	57                   	push   %edi
40f6f9:	8b 7d 14             	mov    0x14(%ebp),%edi
40f6fc:	8b 4f 14             	mov    0x14(%edi),%ecx
40f6ff:	68 00 00 00 f0       	push   $0xf0000000
40f704:	33 db                	xor    %ebx,%ebx
40f706:	6a 01                	push   $0x1
40f708:	53                   	push   %ebx
40f709:	53                   	push   %ebx
40f70a:	8d 45 f8             	lea    -0x8(%ebp),%eax