46034e:	8d 45 c0             	lea    -0x40(%ebp),%eax
460351:	6a 00                	push   $0x0
460353:	50                   	push   %eax
460354:	8b f1                	mov    %ecx,%esi
460356:	e8 e5 7e fb ff       	call   0x418240
46035b:	8b 45 08             	mov    0x8(%ebp),%eax
46035e:	83 c4 0c             	add    $0xc,%esp
460361:	6a 20                	push   $0x20
460363:	ff 75 0c             	push   0xc(%ebp)
460366:	89 45 c0             	mov    %eax,-0x40(%ebp)
460369:	8d 45 dc             	lea    -0x24(%ebp),%eax
46036c:	50                   	push   %eax
46036d:	c6 45 d7 01          	movb   $0x1,-0x29(%ebp)
460371:	ff 15 4c 03 4b 00    	call   *0x4b034c
460377:	ff 75 10             	push   0x10(%ebp)
46037a:	8d 45 c0             	lea    -0x40(%ebp),%eax
46037d:	50                   	push   %eax
46037e:	8b ce                	mov    %esi,%ecx
460380:	e8 e3 fe ff ff       	call   0x460268
460385:	8b 4d fc             	mov    -0x4(%ebp),%ecx
460388:	5e                   	pop    %esi
460389:	e8 50 78 fb ff       	call   0x417bde
46038e:	c9                   	leave
46038f:	c2 0c 00             	ret    $0xc
460392:	b8 88 ca 48 00       	mov    $0x48ca88,%eax
460397:	c3                   	ret
460398:	8b 01                	mov    (%ecx),%eax
46039a:	56                   	push   %esi
46039b:	8b 71 5c             	mov    0x5c(%ecx),%esi
46039e:	ff 90 38 01 00 00    	call   *0x138(%eax)
4603a4:	85 c0                	test   %eax,%eax
4603a6:	74 10                	je     0x4603b8
4603a8:	8b 10                	mov    (%eax),%edx
4603aa:	8b c8                	mov    %eax,%ecx
4603ac:	ff 92 a8 00 00 00    	call   *0xa8(%edx)
4603b2:	85 c0                	test   %eax,%eax
4603b4:	74 02                	je     0x4603b8
4603b6:	8b f0                	mov    %eax,%esi
4603b8:	8b c6                	mov    %esi,%eax
4603ba:	5e                   	pop    %esi
4603bb:	c3                   	ret
4603bc:	56                   	push   %esi
4603bd:	57                   	push   %edi
4603be:	8b 7c 24 0c          	mov    0xc(%esp),%edi
4603c2:	8b 47 04             	mov    0x4(%edi),%eax
4603c5:	3d 01 02 00 00       	cmp    $0x201,%eax
4603ca:	8b f1                	mov    %ecx,%esi
4603cc:	74 07                	je     0x4603d5
4603ce:	3d a1 00 00 00       	cmp    $0xa1,%eax
4603d3:	75 07                	jne    0x4603dc
4603d5:	ff 37                	push   (%edi)
4603d7:	e8 d8 0e ff ff       	call   0x4512b4
4603dc:	57                   	push   %edi
4603dd:	8b ce                	mov    %esi,%ecx
4603df:	e8 3b 2e fe ff       	call   0x44321f
4603e4:	85 c0                	test   %eax,%eax
4603e6:	75 40                	jne    0x460428
4603e8:	39 46 7c             	cmp    %eax,0x7c(%esi)
4603eb:	74 0d                	je     0x4603fa
4603ed:	8b 4e 7c             	mov    0x7c(%esi),%ecx
4603f0:	8b 01                	mov    (%ecx),%eax
4603f2:	57                   	push   %edi
4603f3:	ff 50 54             	call   *0x54(%eax)
4603f6:	85 c0                	test   %eax,%eax
4603f8:	75 2e                	jne    0x460428
4603fa:	8b 47 04             	mov    0x4(%edi),%eax
4603fd:	3d 00 01 00 00       	cmp    $0x100,%eax
460402:	72 29                	jb     0x46042d
460404:	3d 09 01 00 00       	cmp    $0x109,%eax
460409:	77 22                	ja     0x46042d
46040b:	8b 06                	mov    (%esi),%eax
46040d:	8b ce                	mov    %esi,%ecx
46040f:	ff 90 64 01 00 00    	call   *0x164(%eax)
460415:	85 c0                	test   %eax,%eax
460417:	74 14                	je     0x46042d
460419:	57                   	push   %edi
46041a:	50                   	push   %eax
46041b:	ff 76 1c             	push   0x1c(%esi)
46041e:	ff 15 4c 08 4b 00    	call   *0x4b084c
460424:	85 c0                	test   %eax,%eax
460426:	74 05                	je     0x46042d
460428:	33 c0                	xor    %eax,%eax
46042a:	40                   	inc    %eax
46042b:	eb 02                	jmp    0x46042f
46042d:	33 c0                	xor    %eax,%eax
46042f:	5f                   	pop    %edi
460430:	5e                   	pop    %esi
460431:	c2 04 00             	ret    $0x4
460434:	85 c9                	test   %ecx,%ecx
460436:	74 07                	je     0x46043f
460438:	8b 01                	mov    (%ecx),%eax
46043a:	6a 01                	push   $0x1
46043c:	ff 50 04             	call   *0x4(%eax)
46043f:	c3                   	ret
460440:	8b 81 a0 00 00 00    	mov    0xa0(%ecx),%eax
460446:	85 c0                	test   %eax,%eax
460448:	74 07                	je     0x460451
46044a:	05 00 00 02 00       	add    $0x20000,%eax
46044f:	eb 02                	jmp    0x460453
460451:	33 c0                	xor    %eax,%eax
460453:	c2 08 00             	ret    $0x8
460456:	8b 44 24 08          	mov    0x8(%esp),%eax
46045a:	39 44 24 04          	cmp    %eax,0x4(%esp)
46045e:	74 0d                	je     0x46046d
460460:	50                   	push   %eax
460461:	e8 62 5a fe ff       	call   0x445ec8
460466:	85 c0                	test   %eax,%eax
460468:	75 f0                	jne    0x46045a
46046a:	c2 08 00             	ret    $0x8
46046d:	33 c0                	xor    %eax,%eax
46046f:	40                   	inc    %eax
460470:	eb f8                	jmp    0x46046a
460472:	51                   	push   %ecx
460473:	53                   	push   %ebx
460474:	8b d9                	mov    %ecx,%ebx
460476:	8d 83 b4 00 00 00    	lea    0xb4(%ebx),%eax
46047c:	ff 00                	incl   (%eax)
46047e:	83 38 01             	cmpl   $0x1,(%eax)
460481:	0f 87 fb 00 00 00    	ja     0x460582
460487:	55                   	push   %ebp
460488:	56                   	push   %esi
460489:	57                   	push   %edi
46048a:	e8 7e 5a fe ff       	call   0x445f0d
46048f:	6a 05                	push   $0x5
460491:	89 44 24 14          	mov    %eax,0x14(%esp)
460495:	33 ed                	xor    %ebp,%ebp
460497:	ff 15 60 08 4b 00    	call   *0x4b0860
46049d:	8b 3d 4c 07 4b 00    	mov    0x4b074c,%edi
4604a3:	50                   	push   %eax
4604a4:	ff d7                	call   *%edi
4604a6:	8b f0                	mov    %eax,%esi
4604a8:	85 f6                	test   %esi,%esi
4604aa:	0f 84 cf 00 00 00    	je     0x46057f
4604b0:	56                   	push   %esi
4604b1:	ff 15 e8 07 4b 00    	call   *0x4b07e8
4604b7:	85 c0                	test   %eax,%eax
4604b9:	74 30                	je     0x4604eb
4604bb:	56                   	push   %esi
4604bc:	e8 08 48 fe ff       	call   0x444cc9
4604c1:	85 c0                	test   %eax,%eax
4604c3:	74 26                	je     0x4604eb
4604c5:	8b 44 24 10          	mov    0x10(%esp),%eax
4604c9:	56                   	push   %esi
4604ca:	ff 70 1c             	push   0x1c(%eax)
4604cd:	e8 84 ff ff ff       	call   0x460456
4604d2:	85 c0                	test   %eax,%eax
4604d4:	74 15                	je     0x4604eb
4604d6:	6a 00                	push   $0x0
4604d8:	6a 00                	push   $0x0
4604da:	68 6c 03 00 00       	push   $0x36c
4604df:	56                   	push   %esi
4604e0:	ff 15 98 08 4b 00    	call   *0x4b0898
4604e6:	85 c0                	test   %eax,%eax
4604e8:	75 01                	jne    0x4604eb
4604ea:	45                   	inc    %ebp
4604eb:	6a 02                	push   $0x2
4604ed:	56                   	push   %esi
4604ee:	ff d7                	call   *%edi
4604f0:	8b f0                	mov    %eax,%esi
4604f2:	85 f6                	test   %esi,%esi
4604f4:	75 ba                	jne    0x4604b0
4604f6:	85 ed                	test   %ebp,%ebp
4604f8:	0f 84 81 00 00 00    	je     0x46057f
4604fe:	8d 04 ad 04 00 00 00 	lea    0x4(,%ebp,4),%eax
460505:	50                   	push   %eax
460506:	e8 4a fb fd ff       	call   0x440055
46050b:	59                   	pop    %ecx
46050c:	6a 05                	push   $0x5
46050e:	89 83 b8 00 00 00    	mov    %eax,0xb8(%ebx)
460514:	33 ed                	xor    %ebp,%ebp
460516:	ff 15 60 08 4b 00    	call   *0x4b0860
46051c:	50                   	push   %eax
46051d:	eb 4f                	jmp    0x46056e
46051f:	56                   	push   %esi
460520:	ff 15 e8 07 4b 00    	call   *0x4b07e8
460526:	85 c0                	test   %eax,%eax
460528:	74 41                	je     0x46056b
46052a:	56                   	push   %esi
46052b:	e8 99 47 fe ff       	call   0x444cc9
460530:	85 c0                	test   %eax,%eax
460532:	74 37                	je     0x46056b
460534:	8b 44 24 10          	mov    0x10(%esp),%eax
460538:	56                   	push   %esi
460539:	ff 70 1c             	push   0x1c(%eax)
46053c:	e8 15 ff ff ff       	call   0x460456
460541:	85 c0                	test   %eax,%eax
460543:	74 26                	je     0x46056b
460545:	6a 00                	push   $0x0
460547:	6a 00                	push   $0x0
460549:	68 6c 03 00 00       	push   $0x36c
46054e:	56                   	push   %esi
46054f:	ff 15 98 08 4b 00    	call   *0x4b0898
460555:	85 c0                	test   %eax,%eax
460557:	75 12                	jne    0x46056b
460559:	50                   	push   %eax
46055a:	56                   	push   %esi
46055b:	ff 15 88 08 4b 00    	call   *0x4b0888
460561:	8b 83 b8 00 00 00    	mov    0xb8(%ebx),%eax
460567:	89 34 a8             	mov    %esi,(%eax,%ebp,4)
46056a:	45                   	inc    %ebp
46056b:	6a 02                	push   $0x2
46056d:	56                   	push   %esi
46056e:	ff d7                	call   *%edi
460570:	8b f0                	mov    %eax,%esi
460572:	85 f6                	test   %esi,%esi
460574:	75 a9                	jne    0x46051f
460576:	8b 83 b8 00 00 00    	mov    0xb8(%ebx),%eax
46057c:	21 34 a8             	and    %esi,(%eax,%ebp,4)
46057f:	5f                   	pop    %edi
460580:	5e                   	pop    %esi
460581:	5d                   	pop    %ebp
460582:	5b                   	pop    %ebx
460583:	59                   	pop    %ecx
460584:	c3                   	ret
460585:	56                   	push   %esi
460586:	8b f1                	mov    %ecx,%esi
460588:	8d 86 b4 00 00 00    	lea    0xb4(%esi),%eax
46058e:	8b 08                	mov    (%eax),%ecx
460590:	85 c9                	test   %ecx,%ecx
460592:	74 5e                	je     0x4605f2
460594:	49                   	dec    %ecx
460595:	89 08                	mov    %ecx,(%eax)
460597:	75 59                	jne    0x4605f2
460599:	8b 86 b8 00 00 00    	mov    0xb8(%esi),%eax
46059f:	85 c0                	test   %eax,%eax
4605a1:	74 4f                	je     0x4605f2
4605a3:	83 38 00             	cmpl   $0x0,(%eax)
4605a6:	74 37                	je     0x4605df
4605a8:	57                   	push   %edi
4605a9:	33 ff                	xor    %edi,%edi
4605ab:	8b 86 b8 00 00 00    	mov    0xb8(%esi),%eax
4605b1:	ff 34 38             	push   (%eax,%edi,1)
4605b4:	ff 15 64 07 4b 00    	call   *0x4b0764
4605ba:	85 c0                	test   %eax,%eax
4605bc:	74 11                	je     0x4605cf
4605be:	8b 86 b8 00 00 00    	mov    0xb8(%esi),%eax
4605c4:	6a 01                	push   $0x1
4605c6:	ff 34 38             	push   (%eax,%edi,1)
4605c9:	ff 15 88 08 4b 00    	call   *0x4b0888
4605cf:	8b 86 b8 00 00 00    	mov    0xb8(%esi),%eax
4605d5:	83 c7 04             	add    $0x4,%edi
4605d8:	83 3c 07 00          	cmpl   $0x0,(%edi,%eax,1)
4605dc:	75 cd                	jne    0x4605ab
4605de:	5f                   	pop    %edi
4605df:	ff b6 b8 00 00 00    	push   0xb8(%esi)
4605e5:	e8 96 fa fd ff       	call   0x440080
4605ea:	83 a6 b8 00 00 00 00 	andl   $0x0,0xb8(%esi)
4605f1:	59                   	pop    %ecx
4605f2:	5e                   	pop    %esi
4605f3:	c3                   	ret
4605f4:	51                   	push   %ecx
4605f5:	55                   	push   %ebp
4605f6:	56                   	push   %esi
4605f7:	6a 05                	push   $0x5
4605f9:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
4605fd:	ff 15 60 08 4b 00    	call   *0x4b0860
460603:	8b 2d 4c 07 4b 00    	mov    0x4b074c,%ebp
460609:	50                   	push   %eax
46060a:	ff d5                	call   *%ebp
46060c:	8b f0                	mov    %eax,%esi
46060e:	85 f6                	test   %esi,%esi
460610:	0f 84 81 00 00 00    	je     0x460697
460616:	53                   	push   %ebx
460617:	8b 1d ec 07 4b 00    	mov    0x4b07ec,%ebx
46061d:	57                   	push   %edi
46061e:	56                   	push   %esi
46061f:	e8 a5 46 fe ff       	call   0x444cc9
460624:	8b f8                	mov    %eax,%edi
460626:	85 ff                	test   %edi,%edi
460628:	74 60                	je     0x46068a
46062a:	8b 44 24 10          	mov    0x10(%esp),%eax
46062e:	8b 40 1c             	mov    0x1c(%eax),%eax
460631:	3b c6                	cmp    %esi,%eax
460633:	74 55                	je     0x46068a
460635:	56                   	push   %esi
460636:	50                   	push   %eax
460637:	e8 1a fe ff ff       	call   0x460456
46063c:	85 c0                	test   %eax,%eax
46063e:	74 4a                	je     0x46068a
460640:	6a f0                	push   $0xfffffff0
460642:	56                   	push   %esi
460643:	ff 15 14 08 4b 00    	call   *0x4b0814
460649:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
46064e:	75 17                	jne    0x460667
460650:	25 00 00 00 18       	and    $0x18000000,%eax
460655:	3d 00 00 00 10       	cmp    $0x10000000,%eax
46065a:	75 2e                	jne    0x46068a
46065c:	6a 00                	push   $0x0
46065e:	56                   	push   %esi
46065f:	ff d3                	call   *%ebx
460661:	83 4f 38 02          	orl    $0x2,0x38(%edi)
460665:	eb 23                	jmp    0x46068a
460667:	a9 00 00 00 18       	test   $0x18000000,%eax
46066c:	75 1c                	jne    0x46068a
46066e:	f6 47 38 02          	testb  $0x2,0x38(%edi)
460672:	74 16                	je     0x46068a
460674:	8b 44 24 10          	mov    0x10(%esp),%eax
460678:	83 b8 b0 00 00 00 00 	cmpl   $0x0,0xb0(%eax)
46067f:	75 09                	jne    0x46068a
460681:	6a 04                	push   $0x4
460683:	56                   	push   %esi
460684:	ff d3                	call   *%ebx
460686:	83 67 38 fd          	andl   $0xfffffffd,0x38(%edi)
46068a:	6a 02                	push   $0x2
46068c:	56                   	push   %esi
46068d:	ff d5                	call   *%ebp
46068f:	8b f0                	mov    %eax,%esi
460691:	85 f6                	test   %esi,%esi
460693:	75 89                	jne    0x46061e
460695:	5f                   	pop    %edi
460696:	5b                   	pop    %ebx
460697:	5e                   	pop    %esi
460698:	5d                   	pop    %ebp
460699:	59                   	pop    %ecx
46069a:	c2 04 00             	ret    $0x4
46069d:	56                   	push   %esi
46069e:	8b 74 24 08          	mov    0x8(%esp),%esi
4606a2:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
4606a6:	75 0e                	jne    0x4606b6
4606a8:	6a 08                	push   $0x8
4606aa:	e8 4c 42 fe ff       	call   0x4448fb
4606af:	c7 46 28 8c af 48 00 	movl   $0x48af8c,0x28(%esi)
4606b6:	8b 46 20             	mov    0x20(%esi),%eax
4606b9:	84 e4                	test   %ah,%ah
4606bb:	79 08                	jns    0x4606c5
4606bd:	0d 00 40 00 00       	or     $0x4000,%eax
4606c2:	89 46 20             	mov    %eax,0x20(%esi)
4606c5:	80 4e 2d 02          	orb    $0x2,0x2d(%esi)
4606c9:	33 c0                	xor    %eax,%eax
4606cb:	40                   	inc    %eax
4606cc:	5e                   	pop    %esi
4606cd:	c2 04 00             	ret    $0x4
4606d0:	8b 44 24 04          	mov    0x4(%esp),%eax
4606d4:	85 c0                	test   %eax,%eax
4606d6:	56                   	push   %esi
4606d7:	8b f1                	mov    %ecx,%esi
4606d9:	75 1d                	jne    0x4606f8
4606db:	8b 06                	mov    (%esi),%eax
4606dd:	ff 90 38 01 00 00    	call   *0x138(%eax)
4606e3:	85 c0                	test   %eax,%eax
4606e5:	74 0e                	je     0x4606f5
4606e7:	8b 10                	mov    (%eax),%edx
4606e9:	8b c8                	mov    %eax,%ecx
4606eb:	ff 92 a4 00 00 00    	call   *0xa4(%edx)
4606f1:	85 c0                	test   %eax,%eax
4606f3:	75 03                	jne    0x4606f8
4606f5:	8b 46 58             	mov    0x58(%esi),%eax
4606f8:	50                   	push   %eax
4606f9:	ff 76 1c             	push   0x1c(%esi)
4606fc:	ff 15 44 08 4b 00    	call   *0x4b0844