49033f:	50                   	push   %eax
490340:	6a 00                	push   $0x0
490342:	56                   	push   %esi
490343:	ff 15 98 21 60 00    	call   *0x602198
490349:	85 c0                	test   %eax,%eax
49034b:	74 42                	je     0x49038f
49034d:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
490351:	8d 5e 04             	lea    0x4(%esi),%ebx
490354:	74 1a                	je     0x490370
490356:	6a 02                	push   $0x2
490358:	53                   	push   %ebx
490359:	e8 b8 08 14 00       	call   0x5d0c16
49035e:	83 c4 08             	add    $0x8,%esp
490361:	6a 00                	push   $0x0
490363:	6a 00                	push   $0x0
490365:	56                   	push   %esi
490366:	ff 15 94 21 60 00    	call   *0x602194
49036c:	85 c0                	test   %eax,%eax
49036e:	74 1f                	je     0x49038f
490370:	53                   	push   %ebx
490371:	e8 cd 08 14 00       	call   0x5d0c43
490376:	83 c4 04             	add    $0x4,%esp
490379:	8b c7                	mov    %edi,%eax
49037b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
49037e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
490385:	59                   	pop    %ecx
490386:	5f                   	pop    %edi
490387:	5e                   	pop    %esi
490388:	5b                   	pop    %ebx
490389:	8b e5                	mov    %ebp,%esp
49038b:	5d                   	pop    %ebp
49038c:	c2 10 00             	ret    $0x10
49038f:	e8 55 fb 14 00       	call   0x5dfee9
490394:	cc                   	int3
490395:	cc                   	int3
490396:	cc                   	int3
490397:	cc                   	int3
490398:	cc                   	int3
490399:	cc                   	int3
49039a:	cc                   	int3
49039b:	cc                   	int3
49039c:	cc                   	int3
49039d:	cc                   	int3
49039e:	cc                   	int3
49039f:	cc                   	int3
4903a0:	55                   	push   %ebp
4903a1:	8b ec                	mov    %esp,%ebp
4903a3:	6a ff                	push   $0xffffffff
4903a5:	68 05 bd 5f 00       	push   $0x5fbd05
4903aa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4903b0:	50                   	push   %eax
4903b1:	83 ec 68             	sub    $0x68,%esp
4903b4:	a1 c0 14 69 00       	mov    0x6914c0,%eax
4903b9:	33 c5                	xor    %ebp,%eax
4903bb:	89 45 f0             	mov    %eax,-0x10(%ebp)
4903be:	53                   	push   %ebx
4903bf:	56                   	push   %esi
4903c0:	57                   	push   %edi
4903c1:	50                   	push   %eax
4903c2:	8d 45 f4             	lea    -0xc(%ebp),%eax
4903c5:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4903cb:	8b c1                	mov    %ecx,%eax
4903cd:	89 45 a0             	mov    %eax,-0x60(%ebp)
4903d0:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4903d3:	8d b0 90 00 00 00    	lea    0x90(%eax),%esi
4903d9:	8b 7d 08             	mov    0x8(%ebp),%edi
4903dc:	69 c3 93 01 00 01    	imul   $0x1000193,%ebx,%eax
4903e2:	69 cf 1b 01 00 01    	imul   $0x100011b,%edi,%ecx
4903e8:	89 5d 9c             	mov    %ebx,-0x64(%ebp)
4903eb:	89 7d 94             	mov    %edi,-0x6c(%ebp)
4903ee:	89 5d 98             	mov    %ebx,-0x68(%ebp)
4903f1:	33 c8                	xor    %eax,%ecx
4903f3:	8d 45 94             	lea    -0x6c(%ebp),%eax
4903f6:	51                   	push   %ecx
4903f7:	50                   	push   %eax
4903f8:	8d 45 e8             	lea    -0x18(%ebp),%eax
4903fb:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
4903fe:	50                   	push   %eax
4903ff:	8b ce                	mov    %esi,%ecx
490401:	e8 6a 96 fe ff       	call   0x479a70
490406:	8b 40 04             	mov    0x4(%eax),%eax
490409:	85 c0                	test   %eax,%eax
49040b:	74 10                	je     0x49041d
49040d:	3b 46 04             	cmp    0x4(%esi),%eax
490410:	74 0b                	je     0x49041d
490412:	8b 40 10             	mov    0x10(%eax),%eax
490415:	85 c0                	test   %eax,%eax
490417:	0f 85 f0 01 00 00    	jne    0x49060d
49041d:	8b 75 a0             	mov    -0x60(%ebp),%esi
490420:	8d 4d 98             	lea    -0x68(%ebp),%ecx
490423:	8d 86 f4 00 00 00    	lea    0xf4(%esi),%eax
490429:	50                   	push   %eax
49042a:	e8 81 63 fc ff       	call   0x4567b0
49042f:	ff 75 a4             	push   -0x5c(%ebp)
490432:	8d 45 e8             	lea    -0x18(%ebp),%eax
490435:	89 5d ec             	mov    %ebx,-0x14(%ebp)
490438:	50                   	push   %eax
490439:	8d 45 8c             	lea    -0x74(%ebp),%eax
49043c:	89 7d e8             	mov    %edi,-0x18(%ebp)
49043f:	8d 9e b0 00 00 00    	lea    0xb0(%esi),%ebx
490445:	50                   	push   %eax
490446:	8b cb                	mov    %ebx,%ecx
490448:	e8 23 96 fe ff       	call   0x479a70
49044d:	8b 70 04             	mov    0x4(%eax),%esi
490450:	85 f6                	test   %esi,%esi
490452:	74 10                	je     0x490464
490454:	3b 73 04             	cmp    0x4(%ebx),%esi
490457:	74 0b                	je     0x490464
490459:	8b 76 10             	mov    0x10(%esi),%esi
49045c:	85 f6                	test   %esi,%esi
49045e:	0f 85 9f 01 00 00    	jne    0x490603
490464:	8d 4d 98             	lea    -0x68(%ebp),%ecx
490467:	e8 e4 67 fc ff       	call   0x456c50
49046c:	8b 45 a0             	mov    -0x60(%ebp),%eax
49046f:	8d 4d 98             	lea    -0x68(%ebp),%ecx
490472:	05 f4 00 00 00       	add    $0xf4,%eax
490477:	50                   	push   %eax
490478:	e8 33 63 fc ff       	call   0x4567b0
49047d:	8b 45 9c             	mov    -0x64(%ebp),%eax
490480:	8b cb                	mov    %ebx,%ecx
490482:	ff 75 a4             	push   -0x5c(%ebp)
490485:	89 45 ec             	mov    %eax,-0x14(%ebp)
490488:	8d 45 e8             	lea    -0x18(%ebp),%eax
49048b:	50                   	push   %eax
49048c:	8d 45 8c             	lea    -0x74(%ebp),%eax
49048f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
490496:	50                   	push   %eax
490497:	89 7d e8             	mov    %edi,-0x18(%ebp)
49049a:	e8 d1 95 fe ff       	call   0x479a70
49049f:	8b 70 04             	mov    0x4(%eax),%esi
4904a2:	85 f6                	test   %esi,%esi
4904a4:	74 10                	je     0x4904b6
4904a6:	3b 73 04             	cmp    0x4(%ebx),%esi
4904a9:	74 0b                	je     0x4904b6
4904ab:	8b 76 10             	mov    0x10(%esi),%esi
4904ae:	85 f6                	test   %esi,%esi
4904b0:	0f 85 4d 01 00 00    	jne    0x490603
4904b6:	8b 07                	mov    (%edi),%eax
4904b8:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
4904bc:	72 02                	jb     0x4904c0
4904be:	8b 00                	mov    (%eax),%eax
4904c0:	ff 75 9c             	push   -0x64(%ebp)
4904c3:	50                   	push   %eax
4904c4:	8d 45 c0             	lea    -0x40(%ebp),%eax
4904c7:	68 b4 80 60 00       	push   $0x6080b4
4904cc:	50                   	push   %eax
4904cd:	e8 9e c8 01 00       	call   0x4acd70
4904d2:	83 c4 10             	add    $0x10,%esp
4904d5:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4904d9:	e8 e2 d8 00 00       	call   0x49ddc0
4904de:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
4904e1:	c7 45 a4 14 00 00 00 	movl   $0x14,-0x5c(%ebp)
4904e8:	51                   	push   %ecx
4904e9:	8b 40 10             	mov    0x10(%eax),%eax
4904ec:	8d b0 8c 00 00 00    	lea    0x8c(%eax),%esi
4904f2:	89 45 a0             	mov    %eax,-0x60(%ebp)
4904f5:	8b 46 04             	mov    0x4(%esi),%eax
4904f8:	50                   	push   %eax
4904f9:	3b 46 08             	cmp    0x8(%esi),%eax
4904fc:	74 0f                	je     0x49050d
4904fe:	56                   	push   %esi
4904ff:	e8 8c a4 fe ff       	call   0x47a990
490504:	83 c4 0c             	add    $0xc,%esp
490507:	83 46 04 0c          	addl   $0xc,0x4(%esi)
49050b:	eb 07                	jmp    0x490514
49050d:	8b ce                	mov    %esi,%ecx
49050f:	e8 8c 86 fe ff       	call   0x478ba0
490514:	8b 55 a0             	mov    -0x60(%ebp),%edx
490517:	83 ec 08             	sub    $0x8,%esp
49051a:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
49051e:	8b cc                	mov    %esp,%ecx
490520:	8b 82 90 00 00 00    	mov    0x90(%edx),%eax
490526:	8b 70 f4             	mov    -0xc(%eax),%esi
490529:	8d 45 c0             	lea    -0x40(%ebp),%eax
49052c:	0f 43 45 c0          	cmovae -0x40(%ebp),%eax
490530:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
490537:	89 01                	mov    %eax,(%ecx)
490539:	8b 45 d0             	mov    -0x30(%ebp),%eax
49053c:	89 41 04             	mov    %eax,0x4(%ecx)
49053f:	8b ca                	mov    %edx,%ecx
490541:	e8 ca 05 ff ff       	call   0x480b10
490546:	89 06                	mov    %eax,(%esi)
490548:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
49054d:	8b 4f 04             	mov    0x4(%edi),%ecx
490550:	8b 51 10             	mov    0x10(%ecx),%edx
490553:	2b c2                	sub    %edx,%eax
490555:	83 f8 01             	cmp    $0x1,%eax
490558:	0f 82 cd 00 00 00    	jb     0x49062b
49055e:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
490562:	8b c1                	mov    %ecx,%eax
490564:	72 02                	jb     0x490568
490566:	8b 01                	mov    (%ecx),%eax
490568:	6a 01                	push   $0x1
49056a:	68 68 67 60 00       	push   $0x606768
49056f:	52                   	push   %edx
490570:	50                   	push   %eax
490571:	51                   	push   %ecx
490572:	ff 75 a4             	push   -0x5c(%ebp)
490575:	8d 4d d8             	lea    -0x28(%ebp),%ecx
490578:	e8 03 b6 fe ff       	call   0x47bb80
49057d:	8d 45 c0             	lea    -0x40(%ebp),%eax
490580:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
490584:	50                   	push   %eax
490585:	8d 45 d8             	lea    -0x28(%ebp),%eax
490588:	50                   	push   %eax
490589:	8d 45 a8             	lea    -0x58(%ebp),%eax
49058c:	50                   	push   %eax
49058d:	e8 6e 59 fe ff       	call   0x475f00
490592:	83 c4 04             	add    $0x4,%esp
490595:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
490599:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
49059d:	8b d4                	mov    %esp,%edx
49059f:	8b c8                	mov    %eax,%ecx
4905a1:	72 02                	jb     0x4905a5
4905a3:	8b 08                	mov    (%eax),%ecx
4905a5:	89 0a                	mov    %ecx,(%edx)
4905a7:	8b 4d a0             	mov    -0x60(%ebp),%ecx
4905aa:	c7 42 04 00 00 00 00 	movl   $0x0,0x4(%edx)
4905b1:	8b 40 10             	mov    0x10(%eax),%eax
4905b4:	89 42 04             	mov    %eax,0x4(%edx)
4905b7:	e8 54 05 ff ff       	call   0x480b10
4905bc:	8d 4d a8             	lea    -0x58(%ebp),%ecx
4905bf:	89 46 04             	mov    %eax,0x4(%esi)
4905c2:	e8 d9 64 fc ff       	call   0x456aa0
4905c7:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4905ca:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4905ce:	e8 cd 64 fc ff       	call   0x456aa0
4905d3:	8b 45 9c             	mov    -0x64(%ebp),%eax
4905d6:	8b cb                	mov    %ebx,%ecx
4905d8:	89 46 08             	mov    %eax,0x8(%esi)
4905db:	89 45 e8             	mov    %eax,-0x18(%ebp)
4905de:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4905e1:	50                   	push   %eax
4905e2:	8d 45 8c             	lea    -0x74(%ebp),%eax
4905e5:	89 7e 0c             	mov    %edi,0xc(%esi)
4905e8:	50                   	push   %eax
4905e9:	c7 46 10 00 d8 68 00 	movl   $0x68d800,0x10(%esi)
4905f0:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4905f3:	89 75 ec             	mov    %esi,-0x14(%ebp)
4905f6:	e8 e5 a4 fe ff       	call   0x47aae0
4905fb:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4905fe:	e8 9d 64 fc ff       	call   0x456aa0
490603:	8d 4d 98             	lea    -0x68(%ebp),%ecx
490606:	e8 45 66 fc ff       	call   0x456c50
49060b:	8b c6                	mov    %esi,%eax
49060d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
490610:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
490617:	59                   	pop    %ecx
490618:	5f                   	pop    %edi
490619:	5e                   	pop    %esi
49061a:	5b                   	pop    %ebx
49061b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
49061e:	33 cd                	xor    %ebp,%ecx
490620:	e8 01 14 14 00       	call   0x5d1a26
490625:	8b e5                	mov    %ebp,%esp
490627:	5d                   	pop    %ebp
490628:	c2 08 00             	ret    $0x8
49062b:	e8 e0 6f fb ff       	call   0x447610
490630:	cc                   	int3
490631:	cc                   	int3
490632:	cc                   	int3
490633:	cc                   	int3
490634:	cc                   	int3
490635:	cc                   	int3
490636:	cc                   	int3
490637:	cc                   	int3
490638:	cc                   	int3
490639:	cc                   	int3
49063a:	cc                   	int3
49063b:	cc                   	int3
49063c:	cc                   	int3
49063d:	cc                   	int3
49063e:	cc                   	int3
49063f:	cc                   	int3
490640:	55                   	push   %ebp
490641:	8b ec                	mov    %esp,%ebp
490643:	83 ec 10             	sub    $0x10,%esp
490646:	53                   	push   %ebx
490647:	56                   	push   %esi
490648:	8b f1                	mov    %ecx,%esi
49064a:	8d 55 f0             	lea    -0x10(%ebp),%edx
49064d:	8b 4d 08             	mov    0x8(%ebp),%ecx
490650:	57                   	push   %edi
490651:	52                   	push   %edx
490652:	8b 01                	mov    (%ecx),%eax
490654:	ff 50 48             	call   *0x48(%eax)
490657:	8b 4e 04             	mov    0x4(%esi),%ecx
49065a:	6a 01                	push   $0x1
49065c:	6a 00                	push   $0x0
49065e:	8b 00                	mov    (%eax),%eax
490660:	89 45 08             	mov    %eax,0x8(%ebp)
490663:	ff 70 04             	push   0x4(%eax)
490666:	8d 45 f8             	lea    -0x8(%ebp),%eax
490669:	ff 75 0c             	push   0xc(%ebp)
49066c:	50                   	push   %eax
49066d:	e8 5e 48 00 00       	call   0x494ed0
490672:	8b 45 f8             	mov    -0x8(%ebp),%eax
490675:	83 f8 02             	cmp    $0x2,%eax
490678:	75 14                	jne    0x49068e
49067a:	8b 45 fc             	mov    -0x4(%ebp),%eax
49067d:	80 78 27 00          	cmpb   $0x0,0x27(%eax)
490681:	75 02                	jne    0x490685
490683:	33 c0                	xor    %eax,%eax
490685:	5f                   	pop    %edi
490686:	5e                   	pop    %esi
490687:	5b                   	pop    %ebx
490688:	8b e5                	mov    %ebp,%esp
49068a:	5d                   	pop    %ebp
49068b:	c2 08 00             	ret    $0x8
49068e:	83 f8 01             	cmp    $0x1,%eax
490691:	75 f0                	jne    0x490683
490693:	8b 4d 08             	mov    0x8(%ebp),%ecx
490696:	8b 41 10             	mov    0x10(%ecx),%eax
490699:	80 78 2c 00          	cmpb   $0x0,0x2c(%eax)
49069d:	74 e4                	je     0x490683
49069f:	8b 7d fc             	mov    -0x4(%ebp),%edi
4906a2:	33 db                	xor    %ebx,%ebx
4906a4:	39 5f 4c             	cmp    %ebx,0x4c(%edi)
4906a7:	7e da                	jle    0x490683
4906a9:	33 c0                	xor    %eax,%eax
4906ab:	89 45 0c             	mov    %eax,0xc(%ebp)
4906ae:	66 90                	xchg   %ax,%ax
4906b0:	8b 77 28             	mov    0x28(%edi),%esi
4906b3:	03 f0                	add    %eax,%esi
4906b5:	39 4e 30             	cmp    %ecx,0x30(%esi)
4906b8:	75 36                	jne    0x4906f0
4906ba:	8b ce                	mov    %esi,%ecx
4906bc:	e8 df 8a fc ff       	call   0x4591a0
4906c1:	83 f8 0b             	cmp    $0xb,%eax
4906c4:	75 27                	jne    0x4906ed
4906c6:	83 7e 20 01          	cmpl   $0x1,0x20(%esi)
4906ca:	75 21                	jne    0x4906ed
4906cc:	8b 46 18             	mov    0x18(%esi),%eax
4906cf:	85 c0                	test   %eax,%eax
4906d1:	74 15                	je     0x4906e8
4906d3:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4906d6:	89 75 fc             	mov    %esi,-0x4(%ebp)
4906d9:	51                   	push   %ecx
4906da:	68 40 98 49 00       	push   $0x499840
4906df:	50                   	push   %eax
4906e0:	e8 6b a1 fe ff       	call   0x47a850
4906e5:	83 c4 0c             	add    $0xc,%esp
4906e8:	39 7e 3c             	cmp    %edi,0x3c(%esi)
4906eb:	74 12                	je     0x4906ff
4906ed:	8b 4d 08             	mov    0x8(%ebp),%ecx
4906f0:	83 45 0c 58          	addl   $0x58,0xc(%ebp)
4906f4:	43                   	inc    %ebx
4906f5:	3b 5f 4c             	cmp    0x4c(%edi),%ebx
4906f8:	7d 89                	jge    0x490683
4906fa:	8b 45 0c             	mov    0xc(%ebp),%eax