507335:	00
507336:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
50733d:	00
50733e:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
507345:	00
507346:	8b 7e 6c             	mov    0x6c(%esi),%edi
507349:	8d 57 02             	lea    0x2(%edi),%edx
50734c:	39 7e 70             	cmp    %edi,0x70(%esi)
50734f:	7f 14                	jg     0x507365
507351:	6a 01                	push   $0x1
507353:	52                   	push   %edx
507354:	6a 01                	push   $0x1
507356:	6a 30                	push   $0x30
507358:	56                   	push   %esi
507359:	e8 a2 f1 ff ff       	call   0x506500
50735e:	83 c4 14             	add    $0x14,%esp
507361:	8b f8                	mov    %eax,%edi
507363:	eb 31                	jmp    0x507396
507365:	8d 47 01             	lea    0x1(%edi),%eax
507368:	89 46 6c             	mov    %eax,0x6c(%esi)
50736b:	8d 0c bf             	lea    (%edi,%edi,4),%ecx
50736e:	8b 46 68             	mov    0x68(%esi),%eax
507371:	53                   	push   %ebx
507372:	5b                   	pop    %ebx
507373:	c7 04 88 30 00 00 00 	movl   $0x30,(%eax,%ecx,4)
50737a:	c7 44 88 04 01 00 00 	movl   $0x1,0x4(%eax,%ecx,4)
507381:	00
507382:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
507386:	c7 44 88 0c 01 00 00 	movl   $0x1,0xc(%eax,%ecx,4)
50738d:	00
50738e:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
507395:	00
507396:	8b 4e 6c             	mov    0x6c(%esi),%ecx
507399:	39 4e 70             	cmp    %ecx,0x70(%esi)
50739c:	7f 17                	jg     0x5073b5
50739e:	6a 00                	push   $0x0
5073a0:	6a 00                	push   $0x0
5073a2:	6a 00                	push   $0x0
5073a4:	6a 44                	push   $0x44
5073a6:	56                   	push   %esi
5073a7:	e8 54 f1 ff ff       	call   0x506500
5073ac:	83 c4 14             	add    $0x14,%esp
5073af:	8b c7                	mov    %edi,%eax
5073b1:	5f                   	pop    %edi
5073b2:	5e                   	pop    %esi
5073b3:	5d                   	pop    %ebp
5073b4:	c3                   	ret
5073b5:	8d 41 01             	lea    0x1(%ecx),%eax
5073b8:	89 46 6c             	mov    %eax,0x6c(%esi)
5073bb:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5073be:	8b 46 68             	mov    0x68(%esi),%eax
5073c1:	c7 04 88 44 00 00 00 	movl   $0x44,(%eax,%ecx,4)
5073c8:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
5073cf:	00
5073d0:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
5073d7:	00
5073d8:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
5073df:	00
5073e0:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
5073e7:	00
5073e8:	8b c7                	mov    %edi,%eax
5073ea:	5f                   	pop    %edi
5073eb:	5e                   	pop    %esi
5073ec:	5d                   	pop    %ebp
5073ed:	c3                   	ret
5073ee:	cc                   	int3
5073ef:	cc                   	int3
5073f0:	55                   	push   %ebp
5073f1:	8b ec                	mov    %esp,%ebp
5073f3:	8b 45 08             	mov    0x8(%ebp),%eax
5073f6:	8b 40 08             	mov    0x8(%eax),%eax
5073f9:	85 c0                	test   %eax,%eax
5073fb:	74 0e                	je     0x50740b
5073fd:	0f 1f 00             	nopl   (%eax)
507400:	80 60 01 fb          	andb   $0xfb,0x1(%eax)
507404:	8b 40 18             	mov    0x18(%eax),%eax
507407:	85 c0                	test   %eax,%eax
507409:	75 f5                	jne    0x507400
50740b:	5d                   	pop    %ebp
50740c:	c3                   	ret
50740d:	cc                   	int3
50740e:	cc                   	int3
50740f:	cc                   	int3
507410:	55                   	push   %ebp
507411:	8b ec                	mov    %esp,%ebp
507413:	8b 4d 08             	mov    0x8(%ebp),%ecx
507416:	80 79 0b 00          	cmpb   $0x0,0xb(%ecx)
50741a:	74 4e                	je     0x50746a
50741c:	8b 41 04             	mov    0x4(%ecx),%eax
50741f:	c6 41 0b 00          	movb   $0x0,0xb(%ecx)
507423:	8b 40 08             	mov    0x8(%eax),%eax
507426:	85 c0                	test   %eax,%eax
507428:	74 40                	je     0x50746a
50742a:	8b 55 18             	mov    0x18(%ebp),%edx
50742d:	53                   	push   %ebx
50742e:	8b 5d 10             	mov    0x10(%ebp),%ebx
507431:	56                   	push   %esi
507432:	8b 75 0c             	mov    0xc(%ebp),%esi
507435:	57                   	push   %edi
507436:	8b 7d 14             	mov    0x14(%ebp),%edi
507439:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
507440:	f6 40 01 10          	testb  $0x10,0x1(%eax)
507444:	74 1a                	je     0x507460
507446:	c6 41 0b 01          	movb   $0x1,0xb(%ecx)
50744a:	39 70 40             	cmp    %esi,0x40(%eax)
50744d:	75 11                	jne    0x507460
50744f:	85 d2                	test   %edx,%edx
507451:	75 0a                	jne    0x50745d
507453:	39 58 20             	cmp    %ebx,0x20(%eax)
507456:	75 08                	jne    0x507460
507458:	39 78 24             	cmp    %edi,0x24(%eax)
50745b:	75 03                	jne    0x507460
50745d:	c6 00 01             	movb   $0x1,(%eax)
507460:	8b 40 18             	mov    0x18(%eax),%eax
507463:	85 c0                	test   %eax,%eax
507465:	75 d9                	jne    0x507440
507467:	5f                   	pop    %edi
507468:	5e                   	pop    %esi
507469:	5b                   	pop    %ebx
50746a:	5d                   	pop    %ebp
50746b:	c3                   	ret
50746c:	cc                   	int3
50746d:	cc                   	int3
50746e:	cc                   	int3
50746f:	cc                   	int3
507470:	55                   	push   %ebp
507471:	8b ec                	mov    %esp,%ebp
507473:	8b 4d 08             	mov    0x8(%ebp),%ecx
507476:	56                   	push   %esi
507477:	8b 31                	mov    (%ecx),%esi
507479:	8b 46 10             	mov    0x10(%esi),%eax
50747c:	8b 40 14             	mov    0x14(%eax),%eax
50747f:	85 c0                	test   %eax,%eax
507481:	74 25                	je     0x5074a8
507483:	80 7e 4f 00          	cmpb   $0x0,0x4f(%esi)
507487:	74 24                	je     0x5074ad
507489:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
50748d:	75 1e                	jne    0x5074ad
50748f:	50                   	push   %eax
507490:	e8 6b 3a 01 00       	call   0x51af00
507495:	8b 46 10             	mov    0x10(%esi),%eax
507498:	56                   	push   %esi
507499:	c7 40 14 00 00 00 00 	movl   $0x0,0x14(%eax)
5074a0:	e8 8b 0a 03 00       	call   0x537f30
5074a5:	83 c4 08             	add    $0x8,%esp
5074a8:	33 c0                	xor    %eax,%eax
5074aa:	5e                   	pop    %esi
5074ab:	5d                   	pop    %ebp
5074ac:	c3                   	ret
5074ad:	68 84 aa 6b 00       	push   $0x6baa84
5074b2:	51                   	push   %ecx
5074b3:	e8 a8 bd 01 00       	call   0x523260
5074b8:	83 c4 08             	add    $0x8,%esp
5074bb:	b8 01 00 00 00       	mov    $0x1,%eax
5074c0:	5e                   	pop    %esi
5074c1:	5d                   	pop    %ebp
5074c2:	c3                   	ret
5074c3:	cc                   	int3
5074c4:	cc                   	int3
5074c5:	cc                   	int3
5074c6:	cc                   	int3
5074c7:	cc                   	int3
5074c8:	cc                   	int3
5074c9:	cc                   	int3
5074ca:	cc                   	int3
5074cb:	cc                   	int3
5074cc:	cc                   	int3
5074cd:	cc                   	int3
5074ce:	cc                   	int3
5074cf:	cc                   	int3
5074d0:	55                   	push   %ebp
5074d1:	8b ec                	mov    %esp,%ebp
5074d3:	83 ec 1c             	sub    $0x1c,%esp
5074d6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5074db:	33 c5                	xor    %ebp,%eax
5074dd:	89 45 fc             	mov    %eax,-0x4(%ebp)
5074e0:	56                   	push   %esi
5074e1:	8b 75 0c             	mov    0xc(%ebp),%esi
5074e4:	57                   	push   %edi
5074e5:	8b 7d 08             	mov    0x8(%ebp),%edi
5074e8:	8b 07                	mov    (%edi),%eax
5074ea:	83 38 02             	cmpl   $0x2,(%eax)
5074ed:	7c 19                	jl     0x507508
5074ef:	8b 48 48             	mov    0x48(%eax),%ecx
5074f2:	85 c9                	test   %ecx,%ecx
5074f4:	74 12                	je     0x507508
5074f6:	8d 55 f4             	lea    -0xc(%ebp),%edx
5074f9:	52                   	push   %edx
5074fa:	50                   	push   %eax
5074fb:	ff d1                	call   *%ecx
5074fd:	8b 55 f8             	mov    -0x8(%ebp),%edx
507500:	83 c4 08             	add    $0x8,%esp
507503:	8b 45 f4             	mov    -0xc(%ebp),%eax
507506:	eb 25                	jmp    0x50752d
507508:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
50750b:	51                   	push   %ecx
50750c:	50                   	push   %eax
50750d:	8b 40 40             	mov    0x40(%eax),%eax
507510:	ff d0                	call   *%eax
507512:	f2 0f 10 45 e4       	movsd  -0x1c(%ebp),%xmm0
507517:	83 c4 08             	add    $0x8,%esp
50751a:	f2 0f 59 05 c0 c5 6b 	mulsd  0x6bc5c0,%xmm0
507521:	00
507522:	e8 64 a2 0d 00       	call   0x5e178b
507527:	89 45 f4             	mov    %eax,-0xc(%ebp)
50752a:	89 55 f8             	mov    %edx,-0x8(%ebp)
50752d:	2b 86 88 00 00 00    	sub    0x88(%esi),%eax
507533:	6a 00                	push   $0x0
507535:	1b 96 8c 00 00 00    	sbb    0x8c(%esi),%edx
50753b:	68 40 42 0f 00       	push   $0xf4240
507540:	52                   	push   %edx
507541:	50                   	push   %eax
507542:	e8 b9 a5 0d 00       	call   0x5e1b00
507547:	8b 8f d4 00 00 00    	mov    0xd4(%edi),%ecx
50754d:	89 45 ec             	mov    %eax,-0x14(%ebp)
507550:	89 55 f0             	mov    %edx,-0x10(%ebp)
507553:	85 c9                	test   %ecx,%ecx
507555:	74 13                	je     0x50756a
507557:	52                   	push   %edx
507558:	50                   	push   %eax
507559:	ff b6 c0 00 00 00    	push   0xc0(%esi)
50755f:	ff b7 d8 00 00 00    	push   0xd8(%edi)
507565:	ff d1                	call   *%ecx
507567:	83 c4 10             	add    $0x10,%esp
50756a:	f6 47 58 02          	testb  $0x2,0x58(%edi)
50756e:	74 18                	je     0x507588
507570:	8d 45 ec             	lea    -0x14(%ebp),%eax
507573:	50                   	push   %eax
507574:	8b 87 cc 00 00 00    	mov    0xcc(%edi),%eax
50757a:	56                   	push   %esi
50757b:	ff b7 d0 00 00 00    	push   0xd0(%edi)
507581:	6a 02                	push   $0x2
507583:	ff d0                	call   *%eax
507585:	83 c4 10             	add    $0x10,%esp
507588:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50758b:	5f                   	pop    %edi
50758c:	c7 86 8c 00 00 00 00 	movl   $0x0,0x8c(%esi)
507593:	00 00 00
507596:	33 cd                	xor    %ebp,%ecx
507598:	c7 86 88 00 00 00 00 	movl   $0x0,0x88(%esi)
50759f:	00 00 00
5075a2:	5e                   	pop    %esi
5075a3:	e8 32 9f 0d 00       	call   0x5e14da
5075a8:	8b e5                	mov    %ebp,%esp
5075aa:	5d                   	pop    %ebp
5075ab:	c3                   	ret
5075ac:	cc                   	int3
5075ad:	cc                   	int3
5075ae:	cc                   	int3
5075af:	cc                   	int3
5075b0:	55                   	push   %ebp
5075b1:	8b ec                	mov    %esp,%ebp
5075b3:	8b 45 0c             	mov    0xc(%ebp),%eax
5075b6:	85 c0                	test   %eax,%eax
5075b8:	74 0d                	je     0x5075c7
5075ba:	83 f8 ff             	cmp    $0xffffffff,%eax
5075bd:	74 08                	je     0x5075c7
5075bf:	ff 75 08             	push   0x8(%ebp)
5075c2:	ff d0                	call   *%eax
5075c4:	83 c4 04             	add    $0x4,%esp
5075c7:	56                   	push   %esi
5075c8:	8b 75 10             	mov    0x10(%ebp),%esi
5075cb:	85 f6                	test   %esi,%esi
5075cd:	74 45                	je     0x507614
5075cf:	c7 46 14 12 00 00 00 	movl   $0x12,0x14(%esi)
5075d6:	b8 00 24 00 00       	mov    $0x2400,%eax
5075db:	8b 36                	mov    (%esi),%esi
5075dd:	66 85 46 08          	test   %ax,0x8(%esi)
5075e1:	75 06                	jne    0x5075e9
5075e3:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
5075e7:	74 09                	je     0x5075f2
5075e9:	56                   	push   %esi
5075ea:	e8 21 38 05 00       	call   0x55ae10
5075ef:	83 c4 04             	add    $0x4,%esp
5075f2:	b8 02 0a 00 00       	mov    $0xa02,%eax
5075f7:	c7 46 10 00 88 6b 00 	movl   $0x6b8800,0x10(%esi)
5075fe:	c7 46 24 00 00 00 00 	movl   $0x0,0x24(%esi)
507605:	c7 46 0c 16 00 00 00 	movl   $0x16,0xc(%esi)
50760c:	66 89 46 08          	mov    %ax,0x8(%esi)
507610:	c6 46 0a 01          	movb   $0x1,0xa(%esi)
507614:	b8 12 00 00 00       	mov    $0x12,%eax
507619:	5e                   	pop    %esi
50761a:	5d                   	pop    %ebp
50761b:	c3                   	ret
50761c:	cc                   	int3
50761d:	cc                   	int3
50761e:	cc                   	int3
50761f:	cc                   	int3
507620:	55                   	push   %ebp
507621:	8b ec                	mov    %esp,%ebp
507623:	8b 4d 0c             	mov    0xc(%ebp),%ecx
507626:	33 c0                	xor    %eax,%eax
507628:	85 c9                	test   %ecx,%ecx
50762a:	7e 0f                	jle    0x50763b
50762c:	8b 55 08             	mov    0x8(%ebp),%edx
50762f:	90                   	nop
507630:	80 3c 10 00          	cmpb   $0x0,(%eax,%edx,1)
507634:	75 0c                	jne    0x507642
507636:	40                   	inc    %eax
507637:	3b c1                	cmp    %ecx,%eax
507639:	7c f5                	jl     0x507630
50763b:	b8 01 00 00 00       	mov    $0x1,%eax
507640:	5d                   	pop    %ebp
507641:	c3                   	ret
507642:	33 c0                	xor    %eax,%eax
507644:	5d                   	pop    %ebp
507645:	c3                   	ret
507646:	cc                   	int3
507647:	cc                   	int3
507648:	cc                   	int3
507649:	cc                   	int3
50764a:	cc                   	int3
50764b:	cc                   	int3
50764c:	cc                   	int3
50764d:	cc                   	int3
50764e:	cc                   	int3
50764f:	cc                   	int3
507650:	55                   	push   %ebp
507651:	8b ec                	mov    %esp,%ebp
507653:	56                   	push   %esi
507654:	8b 75 0c             	mov    0xc(%ebp),%esi
507657:	6a 07                	push   $0x7
507659:	68 b0 92 6b 00       	push   $0x6b92b0
50765e:	ff 36                	push   (%esi)
507660:	e8 fb 84 fd ff       	call   0x4dfb60
507665:	8b 55 08             	mov    0x8(%ebp),%edx
507668:	83 c4 0c             	add    $0xc,%esp
50766b:	85 c0                	test   %eax,%eax
50766d:	74 2f                	je     0x50769e
50766f:	f7 46 24 00 10 00 00 	testl  $0x1000,0x24(%esi)
507676:	74 21                	je     0x507699
507678:	8b 0a                	mov    (%edx),%ecx
50767a:	8b 41 20             	mov    0x20(%ecx),%eax
50767d:	25 00 00 00 10       	and    $0x10000000,%eax
507682:	83 c8 00             	or     $0x0,%eax
507685:	74 12                	je     0x507699
507687:	83 b9 78 01 00 00 00 	cmpl   $0x0,0x178(%ecx)
50768e:	75 09                	jne    0x507699
507690:	83 b9 bc 00 00 00 00 	cmpl   $0x0,0xbc(%ecx)
507697:	74 05                	je     0x50769e
507699:	33 c0                	xor    %eax,%eax
50769b:	5e                   	pop    %esi
50769c:	5d                   	pop    %ebp
50769d:	c3                   	ret
50769e:	ff 36                	push   (%esi)
5076a0:	68 b8 92 6b 00       	push   $0x6b92b8
5076a5:	52                   	push   %edx
5076a6:	e8 b5 bb 01 00       	call   0x523260
5076ab:	83 c4 0c             	add    $0xc,%esp
5076ae:	b8 01 00 00 00       	mov    $0x1,%eax