404251:	6a 00                	push   $0x0
404253:	ff d7                	call   *%edi
404255:	8b 1d 94 71 40 00    	mov    0x407194,%ebx
40425b:	50                   	push   %eax
40425c:	ff d3                	call   *%ebx
40425e:	6a 01                	push   $0x1
404260:	6a 00                	push   $0x0
404262:	6a 00                	push   $0x0
404264:	ff 75 fc             	push   -0x4(%ebp)
404267:	68 e4 91 40 00       	push   $0x4091e4
40426c:	ff 75 08             	push   0x8(%ebp)
40426f:	ff 15 5c 71 40 00    	call   *0x40715c
404275:	68 00 7f 00 00       	push   $0x7f00
40427a:	6a 00                	push   $0x0
40427c:	ff d7                	call   *%edi
40427e:	50                   	push   %eax
40427f:	ff d3                	call   *%ebx
404281:	8b 7d 14             	mov    0x14(%ebp),%edi
404284:	81 7f 08 00 07 00 00 	cmpl   $0x700,0x8(%edi)
40428b:	75 4b                	jne    0x4042d8
40428d:	81 7f 0c 00 01 00 00 	cmpl   $0x100,0xc(%edi)
404294:	75 42                	jne    0x4042d8
404296:	83 7f 10 0d          	cmpl   $0xd,0x10(%edi)
40429a:	75 11                	jne    0x4042ad
40429c:	6a 00                	push   $0x0
40429e:	6a 01                	push   $0x1
4042a0:	68 11 01 00 00       	push   $0x111
4042a5:	ff 35 a8 3e 42 00    	push   0x423ea8
4042ab:	ff d6                	call   *%esi
4042ad:	83 7f 10 1b          	cmpl   $0x1b,0x10(%edi)
4042b1:	75 0e                	jne    0x4042c1
4042b3:	6a 00                	push   $0x0
4042b5:	6a 00                	push   $0x0
4042b7:	6a 10                	push   $0x10
4042b9:	ff 35 a8 3e 42 00    	push   0x423ea8
4042bf:	ff d6                	call   *%esi
4042c1:	33 c0                	xor    %eax,%eax
4042c3:	40                   	inc    %eax
4042c4:	eb 1e                	jmp    0x4042e4
4042c6:	81 7d 0c 0b 04 00 00 	cmpl   $0x40b,0xc(%ebp)
4042cd:	75 06                	jne    0x4042d5
4042cf:	ff 05 80 04 42 00    	incl   0x420480
4042d5:	8b 7d 14             	mov    0x14(%ebp),%edi
4042d8:	57                   	push   %edi
4042d9:	ff 75 10             	push   0x10(%ebp)
4042dc:	ff 75 0c             	push   0xc(%ebp)
4042df:	e8 9b fc ff ff       	call   0x403f7f
4042e4:	5f                   	pop    %edi
4042e5:	5e                   	pop    %esi
4042e6:	5b                   	pop    %ebx
4042e7:	c9                   	leave
4042e8:	c2 10 00             	ret    $0x10
4042eb:	83 3d 2c 3f 42 00 00 	cmpl   $0x0,0x423f2c
4042f2:	a1 60 f4 41 00       	mov    0x41f460,%eax
4042f7:	75 05                	jne    0x4042fe
4042f9:	a1 98 04 42 00       	mov    0x420498,%eax
4042fe:	6a 01                	push   $0x1
404300:	6a 01                	push   $0x1
404302:	68 f4 00 00 00       	push   $0xf4
404307:	50                   	push   %eax
404308:	ff 15 44 72 40 00    	call   *0x407244
40430e:	c3                   	ret
40430f:	55                   	push   %ebp
404310:	8b ec                	mov    %esp,%ebp
404312:	81 7d 0c 10 01 00 00 	cmpl   $0x110,0xc(%ebp)
404319:	56                   	push   %esi
40431a:	8b 75 14             	mov    0x14(%ebp),%esi
40431d:	75 26                	jne    0x404345
40431f:	ff 76 30             	push   0x30(%esi)
404322:	6a 1d                	push   $0x1d
404324:	ff 75 08             	push   0x8(%ebp)
404327:	e8 ec fb ff ff       	call   0x403f18
40432c:	8b 46 3c             	mov    0x3c(%esi),%eax
40432f:	c1 e0 0a             	shl    $0xa,%eax
404332:	05 00 40 42 00       	add    $0x424000,%eax
404337:	50                   	push   %eax
404338:	68 e8 03 00 00       	push   $0x3e8
40433d:	ff 75 08             	push   0x8(%ebp)
404340:	e8 c0 10 00 00       	call   0x405405
404345:	56                   	push   %esi
404346:	ff 75 10             	push   0x10(%ebp)
404349:	ff 75 0c             	push   0xc(%ebp)
40434c:	e8 2e fc ff ff       	call   0x403f7f
404351:	5e                   	pop    %esi
404352:	5d                   	pop    %ebp
404353:	c2 10 00             	ret    $0x10
404356:	55                   	push   %ebp
404357:	8b ec                	mov    %esp,%ebp
404359:	83 ec 48             	sub    $0x48,%esp
40435c:	a1 70 fc 41 00       	mov    0x41fc70,%eax
404361:	53                   	push   %ebx
404362:	56                   	push   %esi
404363:	89 45 e0             	mov    %eax,-0x20(%ebp)
404366:	8b 70 3c             	mov    0x3c(%eax),%esi
404369:	8b 40 38             	mov    0x38(%eax),%eax
40436c:	c1 e6 0a             	shl    $0xa,%esi
40436f:	81 c6 00 40 42 00    	add    $0x424000,%esi
404375:	81 7d 0c 0b 04 00 00 	cmpl   $0x40b,0xc(%ebp)
40437c:	57                   	push   %edi
40437d:	89 45 fc             	mov    %eax,-0x4(%ebp)
404380:	bb fb 03 00 00       	mov    $0x3fb,%ebx
404385:	75 0d                	jne    0x404394
404387:	56                   	push   %esi
404388:	53                   	push   %ebx
404389:	e8 7d 10 00 00       	call   0x40540b
40438e:	56                   	push   %esi
40438f:	e8 34 1a 00 00       	call   0x405dc8
404394:	81 7d 0c 10 01 00 00 	cmpl   $0x110,0xc(%ebp)
40439b:	75 72                	jne    0x40440f
40439d:	8b 7d 08             	mov    0x8(%ebp),%edi
4043a0:	53                   	push   %ebx
4043a1:	57                   	push   %edi
4043a2:	ff 15 2c 72 40 00    	call   *0x40722c
4043a8:	56                   	push   %esi
4043a9:	89 45 f8             	mov    %eax,-0x8(%ebp)
4043ac:	e8 15 13 00 00       	call   0x4056c6
4043b1:	85 c0                	test   %eax,%eax
4043b3:	74 10                	je     0x4043c5
4043b5:	56                   	push   %esi
4043b6:	e8 32 13 00 00       	call   0x4056ed
4043bb:	85 c0                	test   %eax,%eax
4043bd:	75 06                	jne    0x4043c5
4043bf:	56                   	push   %esi
4043c0:	e8 94 12 00 00       	call   0x405659
4043c5:	56                   	push   %esi
4043c6:	89 3d 78 36 42 00    	mov    %edi,0x423678
4043cc:	ff 75 f8             	push   -0x8(%ebp)
4043cf:	ff 15 f4 71 40 00    	call   *0x4071f4
4043d5:	8b 45 14             	mov    0x14(%ebp),%eax
4043d8:	ff 70 34             	push   0x34(%eax)
4043db:	6a 01                	push   $0x1
4043dd:	57                   	push   %edi
4043de:	e8 35 fb ff ff       	call   0x403f18
4043e3:	8b 45 14             	mov    0x14(%ebp),%eax
4043e6:	ff 70 30             	push   0x30(%eax)
4043e9:	6a 14                	push   $0x14
4043eb:	57                   	push   %edi
4043ec:	e8 27 fb ff ff       	call   0x403f18
4043f1:	ff 75 f8             	push   -0x8(%ebp)
4043f4:	e8 54 fb ff ff       	call   0x403f4d
4043f9:	6a 07                	push   $0x7
4043fb:	e8 88 1a 00 00       	call   0x405e88
404400:	85 c0                	test   %eax,%eax
404402:	0f 84 6e 02 00 00    	je     0x404676
404408:	6a 01                	push   $0x1
40440a:	ff 75 f8             	push   -0x8(%ebp)
40440d:	ff d0                	call   *%eax
40440f:	81 7d 0c 11 01 00 00 	cmpl   $0x111,0xc(%ebp)
404416:	0f 85 cf 00 00 00    	jne    0x4044eb
40441c:	0f b7 45 10          	movzwl 0x10(%ebp),%eax
404420:	3b c3                	cmp    %ebx,%eax
404422:	75 18                	jne    0x40443c
404424:	8b 4d 10             	mov    0x10(%ebp),%ecx
404427:	c1 e9 10             	shr    $0x10,%ecx
40442a:	66 81 f9 00 03       	cmp    $0x300,%cx
40442f:	0f 85 41 02 00 00    	jne    0x404676
404435:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
40443c:	3d e9 03 00 00       	cmp    $0x3e9,%eax
404441:	0f 85 a4 00 00 00    	jne    0x4044eb
404447:	6a 07                	push   $0x7
404449:	33 c0                	xor    %eax,%eax
40444b:	59                   	pop    %ecx
40444c:	8d 7d bc             	lea    -0x44(%ebp),%edi
40444f:	ff 75 fc             	push   -0x4(%ebp)
404452:	f3 ab                	rep stos %eax,%es:(%edi)
404454:	8b 45 08             	mov    0x8(%ebp),%eax
404457:	bf a0 04 42 00       	mov    $0x4204a0,%edi
40445c:	68 70 f8 41 00       	push   $0x41f870
404461:	89 45 b8             	mov    %eax,-0x48(%ebp)
404464:	89 7d c0             	mov    %edi,-0x40(%ebp)
404467:	c7 45 cc 8b 46 40 00 	movl   $0x40468b,-0x34(%ebp)
40446e:	89 75 d0             	mov    %esi,-0x30(%ebp)
404471:	e8 12 17 00 00       	call   0x405b88
404476:	89 45 c4             	mov    %eax,-0x3c(%ebp)
404479:	8d 45 b8             	lea    -0x48(%ebp),%eax
40447c:	50                   	push   %eax
40447d:	c7 45 c8 41 00 00 00 	movl   $0x41,-0x38(%ebp)
404484:	ff 15 54 71 40 00    	call   *0x407154
40448a:	85 c0                	test   %eax,%eax
40448c:	74 56                	je     0x4044e4
40448e:	50                   	push   %eax
40448f:	ff 15 78 72 40 00    	call   *0x407278
404495:	56                   	push   %esi
404496:	e8 be 11 00 00       	call   0x405659
40449b:	a1 b0 3e 42 00       	mov    0x423eb0,%eax
4044a0:	8b 80 1c 01 00 00    	mov    0x11c(%eax),%eax
4044a6:	85 c0                	test   %eax,%eax
4044a8:	74 28                	je     0x4044d2
4044aa:	81 fe 00 94 42 00    	cmp    $0x429400,%esi
4044b0:	75 20                	jne    0x4044d2
4044b2:	50                   	push   %eax
4044b3:	6a 00                	push   $0x0
4044b5:	e8 ce 16 00 00       	call   0x405b88
4044ba:	57                   	push   %edi
4044bb:	bf 40 2e 42 00       	mov    $0x422e40,%edi
4044c0:	57                   	push   %edi
4044c1:	ff 15 f0 70 40 00    	call   *0x4070f0
4044c7:	85 c0                	test   %eax,%eax
4044c9:	74 07                	je     0x4044d2
4044cb:	57                   	push   %edi
4044cc:	56                   	push   %esi
4044cd:	e8 b0 16 00 00       	call   0x405b82
4044d2:	ff 05 8c 04 42 00    	incl   0x42048c
4044d8:	56                   	push   %esi
4044d9:	53                   	push   %ebx
4044da:	ff 75 08             	push   0x8(%ebp)
4044dd:	e8 23 0f 00 00       	call   0x405405
4044e2:	eb 07                	jmp    0x4044eb
4044e4:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
4044eb:	81 7d 0c 0f 04 00 00 	cmpl   $0x40f,0xc(%ebp)
4044f2:	74 0d                	je     0x404501
4044f4:	81 7d 0c 05 04 00 00 	cmpl   $0x405,0xc(%ebp)
4044fb:	0f 85 75 01 00 00    	jne    0x404676
404501:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404505:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
404509:	56                   	push   %esi
40450a:	53                   	push   %ebx
40450b:	e8 fb 0e 00 00       	call   0x40540b
404510:	56                   	push   %esi
404511:	e8 24 12 00 00       	call   0x40573a
404516:	85 c0                	test   %eax,%eax
404518:	75 07                	jne    0x404521
40451a:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
404521:	bf 68 f4 41 00       	mov    $0x41f468,%edi
404526:	56                   	push   %esi
404527:	57                   	push   %edi
404528:	e8 39 16 00 00       	call   0x405b66
40452d:	33 db                	xor    %ebx,%ebx
40452f:	53                   	push   %ebx
404530:	e8 53 19 00 00       	call   0x405e88
404535:	3b c3                	cmp    %ebx,%eax
404537:	89 45 f4             	mov    %eax,-0xc(%ebp)
40453a:	74 35                	je     0x404571
40453c:	33 c0                	xor    %eax,%eax
40453e:	3b c7                	cmp    %edi,%eax
404540:	74 2d                	je     0x40456f
404542:	8d 45 e4             	lea    -0x1c(%ebp),%eax
404545:	50                   	push   %eax
404546:	8d 45 ec             	lea    -0x14(%ebp),%eax
404549:	50                   	push   %eax
40454a:	8d 45 d8             	lea    -0x28(%ebp),%eax
40454d:	50                   	push   %eax
40454e:	57                   	push   %edi
40454f:	ff 55 f4             	call   *-0xc(%ebp)
404552:	85 c0                	test   %eax,%eax
404554:	75 6c                	jne    0x4045c2
404556:	85 db                	test   %ebx,%ebx
404558:	74 03                	je     0x40455d
40455a:	66 21 03             	and    %ax,(%ebx)
40455d:	57                   	push   %edi
40455e:	e8 3d 11 00 00       	call   0x4056a0
404563:	8b d8                	mov    %eax,%ebx
404565:	4b                   	dec    %ebx
404566:	3b df                	cmp    %edi,%ebx
404568:	66 c7 03 5c 00       	movw   $0x5c,(%ebx)
40456d:	75 d3                	jne    0x404542
40456f:	33 db                	xor    %ebx,%ebx
404571:	56                   	push   %esi
404572:	57                   	push   %edi
404573:	e8 ee 15 00 00       	call   0x405b66
404578:	57                   	push   %edi
404579:	e8 6f 11 00 00       	call   0x4056ed
40457e:	3b c3                	cmp    %ebx,%eax
404580:	74 03                	je     0x404585
404582:	80 20 00             	andb   $0x0,(%eax)
404585:	8d 45 dc             	lea    -0x24(%ebp),%eax
404588:	50                   	push   %eax
404589:	8d 45 f4             	lea    -0xc(%ebp),%eax
40458c:	50                   	push   %eax
40458d:	8d 45 e8             	lea    -0x18(%ebp),%eax
404590:	50                   	push   %eax
404591:	8d 45 f0             	lea    -0x10(%ebp),%eax
404594:	50                   	push   %eax
404595:	57                   	push   %edi
404596:	ff 15 c0 70 40 00    	call   *0x4070c0
40459c:	85 c0                	test   %eax,%eax
40459e:	74 3a                	je     0x4045da
4045a0:	8b 45 f0             	mov    -0x10(%ebp),%eax
4045a3:	be 00 04 00 00       	mov    $0x400,%esi
4045a8:	0f af 45 e8          	imul   -0x18(%ebp),%eax
4045ac:	56                   	push   %esi
4045ad:	ff 75 f4             	push   -0xc(%ebp)
4045b0:	50                   	push   %eax
4045b1:	ff 15 30 71 40 00    	call   *0x407130
4045b7:	8b f8                	mov    %eax,%edi
4045b9:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
4045c0:	eb 20                	jmp    0x4045e2
4045c2:	8b 7d d8             	mov    -0x28(%ebp),%edi
4045c5:	8b 45 dc             	mov    -0x24(%ebp),%eax
4045c8:	0f ac c7 0a          	shrd   $0xa,%eax,%edi
4045cc:	c1 e8 0a             	shr    $0xa,%eax
4045cf:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
4045d6:	33 db                	xor    %ebx,%ebx
4045d8:	eb 03                	jmp    0x4045dd
4045da:	8b 7d 0c             	mov    0xc(%ebp),%edi
4045dd:	be 00 04 00 00       	mov    $0x400,%esi
4045e2:	6a 05                	push   $0x5
4045e4:	e8 bd 01 00 00       	call   0x4047a6
4045e9:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
4045ec:	74 0b                	je     0x4045f9
4045ee:	3b f8                	cmp    %eax,%edi
4045f0:	73 07                	jae    0x4045f9
4045f2:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
4045f9:	8b 0d 7c 36 42 00    	mov    0x42367c,%ecx
4045ff:	39 59 10             	cmp    %ebx,0x10(%ecx)
404602:	74 2b                	je     0x40462f
404604:	50                   	push   %eax
404605:	6a fb                	push   $0xfffffffb
404607:	68 ff 03 00 00       	push   $0x3ff
40460c:	e8 e0 00 00 00       	call   0x4046f1
404611:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
404614:	74 0b                	je     0x404621
404616:	57                   	push   %edi
404617:	6a fc                	push   $0xfffffffc
404619:	56                   	push   %esi
40461a:	e8 d2 00 00 00       	call   0x4046f1
40461f:	eb 0e                	jmp    0x40462f
404621:	68 58 f4 41 00       	push   $0x41f458
404626:	56                   	push   %esi
404627:	ff 75 08             	push   0x8(%ebp)
40462a:	e8 d6 0d 00 00       	call   0x405405
40462f:	8b 45 fc             	mov    -0x4(%ebp),%eax
404632:	3b c3                	cmp    %ebx,%eax
404634:	a3 44 3f 42 00       	mov    %eax,0x423f44
404639:	75 0a                	jne    0x404645
40463b:	6a 07                	push   $0x7
40463d:	e8 c9 cd ff ff       	call   0x40140b
404642:	89 45 fc             	mov    %eax,-0x4(%ebp)
404645:	8b 45 e0             	mov    -0x20(%ebp),%eax
404648:	85 70 14             	test   %esi,0x14(%eax)
40464b:	74 03                	je     0x404650
40464d:	89 5d fc             	mov    %ebx,-0x4(%ebp)
404650:	33 c0                	xor    %eax,%eax
404652:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
404655:	0f 94 c0             	sete   %al
404658:	50                   	push   %eax
404659:	e8 dc f8 ff ff       	call   0x403f3a
40465e:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
404661:	75 0d                	jne    0x404670
404663:	39 1d 8c 04 42 00    	cmp    %ebx,0x42048c
404669:	75 05                	jne    0x404670
40466b:	e8 7b fc ff ff       	call   0x4042eb
404670:	89 1d 8c 04 42 00    	mov    %ebx,0x42048c
404676:	ff 75 14             	push   0x14(%ebp)
404679:	ff 75 10             	push   0x10(%ebp)
40467c:	ff 75 0c             	push   0xc(%ebp)
40467f:	e8 fb f8 ff ff       	call   0x403f7f
404684:	5f                   	pop    %edi
404685:	5e                   	pop    %esi
404686:	5b                   	pop    %ebx