49440c:	e8 27 30 f7 ff       	call   0x407438
494411:	33 c0                	xor    %eax,%eax
494413:	5a                   	pop    %edx
494414:	59                   	pop    %ecx
494415:	59                   	pop    %ecx
494416:	64 89 10             	mov    %edx,%fs:(%eax)
494419:	68 36 44 49 00       	push   $0x494436
49441e:	8b 45 f0             	mov    -0x10(%ebp),%eax
494421:	e8 52 f6 f6 ff       	call   0x403a78
494426:	8b 45 ec             	mov    -0x14(%ebp),%eax
494429:	e8 4a f6 f6 ff       	call   0x403a78
49442e:	c3                   	ret
49442f:	e9 d8 fd f6 ff       	jmp    0x40420c
494434:	eb e8                	jmp    0x49441e
494436:	8b 45 fc             	mov    -0x4(%ebp),%eax
494439:	8b 40 08             	mov    0x8(%eax),%eax
49443c:	b9 00 00 00 20       	mov    $0x20000000,%ecx
494441:	8b 55 f4             	mov    -0xc(%ebp),%edx
494444:	e8 0b f7 ff ff       	call   0x493b54
494449:	33 d2                	xor    %edx,%edx
49444b:	8a 55 fb             	mov    -0x5(%ebp),%dl
49444e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
494451:	89 44 91 0c          	mov    %eax,0xc(%ecx,%edx,4)
494455:	33 c0                	xor    %eax,%eax
494457:	5a                   	pop    %edx
494458:	59                   	pop    %ecx
494459:	59                   	pop    %ecx
49445a:	64 89 10             	mov    %edx,%fs:(%eax)
49445d:	68 72 44 49 00       	push   $0x494472
494462:	8b 45 f4             	mov    -0xc(%ebp),%eax
494465:	e8 0e f6 f6 ff       	call   0x403a78
49446a:	c3                   	ret
49446b:	e9 9c fd f6 ff       	jmp    0x40420c
494470:	eb f0                	jmp    0x494462
494472:	33 c0                	xor    %eax,%eax
494474:	8a 45 fb             	mov    -0x5(%ebp),%al
494477:	8b 55 fc             	mov    -0x4(%ebp),%edx
49447a:	8b 5c 82 0c          	mov    0xc(%edx,%eax,4),%ebx
49447e:	8b 45 fc             	mov    -0x4(%ebp),%eax
494481:	8b 40 04             	mov    0x4(%eax),%eax
494484:	e8 cb 8f f9 ff       	call   0x42d454
494489:	8b c3                	mov    %ebx,%eax
49448b:	5f                   	pop    %edi
49448c:	5e                   	pop    %esi
49448d:	5b                   	pop    %ebx
49448e:	8b e5                	mov    %ebp,%esp
494490:	5d                   	pop    %ebp
494491:	c3                   	ret
494492:	8b c0                	mov    %eax,%eax
494494:	55                   	push   %ebp
494495:	8b ec                	mov    %esp,%ebp
494497:	51                   	push   %ecx
494498:	53                   	push   %ebx
494499:	56                   	push   %esi
49449a:	57                   	push   %edi
49449b:	8b f1                	mov    %ecx,%esi
49449d:	89 55 fc             	mov    %edx,-0x4(%ebp)
4944a0:	8b d8                	mov    %eax,%ebx
4944a2:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
4944a6:	0f 84 9a 00 00 00    	je     0x494546
4944ac:	8b 43 04             	mov    0x4(%ebx),%eax
4944af:	8b 10                	mov    (%eax),%edx
4944b1:	ff 52 2c             	call   *0x2c(%edx)
4944b4:	85 c0                	test   %eax,%eax
4944b6:	0f 84 8a 00 00 00    	je     0x494546
4944bc:	8b 43 04             	mov    0x4(%ebx),%eax
4944bf:	8b 10                	mov    (%eax),%edx
4944c1:	ff 52 20             	call   *0x20(%edx)
4944c4:	85 c0                	test   %eax,%eax
4944c6:	74 7e                	je     0x494546
4944c8:	8a 55 0c             	mov    0xc(%ebp),%dl
4944cb:	8b c3                	mov    %ebx,%eax
4944cd:	e8 ea f9 ff ff       	call   0x493ebc
4944d2:	8b f8                	mov    %eax,%edi
4944d4:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
4944d8:	75 06                	jne    0x4944e0
4944da:	80 7d 0c 03          	cmpb   $0x3,0xc(%ebp)
4944de:	75 31                	jne    0x494511
4944e0:	6a 01                	push   $0x1
4944e2:	68 ff ff ff 1f       	push   $0x1fffffff
4944e7:	68 ff ff ff 1f       	push   $0x1fffffff
4944ec:	6a 00                	push   $0x0
4944ee:	6a 00                	push   $0x0
4944f0:	8b 46 04             	mov    0x4(%esi),%eax
4944f3:	50                   	push   %eax
4944f4:	8b 06                	mov    (%esi),%eax
4944f6:	50                   	push   %eax
4944f7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4944fa:	e8 c1 47 f9 ff       	call   0x428cc0
4944ff:	50                   	push   %eax
494500:	57                   	push   %edi
494501:	8b 43 08             	mov    0x8(%ebx),%eax
494504:	e8 e3 16 fc ff       	call   0x455bec
494509:	50                   	push   %eax
49450a:	e8 29 b9 f9 ff       	call   0x42fe38
49450f:	eb 35                	jmp    0x494546
494511:	6a 00                	push   $0x0
494513:	68 ff ff ff 1f       	push   $0x1fffffff
494518:	b8 0f 00 00 80       	mov    $0x8000000f,%eax
49451d:	e8 b6 30 f9 ff       	call   0x4275d8
494522:	50                   	push   %eax
494523:	6a 00                	push   $0x0
494525:	6a 00                	push   $0x0
494527:	8b 46 04             	mov    0x4(%esi),%eax
49452a:	50                   	push   %eax
49452b:	8b 06                	mov    (%esi),%eax
49452d:	50                   	push   %eax
49452e:	8b 45 fc             	mov    -0x4(%ebp),%eax
494531:	e8 8a 47 f9 ff       	call   0x428cc0
494536:	50                   	push   %eax
494537:	57                   	push   %edi
494538:	8b 43 08             	mov    0x8(%ebx),%eax
49453b:	e8 ac 16 fc ff       	call   0x455bec
494540:	50                   	push   %eax
494541:	e8 f2 b8 f9 ff       	call   0x42fe38
494546:	5f                   	pop    %edi
494547:	5e                   	pop    %esi
494548:	5b                   	pop    %ebx
494549:	59                   	pop    %ecx
49454a:	5d                   	pop    %ebp
49454b:	c2 08 00             	ret    $0x8
49454e:	8b c0                	mov    %eax,%eax
494550:	55                   	push   %ebp
494551:	8b ec                	mov    %esp,%ebp
494553:	83 c4 f0             	add    $0xfffffff0,%esp
494556:	53                   	push   %ebx
494557:	56                   	push   %esi
494558:	57                   	push   %edi
494559:	8b 75 10             	mov    0x10(%ebp),%esi
49455c:	8d 7d f0             	lea    -0x10(%ebp),%edi
49455f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
494560:	a5                   	movsl  %ds:(%esi),%es:(%edi)
494561:	a5                   	movsl  %ds:(%esi),%es:(%edi)
494562:	a5                   	movsl  %ds:(%esi),%es:(%edi)
494563:	8b f1                	mov    %ecx,%esi
494565:	8b da                	mov    %edx,%ebx
494567:	8b 7d 08             	mov    0x8(%ebp),%edi
49456a:	b2 01                	mov    $0x1,%dl
49456c:	8b 43 14             	mov    0x14(%ebx),%eax
49456f:	e8 2c 3e f9 ff       	call   0x4283a0
494574:	80 7d 0c 01          	cmpb   $0x1,0xc(%ebp)
494578:	0f 85 82 00 00 00    	jne    0x494600
49457e:	6a 01                	push   $0x1
494580:	6a 01                	push   $0x1
494582:	8d 45 f0             	lea    -0x10(%ebp),%eax
494585:	50                   	push   %eax
494586:	e8 ed 36 f7 ff       	call   0x407c78
49458b:	ba 14 00 00 80       	mov    $0x80000014,%edx
494590:	8b 43 0c             	mov    0xc(%ebx),%eax
494593:	e8 00 35 f9 ff       	call   0x427a98
494598:	8b c7                	mov    %edi,%eax
49459a:	83 c8 05             	or     $0x5,%eax
49459d:	50                   	push   %eax
49459e:	8d 45 f0             	lea    -0x10(%ebp),%eax
4945a1:	50                   	push   %eax
4945a2:	8b c6                	mov    %esi,%eax
4945a4:	e8 77 05 f7 ff       	call   0x404b20
4945a9:	50                   	push   %eax
4945aa:	8b c6                	mov    %esi,%eax
4945ac:	e8 67 07 f7 ff       	call   0x404d18
4945b1:	50                   	push   %eax
4945b2:	8b c3                	mov    %ebx,%eax
4945b4:	e8 07 47 f9 ff       	call   0x428cc0
4945b9:	50                   	push   %eax
4945ba:	e8 79 33 f7 ff       	call   0x407938
4945bf:	6a ff                	push   $0xffffffff
4945c1:	6a ff                	push   $0xffffffff
4945c3:	8d 45 f0             	lea    -0x10(%ebp),%eax
4945c6:	50                   	push   %eax
4945c7:	e8 ac 36 f7 ff       	call   0x407c78
4945cc:	ba 10 00 00 80       	mov    $0x80000010,%edx
4945d1:	8b 43 0c             	mov    0xc(%ebx),%eax
4945d4:	e8 bf 34 f9 ff       	call   0x427a98
4945d9:	83 cf 05             	or     $0x5,%edi
4945dc:	57                   	push   %edi
4945dd:	8d 45 f0             	lea    -0x10(%ebp),%eax
4945e0:	50                   	push   %eax
4945e1:	8b c6                	mov    %esi,%eax
4945e3:	e8 38 05 f7 ff       	call   0x404b20
4945e8:	50                   	push   %eax
4945e9:	8b c6                	mov    %esi,%eax
4945eb:	e8 28 07 f7 ff       	call   0x404d18
4945f0:	50                   	push   %eax
4945f1:	8b c3                	mov    %ebx,%eax
4945f3:	e8 c8 46 f9 ff       	call   0x428cc0
4945f8:	50                   	push   %eax
4945f9:	e8 3a 33 f7 ff       	call   0x407938
4945fe:	eb 25                	jmp    0x494625
494600:	83 cf 05             	or     $0x5,%edi
494603:	57                   	push   %edi
494604:	8d 45 f0             	lea    -0x10(%ebp),%eax
494607:	50                   	push   %eax
494608:	8b c6                	mov    %esi,%eax
49460a:	e8 11 05 f7 ff       	call   0x404b20
49460f:	50                   	push   %eax
494610:	8b c6                	mov    %esi,%eax
494612:	e8 01 07 f7 ff       	call   0x404d18
494617:	50                   	push   %eax
494618:	8b c3                	mov    %ebx,%eax
49461a:	e8 a1 46 f9 ff       	call   0x428cc0
49461f:	50                   	push   %eax
494620:	e8 13 33 f7 ff       	call   0x407938
494625:	5f                   	pop    %edi
494626:	5e                   	pop    %esi
494627:	5b                   	pop    %ebx
494628:	8b e5                	mov    %ebp,%esp
49462a:	5d                   	pop    %ebp
49462b:	c2 0c 00             	ret    $0xc
49462e:	8b c0                	mov    %eax,%eax
494630:	55                   	push   %ebp
494631:	8b ec                	mov    %esp,%ebp
494633:	83 c4 c0             	add    $0xffffffc0,%esp
494636:	53                   	push   %ebx
494637:	56                   	push   %esi
494638:	57                   	push   %edi
494639:	8b d9                	mov    %ecx,%ebx
49463b:	89 55 f8             	mov    %edx,-0x8(%ebp)
49463e:	89 45 fc             	mov    %eax,-0x4(%ebp)
494641:	8b 7d 0c             	mov    0xc(%ebp),%edi
494644:	8b 75 10             	mov    0x10(%ebp),%esi
494647:	8b 45 08             	mov    0x8(%ebp),%eax
49464a:	83 e0 02             	and    $0x2,%eax
49464d:	83 f8 02             	cmp    $0x2,%eax
494650:	75 16                	jne    0x494668
494652:	80 7d 1c 00          	cmpb   $0x0,0x1c(%ebp)
494656:	75 06                	jne    0x49465e
494658:	c6 45 1c 01          	movb   $0x1,0x1c(%ebp)
49465c:	eb 0a                	jmp    0x494668
49465e:	80 7d 1c 01          	cmpb   $0x1,0x1c(%ebp)
494662:	75 04                	jne    0x494668
494664:	c6 45 1c 00          	movb   $0x0,0x1c(%ebp)
494668:	8b 53 0c             	mov    0xc(%ebx),%edx
49466b:	2b 53 04             	sub    0x4(%ebx),%edx
49466e:	8b 43 08             	mov    0x8(%ebx),%eax
494671:	2b 03                	sub    (%ebx),%eax
494673:	8d 4d e8             	lea    -0x18(%ebp),%ecx
494676:	e8 d1 5f f8 ff       	call   0x41a64c
49467b:	8b 45 fc             	mov    -0x4(%ebp),%eax
49467e:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
494682:	74 2e                	je     0x4946b2
494684:	8b 45 fc             	mov    -0x4(%ebp),%eax
494687:	8b 40 04             	mov    0x4(%eax),%eax
49468a:	8b 10                	mov    (%eax),%edx
49468c:	ff 52 20             	call   *0x20(%edx)
49468f:	50                   	push   %eax
494690:	8b 45 fc             	mov    -0x4(%ebp),%eax
494693:	8b 40 04             	mov    0x4(%eax),%eax
494696:	8b 10                	mov    (%eax),%edx
494698:	ff 52 2c             	call   *0x2c(%edx)
49469b:	8b 55 fc             	mov    -0x4(%ebp),%edx
49469e:	0f b6 52 20          	movzbl 0x20(%edx),%edx
4946a2:	8b ca                	mov    %edx,%ecx
4946a4:	99                   	cltd
4946a5:	f7 f9                	idiv   %ecx
4946a7:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4946aa:	5a                   	pop    %edx
4946ab:	e8 9c 5f f8 ff       	call   0x41a64c
4946b0:	eb 0c                	jmp    0x4946be
4946b2:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4946b5:	33 d2                	xor    %edx,%edx
4946b7:	33 c0                	xor    %eax,%eax
4946b9:	e8 8e 5f f8 ff       	call   0x41a64c
4946be:	8b 45 20             	mov    0x20(%ebp),%eax
4946c1:	e8 5a 04 f7 ff       	call   0x404b20
4946c6:	85 c0                	test   %eax,%eax
4946c8:	7e 5e                	jle    0x494728
4946ca:	6a 00                	push   $0x0
4946cc:	8d 45 c0             	lea    -0x40(%ebp),%eax
4946cf:	50                   	push   %eax
4946d0:	8b 4b 08             	mov    0x8(%ebx),%ecx
4946d3:	2b 0b                	sub    (%ebx),%ecx
4946d5:	33 d2                	xor    %edx,%edx
4946d7:	33 c0                	xor    %eax,%eax
4946d9:	e8 96 5f f8 ff       	call   0x41a674
4946de:	56                   	push   %esi
4946df:	57                   	push   %edi
4946e0:	8d 75 c0             	lea    -0x40(%ebp),%esi
4946e3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4946e4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4946e5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4946e6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4946e7:	5f                   	pop    %edi
4946e8:	5e                   	pop    %esi
4946e9:	8b 45 08             	mov    0x8(%ebp),%eax
4946ec:	0d 00 04 00 00       	or     $0x400,%eax
4946f1:	50                   	push   %eax
4946f2:	57                   	push   %edi
4946f3:	8b 45 20             	mov    0x20(%ebp),%eax
4946f6:	e8 25 04 f7 ff       	call   0x404b20
4946fb:	50                   	push   %eax
4946fc:	8b 45 20             	mov    0x20(%ebp),%eax
4946ff:	e8 14 06 f7 ff       	call   0x404d18
494704:	50                   	push   %eax
494705:	8b 45 f8             	mov    -0x8(%ebp),%eax
494708:	e8 b3 45 f9 ff       	call   0x428cc0
49470d:	50                   	push   %eax
49470e:	e8 25 32 f7 ff       	call   0x407938
494713:	8b 57 0c             	mov    0xc(%edi),%edx
494716:	2b 57 04             	sub    0x4(%edi),%edx
494719:	8b 47 08             	mov    0x8(%edi),%eax
49471c:	2b 07                	sub    (%edi),%eax
49471e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
494721:	e8 26 5f f8 ff       	call   0x41a64c
494726:	eb 28                	jmp    0x494750
494728:	6a 00                	push   $0x0
49472a:	8d 45 c0             	lea    -0x40(%ebp),%eax
49472d:	50                   	push   %eax
49472e:	33 c9                	xor    %ecx,%ecx
494730:	33 d2                	xor    %edx,%edx
494732:	33 c0                	xor    %eax,%eax
494734:	e8 3b 5f f8 ff       	call   0x41a674
494739:	56                   	push   %esi
49473a:	57                   	push   %edi
49473b:	8d 75 c0             	lea    -0x40(%ebp),%esi
49473e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
49473f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
494740:	a5                   	movsl  %ds:(%esi),%es:(%edi)
494741:	a5                   	movsl  %ds:(%esi),%es:(%edi)
494742:	5f                   	pop    %edi
494743:	5e                   	pop    %esi
494744:	8d 4d d8             	lea    -0x28(%ebp),%ecx
494747:	33 d2                	xor    %edx,%edx
494749:	33 c0                	xor    %eax,%eax
49474b:	e8 fc 5e f8 ff       	call   0x41a64c
494750:	8a 45 1c             	mov    0x1c(%ebp),%al
494753:	2c 02                	sub    $0x2,%al
494755:	73 23                	jae    0x49477a
494757:	8b 45 ec             	mov    -0x14(%ebp),%eax
49475a:	8b d0                	mov    %eax,%edx
49475c:	2b 55 e4             	sub    -0x1c(%ebp),%edx
49475f:	42                   	inc    %edx
494760:	d1 fa                	sar    $1,%edx
494762:	79 03                	jns    0x494767
494764:	83 d2 00             	adc    $0x0,%edx
494767:	89 56 04             	mov    %edx,0x4(%esi)
49476a:	2b 45 dc             	sub    -0x24(%ebp),%eax
49476d:	40                   	inc    %eax
49476e:	d1 f8                	sar    $1,%eax
494770:	79 03                	jns    0x494775
494772:	83 d0 00             	adc    $0x0,%eax
494775:	89 45 f4             	mov    %eax,-0xc(%ebp)
494778:	eb 20                	jmp    0x49479a
49477a:	8b 45 e8             	mov    -0x18(%ebp),%eax
49477d:	8b d0                	mov    %eax,%edx
49477f:	2b 55 e0             	sub    -0x20(%ebp),%edx
494782:	42                   	inc    %edx
494783:	d1 fa                	sar    $1,%edx
494785:	79 03                	jns    0x49478a
494787:	83 d2 00             	adc    $0x0,%edx
49478a:	89 16                	mov    %edx,(%esi)