4c44f4:	eb 3e                	jmp    0x4c4534
4c44f6:	8b 06                	mov    (%esi),%eax
4c44f8:	25 00 10 00 00       	and    $0x1000,%eax
4c44fd:	3d 00 10 00 00       	cmp    $0x1000,%eax
4c4502:	75 30                	jne    0x4c4534
4c4504:	80 7d fe 00          	cmpb   $0x0,-0x2(%ebp)
4c4508:	75 12                	jne    0x4c451c
4c450a:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c450d:	8b 40 10             	mov    0x10(%eax),%eax
4c4510:	ba ff ff ff 00       	mov    $0xffffff,%edx
4c4515:	e8 6a 3a f6 ff       	call   0x427f84
4c451a:	eb 18                	jmp    0x4c4534
4c451c:	8b d6                	mov    %esi,%edx
4c451e:	b1 02                	mov    $0x2,%cl
4c4520:	8b c7                	mov    %edi,%eax
4c4522:	e8 91 ee ff ff       	call   0x4c33b8
4c4527:	8b d0                	mov    %eax,%edx
4c4529:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c452c:	8b 40 10             	mov    0x10(%eax),%eax
4c452f:	e8 50 3a f6 ff       	call   0x427f84
4c4534:	55                   	push   %ebp
4c4535:	f6 45 f4 04          	testb  $0x4,-0xc(%ebp)
4c4539:	0f 95 c2             	setne  %dl
4c453c:	8d 45 c7             	lea    -0x39(%ebp),%eax
4c453f:	e8 cc fc ff ff       	call   0x4c4210
4c4544:	59                   	pop    %ecx
4c4545:	8b 5d c7             	mov    -0x39(%ebp),%ebx
4c4548:	03 5d cf             	add    -0x31(%ebp),%ebx
4c454b:	d1 fb                	sar    $1,%ebx
4c454d:	79 03                	jns    0x4c4552
4c454f:	83 d3 00             	adc    $0x0,%ebx
4c4552:	8b 45 cb             	mov    -0x35(%ebp),%eax
4c4555:	03 45 d3             	add    -0x2d(%ebp),%eax
4c4558:	48                   	dec    %eax
4c4559:	d1 f8                	sar    $1,%eax
4c455b:	79 03                	jns    0x4c4560
4c455d:	83 d0 00             	adc    $0x0,%eax
4c4560:	89 45 e8             	mov    %eax,-0x18(%ebp)
4c4563:	8b d6                	mov    %esi,%edx
4c4565:	b1 01                	mov    $0x1,%cl
4c4567:	8b c7                	mov    %edi,%eax
4c4569:	e8 1a ef ff ff       	call   0x4c3488
4c456e:	8b d0                	mov    %eax,%edx
4c4570:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c4573:	8b 40 10             	mov    0x10(%eax),%eax
4c4576:	e8 09 3a f6 ff       	call   0x427f84
4c457b:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c457e:	8b 40 10             	mov    0x10(%eax),%eax
4c4581:	e8 f6 39 f6 ff       	call   0x427f7c
4c4586:	8b d0                	mov    %eax,%edx
4c4588:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c458b:	8b 40 14             	mov    0x14(%eax),%eax
4c458e:	e8 f1 3c f6 ff       	call   0x428284
4c4593:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
4c4596:	8b 55 e8             	mov    -0x18(%ebp),%edx
4c4599:	42                   	inc    %edx
4c459a:	8b c3                	mov    %ebx,%eax
4c459c:	83 e8 02             	sub    $0x2,%eax
4c459f:	e8 a8 60 f5 ff       	call   0x41a64c
4c45a4:	8b 45 a4             	mov    -0x5c(%ebp),%eax
4c45a7:	89 45 ac             	mov    %eax,-0x54(%ebp)
4c45aa:	8b 45 a8             	mov    -0x58(%ebp),%eax
4c45ad:	89 45 b0             	mov    %eax,-0x50(%ebp)
4c45b0:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
4c45b3:	8b 55 e8             	mov    -0x18(%ebp),%edx
4c45b6:	42                   	inc    %edx
4c45b7:	8d 43 02             	lea    0x2(%ebx),%eax
4c45ba:	e8 8d 60 f5 ff       	call   0x41a64c
4c45bf:	8b 45 9c             	mov    -0x64(%ebp),%eax
4c45c2:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4c45c5:	8b 45 a0             	mov    -0x60(%ebp),%eax
4c45c8:	89 45 b8             	mov    %eax,-0x48(%ebp)
4c45cb:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
4c45ce:	8b 55 e8             	mov    -0x18(%ebp),%edx
4c45d1:	4a                   	dec    %edx
4c45d2:	8b c3                	mov    %ebx,%eax
4c45d4:	e8 73 60 f5 ff       	call   0x41a64c
4c45d9:	8b 45 94             	mov    -0x6c(%ebp),%eax
4c45dc:	89 45 bc             	mov    %eax,-0x44(%ebp)
4c45df:	8b 45 98             	mov    -0x68(%ebp),%eax
4c45e2:	89 45 c0             	mov    %eax,-0x40(%ebp)
4c45e5:	8d 55 ac             	lea    -0x54(%ebp),%edx
4c45e8:	b9 02 00 00 00       	mov    $0x2,%ecx
4c45ed:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c45f0:	e8 0b 42 f6 ff       	call   0x428800
4c45f5:	56                   	push   %esi
4c45f6:	57                   	push   %edi
4c45f7:	8d 75 d7             	lea    -0x29(%ebp),%esi
4c45fa:	8d 7d c7             	lea    -0x39(%ebp),%edi
4c45fd:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c45fe:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c45ff:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c4600:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c4601:	5f                   	pop    %edi
4c4602:	5e                   	pop    %esi
4c4603:	8b 45 db             	mov    -0x25(%ebp),%eax
4c4606:	03 45 e3             	add    -0x1d(%ebp),%eax
4c4609:	d1 f8                	sar    $1,%eax
4c460b:	79 03                	jns    0x4c4610
4c460d:	83 d0 00             	adc    $0x0,%eax
4c4610:	89 45 cb             	mov    %eax,-0x35(%ebp)
4c4613:	56                   	push   %esi
4c4614:	57                   	push   %edi
4c4615:	8d 75 c7             	lea    -0x39(%ebp),%esi
4c4618:	8d 7d d7             	lea    -0x29(%ebp),%edi
4c461b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c461c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c461d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c461e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c461f:	5f                   	pop    %edi
4c4620:	5e                   	pop    %esi
4c4621:	ff 45 db             	incl   -0x25(%ebp)
4c4624:	f6 45 f4 08          	testb  $0x8,-0xc(%ebp)
4c4628:	0f 95 c3             	setne  %bl
4c462b:	88 5e 09             	mov    %bl,0x9(%esi)
4c462e:	80 7d ef 00          	cmpb   $0x0,-0x11(%ebp)
4c4632:	0f 85 e6 00 00 00    	jne    0x4c471e
4c4638:	8a 45 ff             	mov    -0x1(%ebp),%al
4c463b:	0a c3                	or     %bl,%al
4c463d:	75 06                	jne    0x4c4645
4c463f:	80 7d fe 00          	cmpb   $0x0,-0x2(%ebp)
4c4643:	74 4a                	je     0x4c468f
4c4645:	84 db                	test   %bl,%bl
4c4647:	74 19                	je     0x4c4662
4c4649:	68 c0 c0 c0 00       	push   $0xc0c0c0
4c464e:	6a 01                	push   $0x1
4c4650:	8d 55 d7             	lea    -0x29(%ebp),%edx
4c4653:	b9 ff ff ff 00       	mov    $0xffffff,%ecx
4c4658:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c465b:	e8 40 ef ff ff       	call   0x4c35a0
4c4660:	eb 6b                	jmp    0x4c46cd
4c4662:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
4c4666:	74 65                	je     0x4c46cd
4c4668:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c466b:	e8 50 46 f6 ff       	call   0x428cc0
4c4670:	8d 55 c7             	lea    -0x39(%ebp),%edx
4c4673:	b9 f0 f0 f4 00       	mov    $0xf4f0f0,%ecx
4c4678:	e8 67 47 fc ff       	call   0x488de4
4c467d:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c4680:	8b 40 10             	mov    0x10(%eax),%eax
4c4683:	ba 80 80 80 00       	mov    $0x808080,%edx
4c4688:	e8 f7 38 f6 ff       	call   0x427f84
4c468d:	eb 3e                	jmp    0x4c46cd
4c468f:	8b 06                	mov    (%esi),%eax
4c4691:	25 00 10 00 00       	and    $0x1000,%eax
4c4696:	3d 00 10 00 00       	cmp    $0x1000,%eax
4c469b:	75 30                	jne    0x4c46cd
4c469d:	80 7d fe 00          	cmpb   $0x0,-0x2(%ebp)
4c46a1:	75 12                	jne    0x4c46b5
4c46a3:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c46a6:	8b 40 10             	mov    0x10(%eax),%eax
4c46a9:	ba 05 00 00 80       	mov    $0x80000005,%edx
4c46ae:	e8 d1 38 f6 ff       	call   0x427f84
4c46b3:	eb 18                	jmp    0x4c46cd
4c46b5:	8b d6                	mov    %esi,%edx
4c46b7:	b1 02                	mov    $0x2,%cl
4c46b9:	8b c7                	mov    %edi,%eax
4c46bb:	e8 f8 ec ff ff       	call   0x4c33b8
4c46c0:	8b d0                	mov    %eax,%edx
4c46c2:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c46c5:	8b 40 10             	mov    0x10(%eax),%eax
4c46c8:	e8 b7 38 f6 ff       	call   0x427f84
4c46cd:	84 db                	test   %bl,%bl
4c46cf:	74 10                	je     0x4c46e1
4c46d1:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c46d4:	8b 40 10             	mov    0x10(%eax),%eax
4c46d7:	ba 80 80 80 00       	mov    $0x808080,%edx
4c46dc:	e8 a3 38 f6 ff       	call   0x427f84
4c46e1:	8b 4d d3             	mov    -0x2d(%ebp),%ecx
4c46e4:	49                   	dec    %ecx
4c46e5:	8b 5d c7             	mov    -0x39(%ebp),%ebx
4c46e8:	8b d3                	mov    %ebx,%edx
4c46ea:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c46ed:	e8 e2 40 f6 ff       	call   0x4287d4
4c46f2:	8b 4d cb             	mov    -0x35(%ebp),%ecx
4c46f5:	8b d3                	mov    %ebx,%edx
4c46f7:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c46fa:	e8 75 40 f6 ff       	call   0x428774
4c46ff:	8b 4d cb             	mov    -0x35(%ebp),%ecx
4c4702:	8b 55 cf             	mov    -0x31(%ebp),%edx
4c4705:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c4708:	e8 67 40 f6 ff       	call   0x428774
4c470d:	55                   	push   %ebp
4c470e:	f6 45 f4 04          	testb  $0x4,-0xc(%ebp)
4c4712:	0f 95 c2             	setne  %dl
4c4715:	8d 45 c7             	lea    -0x39(%ebp),%eax
4c4718:	e8 f3 fa ff ff       	call   0x4c4210
4c471d:	59                   	pop    %ecx
4c471e:	8b 5d c7             	mov    -0x39(%ebp),%ebx
4c4721:	03 5d cf             	add    -0x31(%ebp),%ebx
4c4724:	d1 fb                	sar    $1,%ebx
4c4726:	79 03                	jns    0x4c472b
4c4728:	83 d3 00             	adc    $0x0,%ebx
4c472b:	8b 45 cb             	mov    -0x35(%ebp),%eax
4c472e:	03 45 d3             	add    -0x2d(%ebp),%eax
4c4731:	d1 f8                	sar    $1,%eax
4c4733:	79 03                	jns    0x4c4738
4c4735:	83 d0 00             	adc    $0x0,%eax
4c4738:	89 45 e8             	mov    %eax,-0x18(%ebp)
4c473b:	8b d6                	mov    %esi,%edx
4c473d:	b1 01                	mov    $0x1,%cl
4c473f:	8b c7                	mov    %edi,%eax
4c4741:	e8 42 ed ff ff       	call   0x4c3488
4c4746:	8b d0                	mov    %eax,%edx
4c4748:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c474b:	8b 40 10             	mov    0x10(%eax),%eax
4c474e:	e8 31 38 f6 ff       	call   0x427f84
4c4753:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c4756:	8b 40 10             	mov    0x10(%eax),%eax
4c4759:	e8 1e 38 f6 ff       	call   0x427f7c
4c475e:	8b d0                	mov    %eax,%edx
4c4760:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c4763:	8b 40 14             	mov    0x14(%eax),%eax
4c4766:	e8 19 3b f6 ff       	call   0x428284
4c476b:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
4c476e:	8b 7d e8             	mov    -0x18(%ebp),%edi
4c4771:	4f                   	dec    %edi
4c4772:	8b d7                	mov    %edi,%edx
4c4774:	8b c3                	mov    %ebx,%eax
4c4776:	83 e8 02             	sub    $0x2,%eax
4c4779:	e8 ce 5e f5 ff       	call   0x41a64c
4c477e:	8b 45 a4             	mov    -0x5c(%ebp),%eax
4c4781:	89 45 ac             	mov    %eax,-0x54(%ebp)
4c4784:	8b 45 a8             	mov    -0x58(%ebp),%eax
4c4787:	89 45 b0             	mov    %eax,-0x50(%ebp)
4c478a:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
4c478d:	8b d7                	mov    %edi,%edx
4c478f:	8d 43 02             	lea    0x2(%ebx),%eax
4c4792:	e8 b5 5e f5 ff       	call   0x41a64c
4c4797:	8b 45 9c             	mov    -0x64(%ebp),%eax
4c479a:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4c479d:	8b 45 a0             	mov    -0x60(%ebp),%eax
4c47a0:	89 45 b8             	mov    %eax,-0x48(%ebp)
4c47a3:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
4c47a6:	8b 55 e8             	mov    -0x18(%ebp),%edx
4c47a9:	42                   	inc    %edx
4c47aa:	8b c3                	mov    %ebx,%eax
4c47ac:	e8 9b 5e f5 ff       	call   0x41a64c
4c47b1:	8b 45 94             	mov    -0x6c(%ebp),%eax
4c47b4:	89 45 bc             	mov    %eax,-0x44(%ebp)
4c47b7:	8b 45 98             	mov    -0x68(%ebp),%eax
4c47ba:	89 45 c0             	mov    %eax,-0x40(%ebp)
4c47bd:	8d 55 ac             	lea    -0x54(%ebp),%edx
4c47c0:	b9 02 00 00 00       	mov    $0x2,%ecx
4c47c5:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c47c8:	e8 33 40 f6 ff       	call   0x428800
4c47cd:	8a 45 e7             	mov    -0x19(%ebp),%al
4c47d0:	88 46 09             	mov    %al,0x9(%esi)
4c47d3:	5f                   	pop    %edi
4c47d4:	5e                   	pop    %esi
4c47d5:	5b                   	pop    %ebx
4c47d6:	8b e5                	mov    %ebp,%esp
4c47d8:	5d                   	pop    %ebp
4c47d9:	c2 08 00             	ret    $0x8
4c47dc:	55                   	push   %ebp
4c47dd:	8b ec                	mov    %esp,%ebp
4c47df:	83 c4 e8             	add    $0xffffffe8,%esp
4c47e2:	53                   	push   %ebx
4c47e3:	56                   	push   %esi
4c47e4:	57                   	push   %edi
4c47e5:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4c47e8:	8b f2                	mov    %edx,%esi
4c47ea:	89 45 fc             	mov    %eax,-0x4(%ebp)
4c47ed:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4c47f0:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c47f3:	56                   	push   %esi
4c47f4:	8b f0                	mov    %eax,%esi
4c47f6:	8d 7d e8             	lea    -0x18(%ebp),%edi
4c47f9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c47fa:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c47fb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c47fc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c47fd:	5e                   	pop    %esi
4c47fe:	53                   	push   %ebx
4c47ff:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4c4802:	8b d6                	mov    %esi,%edx
4c4804:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c4807:	8b 38                	mov    (%eax),%edi
4c4809:	ff 57 54             	call   *0x54(%edi)
4c480c:	ba 3c 00 00 00       	mov    $0x3c,%edx
4c4811:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c4814:	8b 08                	mov    (%eax),%ecx
4c4816:	ff 91 80 00 00 00    	call   *0x80(%ecx)
4c481c:	8b f8                	mov    %eax,%edi
4c481e:	8b c7                	mov    %edi,%eax
4c4820:	f7 d8                	neg    %eax
4c4822:	50                   	push   %eax
4c4823:	8b c7                	mov    %edi,%eax
4c4825:	f7 d8                	neg    %eax
4c4827:	50                   	push   %eax
4c4828:	8d 45 e8             	lea    -0x18(%ebp),%eax
4c482b:	50                   	push   %eax
4c482c:	e8 57 33 f4 ff       	call   0x407b88
4c4831:	8b 45 08             	mov    0x8(%ebp),%eax
4c4834:	8b 40 04             	mov    0x4(%eax),%eax
4c4837:	85 c0                	test   %eax,%eax
4c4839:	7e 09                	jle    0x4c4844
4c483b:	8b 55 08             	mov    0x8(%ebp),%edx
4c483e:	83 e8 02             	sub    $0x2,%eax
4c4841:	29 45 f0             	sub    %eax,-0x10(%ebp)
4c4844:	80 7b 08 00          	cmpb   $0x0,0x8(%ebx)
4c4848:	74 39                	je     0x4c4883
4c484a:	80 7b 0a 00          	cmpb   $0x0,0xa(%ebx)
4c484e:	75 0f                	jne    0x4c485f
4c4850:	ba d0 d0 d0 00       	mov    $0xd0d0d0,%edx
4c4855:	8b 46 14             	mov    0x14(%esi),%eax
4c4858:	e8 27 3a f6 ff       	call   0x428284
4c485d:	eb 0d                	jmp    0x4c486c
4c485f:	ba ff ff ff 00       	mov    $0xffffff,%edx
4c4864:	8b 46 14             	mov    0x14(%esi),%eax
4c4867:	e8 18 3a f6 ff       	call   0x428284
4c486c:	8d 55 e8             	lea    -0x18(%ebp),%edx
4c486f:	8b c6                	mov    %esi,%eax
4c4871:	e8 c2 3e f6 ff       	call   0x428738
4c4876:	ba ff ff ff 00       	mov    $0xffffff,%edx
4c487b:	8b 46 14             	mov    0x14(%esi),%eax
4c487e:	e8 01 3a f6 ff       	call   0x428284
4c4883:	80 7b 08 00          	cmpb   $0x0,0x8(%ebx)
4c4887:	75 3d                	jne    0x4c48c6
4c4889:	80 7b 0a 00          	cmpb   $0x0,0xa(%ebx)
4c488d:	75 13                	jne    0x4c48a2
4c488f:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c4892:	8b 90 94 00 00 00    	mov    0x94(%eax),%edx
4c4898:	8b 46 14             	mov    0x14(%esi),%eax
4c489b:	e8 e4 39 f6 ff       	call   0x428284
4c48a0:	eb 0d                	jmp    0x4c48af
4c48a2:	ba ff ff ff 00       	mov    $0xffffff,%edx
4c48a7:	8b 46 14             	mov    0x14(%esi),%eax
4c48aa:	e8 d5 39 f6 ff       	call   0x428284
4c48af:	8d 55 e8             	lea    -0x18(%ebp),%edx
4c48b2:	8b c6                	mov    %esi,%eax
4c48b4:	e8 7f 3e f6 ff       	call   0x428738
4c48b9:	ba ff ff ff 00       	mov    $0xffffff,%edx
4c48be:	8b 46 14             	mov    0x14(%esi),%eax
4c48c1:	e8 be 39 f6 ff       	call   0x428284
4c48c6:	6a ff                	push   $0xffffffff
4c48c8:	6a ff                	push   $0xffffffff
4c48ca:	8d 45 e8             	lea    -0x18(%ebp),%eax
4c48cd:	50                   	push   %eax
4c48ce:	e8 b5 32 f4 ff       	call   0x407b88
4c48d3:	80 7b 08 00          	cmpb   $0x0,0x8(%ebx)
4c48d7:	74 0a                	je     0x4c48e3
4c48d9:	8d 55 e8             	lea    -0x18(%ebp),%edx
4c48dc:	8b c6                	mov    %esi,%eax
4c48de:	e8 19 3e f6 ff       	call   0x4286fc
4c48e3:	8b 45 08             	mov    0x8(%ebp),%eax
4c48e6:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
4c48ea:	7e 42                	jle    0x4c492e
4c48ec:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c48ef:	56                   	push   %esi