4ce5f8:	50                   	push   %eax
4ce5f9:	68 ff ff ff 00       	push   $0xffffff
4ce5fe:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ce601:	e8 ba a6 f5 ff       	call   0x428cc0
4ce606:	8b 4d da             	mov    -0x26(%ebp),%ecx
4ce609:	41                   	inc    %ecx
4ce60a:	8b d3                	mov    %ebx,%edx
4ce60c:	e8 7f a8 fb ff       	call   0x488e90
4ce611:	80 7d e7 00          	cmpb   $0x0,-0x19(%ebp)
4ce615:	74 18                	je     0x4ce62f
4ce617:	6a 01                	push   $0x1
4ce619:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ce61c:	e8 9f a6 f5 ff       	call   0x428cc0
4ce621:	8d 55 d6             	lea    -0x2a(%ebp),%edx
4ce624:	8b 8e 94 00 00 00    	mov    0x94(%esi),%ecx
4ce62a:	e8 fd a7 fb ff       	call   0x488e2c
4ce62f:	8b 45 0c             	mov    0xc(%ebp),%eax
4ce632:	50                   	push   %eax
4ce633:	8d 4d d6             	lea    -0x2a(%ebp),%ecx
4ce636:	8b 55 f0             	mov    -0x10(%ebp),%edx
4ce639:	8b c6                	mov    %esi,%eax
4ce63b:	8b 18                	mov    (%eax),%ebx
4ce63d:	ff 53 4c             	call   *0x4c(%ebx)
4ce640:	e9 bd 03 00 00       	jmp    0x4cea02
4ce645:	83 f8 02             	cmp    $0x2,%eax
4ce648:	0f 85 b4 03 00 00    	jne    0x4cea02
4ce64e:	8b 45 ec             	mov    -0x14(%ebp),%eax
4ce651:	a8 01                	test   $0x1,%al
4ce653:	0f 95 45 e7          	setne  -0x19(%ebp)
4ce657:	a8 02                	test   $0x2,%al
4ce659:	0f 95 45 f7          	setne  -0x9(%ebp)
4ce65d:	56                   	push   %esi
4ce65e:	8d 75 d6             	lea    -0x2a(%ebp),%esi
4ce661:	8d 7d c6             	lea    -0x3a(%ebp),%edi
4ce664:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ce665:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ce666:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ce667:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ce668:	5e                   	pop    %esi
4ce669:	8b 55 da             	mov    -0x26(%ebp),%edx
4ce66c:	03 55 e2             	add    -0x1e(%ebp),%edx
4ce66f:	42                   	inc    %edx
4ce670:	d1 fa                	sar    $1,%edx
4ce672:	79 03                	jns    0x4ce677
4ce674:	83 d2 00             	adc    $0x0,%edx
4ce677:	89 55 d2             	mov    %edx,-0x2e(%ebp)
4ce67a:	a8 04                	test   $0x4,%al
4ce67c:	0f 95 c3             	setne  %bl
4ce67f:	8b 45 0c             	mov    0xc(%ebp),%eax
4ce682:	8a 40 09             	mov    0x9(%eax),%al
4ce685:	88 45 e6             	mov    %al,-0x1a(%ebp)
4ce688:	8b 45 0c             	mov    0xc(%ebp),%eax
4ce68b:	88 58 09             	mov    %bl,0x9(%eax)
4ce68e:	80 7d e7 00          	cmpb   $0x0,-0x19(%ebp)
4ce692:	0f 85 e4 00 00 00    	jne    0x4ce77c
4ce698:	8a 45 f7             	mov    -0x9(%ebp),%al
4ce69b:	0a c3                	or     %bl,%al
4ce69d:	75 0a                	jne    0x4ce6a9
4ce69f:	80 7d f6 00          	cmpb   $0x0,-0xa(%ebp)
4ce6a3:	0f 84 80 00 00 00    	je     0x4ce729
4ce6a9:	84 db                	test   %bl,%bl
4ce6ab:	74 1c                	je     0x4ce6c9
4ce6ad:	68 c0 c0 c0 00       	push   $0xc0c0c0
4ce6b2:	6a 01                	push   $0x1
4ce6b4:	8d 55 c6             	lea    -0x3a(%ebp),%edx
4ce6b7:	b9 ff ff ff 00       	mov    $0xffffff,%ecx
4ce6bc:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ce6bf:	e8 24 fa fe ff       	call   0x4be0e8
4ce6c4:	e9 a2 00 00 00       	jmp    0x4ce76b
4ce6c9:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
4ce6cd:	0f 84 98 00 00 00    	je     0x4ce76b
4ce6d3:	8b 45 0c             	mov    0xc(%ebp),%eax
4ce6d6:	f6 40 01 20          	testb  $0x20,0x1(%eax)
4ce6da:	74 3c                	je     0x4ce718
4ce6dc:	6a 01                	push   $0x1
4ce6de:	8d 55 c6             	lea    -0x3a(%ebp),%edx
4ce6e1:	33 c9                	xor    %ecx,%ecx
4ce6e3:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ce6e6:	e8 c5 f6 fe ff       	call   0x4bddb0
4ce6eb:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ce6ee:	8b 40 10             	mov    0x10(%eax),%eax
4ce6f1:	8b 56 70             	mov    0x70(%esi),%edx
4ce6f4:	e8 8b 98 f5 ff       	call   0x427f84
4ce6f9:	8b 4d ca             	mov    -0x36(%ebp),%ecx
4ce6fc:	8b 5d c6             	mov    -0x3a(%ebp),%ebx
4ce6ff:	8b d3                	mov    %ebx,%edx
4ce701:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ce704:	e8 cb a0 f5 ff       	call   0x4287d4
4ce709:	8b 4d d2             	mov    -0x2e(%ebp),%ecx
4ce70c:	8b d3                	mov    %ebx,%edx
4ce70e:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ce711:	e8 5e a0 f5 ff       	call   0x428774
4ce716:	eb 53                	jmp    0x4ce76b
4ce718:	6a 01                	push   $0x1
4ce71a:	8d 55 c6             	lea    -0x3a(%ebp),%edx
4ce71d:	b1 01                	mov    $0x1,%cl
4ce71f:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ce722:	e8 89 f6 fe ff       	call   0x4bddb0
4ce727:	eb 42                	jmp    0x4ce76b
4ce729:	8b 45 0c             	mov    0xc(%ebp),%eax
4ce72c:	8b 00                	mov    (%eax),%eax
4ce72e:	25 00 10 00 00       	and    $0x1000,%eax
4ce733:	3d 00 10 00 00       	cmp    $0x1000,%eax
4ce738:	75 31                	jne    0x4ce76b
4ce73a:	80 7d f6 00          	cmpb   $0x0,-0xa(%ebp)
4ce73e:	75 12                	jne    0x4ce752
4ce740:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ce743:	8b 40 10             	mov    0x10(%eax),%eax
4ce746:	ba ff ff ff 00       	mov    $0xffffff,%edx
4ce74b:	e8 34 98 f5 ff       	call   0x427f84
4ce750:	eb 19                	jmp    0x4ce76b
4ce752:	8b 55 0c             	mov    0xc(%ebp),%edx
4ce755:	b1 02                	mov    $0x2,%cl
4ce757:	8b c6                	mov    %esi,%eax
4ce759:	e8 72 f3 ff ff       	call   0x4cdad0
4ce75e:	8b d0                	mov    %eax,%edx
4ce760:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ce763:	8b 40 10             	mov    0x10(%eax),%eax
4ce766:	e8 19 98 f5 ff       	call   0x427f84
4ce76b:	55                   	push   %ebp
4ce76c:	f6 45 ec 04          	testb  $0x4,-0x14(%ebp)
4ce770:	0f 95 c2             	setne  %dl
4ce773:	8d 45 c6             	lea    -0x3a(%ebp),%eax
4ce776:	e8 a1 fc ff ff       	call   0x4ce41c
4ce77b:	59                   	pop    %ecx
4ce77c:	8b 5d c6             	mov    -0x3a(%ebp),%ebx
4ce77f:	03 5d ce             	add    -0x32(%ebp),%ebx
4ce782:	d1 fb                	sar    $1,%ebx
4ce784:	79 03                	jns    0x4ce789
4ce786:	83 d3 00             	adc    $0x0,%ebx
4ce789:	8b 7d ca             	mov    -0x36(%ebp),%edi
4ce78c:	03 7d d2             	add    -0x2e(%ebp),%edi
4ce78f:	4f                   	dec    %edi
4ce790:	d1 ff                	sar    $1,%edi
4ce792:	79 03                	jns    0x4ce797
4ce794:	83 d7 00             	adc    $0x0,%edi
4ce797:	8b 55 0c             	mov    0xc(%ebp),%edx
4ce79a:	b1 01                	mov    $0x1,%cl
4ce79c:	8b c6                	mov    %esi,%eax
4ce79e:	e8 fd f3 ff ff       	call   0x4cdba0
4ce7a3:	8b d0                	mov    %eax,%edx
4ce7a5:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ce7a8:	8b 40 10             	mov    0x10(%eax),%eax
4ce7ab:	e8 d4 97 f5 ff       	call   0x427f84
4ce7b0:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ce7b3:	8b 40 10             	mov    0x10(%eax),%eax
4ce7b6:	e8 c1 97 f5 ff       	call   0x427f7c
4ce7bb:	8b d0                	mov    %eax,%edx
4ce7bd:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ce7c0:	8b 40 14             	mov    0x14(%eax),%eax
4ce7c3:	e8 bc 9a f5 ff       	call   0x428284
4ce7c8:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
4ce7cb:	8d 57 01             	lea    0x1(%edi),%edx
4ce7ce:	8b c3                	mov    %ebx,%eax
4ce7d0:	83 e8 02             	sub    $0x2,%eax
4ce7d3:	e8 74 be f4 ff       	call   0x41a64c
4ce7d8:	8b 45 a4             	mov    -0x5c(%ebp),%eax
4ce7db:	89 45 ac             	mov    %eax,-0x54(%ebp)
4ce7de:	8b 45 a8             	mov    -0x58(%ebp),%eax
4ce7e1:	89 45 b0             	mov    %eax,-0x50(%ebp)
4ce7e4:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
4ce7e7:	8d 57 01             	lea    0x1(%edi),%edx
4ce7ea:	8d 43 02             	lea    0x2(%ebx),%eax
4ce7ed:	e8 5a be f4 ff       	call   0x41a64c
4ce7f2:	8b 45 9c             	mov    -0x64(%ebp),%eax
4ce7f5:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4ce7f8:	8b 45 a0             	mov    -0x60(%ebp),%eax
4ce7fb:	89 45 b8             	mov    %eax,-0x48(%ebp)
4ce7fe:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
4ce801:	8b d7                	mov    %edi,%edx
4ce803:	4a                   	dec    %edx
4ce804:	8b c3                	mov    %ebx,%eax
4ce806:	e8 41 be f4 ff       	call   0x41a64c
4ce80b:	8b 45 94             	mov    -0x6c(%ebp),%eax
4ce80e:	89 45 bc             	mov    %eax,-0x44(%ebp)
4ce811:	8b 45 98             	mov    -0x68(%ebp),%eax
4ce814:	89 45 c0             	mov    %eax,-0x40(%ebp)
4ce817:	8d 55 ac             	lea    -0x54(%ebp),%edx
4ce81a:	b9 02 00 00 00       	mov    $0x2,%ecx
4ce81f:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ce822:	e8 d9 9f f5 ff       	call   0x428800
4ce827:	56                   	push   %esi
4ce828:	8d 75 d6             	lea    -0x2a(%ebp),%esi
4ce82b:	8d 7d c6             	lea    -0x3a(%ebp),%edi
4ce82e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ce82f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ce830:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ce831:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ce832:	5e                   	pop    %esi
4ce833:	8b 45 da             	mov    -0x26(%ebp),%eax
4ce836:	03 45 e2             	add    -0x1e(%ebp),%eax
4ce839:	d1 f8                	sar    $1,%eax
4ce83b:	79 03                	jns    0x4ce840
4ce83d:	83 d0 00             	adc    $0x0,%eax
4ce840:	89 45 ca             	mov    %eax,-0x36(%ebp)
4ce843:	f6 45 ec 08          	testb  $0x8,-0x14(%ebp)
4ce847:	0f 95 c3             	setne  %bl
4ce84a:	8b 45 0c             	mov    0xc(%ebp),%eax
4ce84d:	88 58 09             	mov    %bl,0x9(%eax)
4ce850:	80 7d e7 00          	cmpb   $0x0,-0x19(%ebp)
4ce854:	0f 85 f4 00 00 00    	jne    0x4ce94e
4ce85a:	8a 45 f7             	mov    -0x9(%ebp),%al
4ce85d:	0a c3                	or     %bl,%al
4ce85f:	75 0a                	jne    0x4ce86b
4ce861:	80 7d f6 00          	cmpb   $0x0,-0xa(%ebp)
4ce865:	0f 84 90 00 00 00    	je     0x4ce8fb
4ce86b:	84 db                	test   %bl,%bl
4ce86d:	74 1c                	je     0x4ce88b
4ce86f:	68 c0 c0 c0 00       	push   $0xc0c0c0
4ce874:	6a 01                	push   $0x1
4ce876:	8d 55 c6             	lea    -0x3a(%ebp),%edx
4ce879:	b9 ff ff ff 00       	mov    $0xffffff,%ecx
4ce87e:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ce881:	e8 62 f8 fe ff       	call   0x4be0e8
4ce886:	e9 b2 00 00 00       	jmp    0x4ce93d
4ce88b:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
4ce88f:	0f 84 a8 00 00 00    	je     0x4ce93d
4ce895:	8b 45 0c             	mov    0xc(%ebp),%eax
4ce898:	f6 40 01 20          	testb  $0x20,0x1(%eax)
4ce89c:	74 4c                	je     0x4ce8ea
4ce89e:	6a 01                	push   $0x1
4ce8a0:	8d 55 c6             	lea    -0x3a(%ebp),%edx
4ce8a3:	33 c9                	xor    %ecx,%ecx
4ce8a5:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ce8a8:	e8 03 f5 fe ff       	call   0x4bddb0
4ce8ad:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ce8b0:	8b 40 10             	mov    0x10(%eax),%eax
4ce8b3:	8b 56 70             	mov    0x70(%esi),%edx
4ce8b6:	e8 c9 96 f5 ff       	call   0x427f84
4ce8bb:	8b 4d d2             	mov    -0x2e(%ebp),%ecx
4ce8be:	49                   	dec    %ecx
4ce8bf:	8b 5d c6             	mov    -0x3a(%ebp),%ebx
4ce8c2:	8b d3                	mov    %ebx,%edx
4ce8c4:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ce8c7:	e8 08 9f f5 ff       	call   0x4287d4
4ce8cc:	8b 7d ca             	mov    -0x36(%ebp),%edi
4ce8cf:	8b cf                	mov    %edi,%ecx
4ce8d1:	8b d3                	mov    %ebx,%edx
4ce8d3:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ce8d6:	e8 99 9e f5 ff       	call   0x428774
4ce8db:	8b cf                	mov    %edi,%ecx
4ce8dd:	8b 55 ce             	mov    -0x32(%ebp),%edx
4ce8e0:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ce8e3:	e8 8c 9e f5 ff       	call   0x428774
4ce8e8:	eb 53                	jmp    0x4ce93d
4ce8ea:	6a 01                	push   $0x1
4ce8ec:	8d 55 c6             	lea    -0x3a(%ebp),%edx
4ce8ef:	b1 01                	mov    $0x1,%cl
4ce8f1:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ce8f4:	e8 b7 f4 fe ff       	call   0x4bddb0
4ce8f9:	eb 42                	jmp    0x4ce93d
4ce8fb:	8b 45 0c             	mov    0xc(%ebp),%eax
4ce8fe:	8b 00                	mov    (%eax),%eax
4ce900:	25 00 10 00 00       	and    $0x1000,%eax
4ce905:	3d 00 10 00 00       	cmp    $0x1000,%eax
4ce90a:	75 31                	jne    0x4ce93d
4ce90c:	80 7d f6 00          	cmpb   $0x0,-0xa(%ebp)
4ce910:	75 12                	jne    0x4ce924
4ce912:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ce915:	8b 40 10             	mov    0x10(%eax),%eax
4ce918:	ba 05 00 00 80       	mov    $0x80000005,%edx
4ce91d:	e8 62 96 f5 ff       	call   0x427f84
4ce922:	eb 19                	jmp    0x4ce93d
4ce924:	8b 55 0c             	mov    0xc(%ebp),%edx
4ce927:	b1 02                	mov    $0x2,%cl
4ce929:	8b c6                	mov    %esi,%eax
4ce92b:	e8 a0 f1 ff ff       	call   0x4cdad0
4ce930:	8b d0                	mov    %eax,%edx
4ce932:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ce935:	8b 40 10             	mov    0x10(%eax),%eax
4ce938:	e8 47 96 f5 ff       	call   0x427f84
4ce93d:	55                   	push   %ebp
4ce93e:	f6 45 ec 04          	testb  $0x4,-0x14(%ebp)
4ce942:	0f 95 c2             	setne  %dl
4ce945:	8d 45 c6             	lea    -0x3a(%ebp),%eax
4ce948:	e8 cf fa ff ff       	call   0x4ce41c
4ce94d:	59                   	pop    %ecx
4ce94e:	8b 5d c6             	mov    -0x3a(%ebp),%ebx
4ce951:	03 5d ce             	add    -0x32(%ebp),%ebx
4ce954:	d1 fb                	sar    $1,%ebx
4ce956:	79 03                	jns    0x4ce95b
4ce958:	83 d3 00             	adc    $0x0,%ebx
4ce95b:	8b 7d ca             	mov    -0x36(%ebp),%edi
4ce95e:	03 7d d2             	add    -0x2e(%ebp),%edi
4ce961:	d1 ff                	sar    $1,%edi
4ce963:	79 03                	jns    0x4ce968
4ce965:	83 d7 00             	adc    $0x0,%edi
4ce968:	8b 55 0c             	mov    0xc(%ebp),%edx
4ce96b:	b1 01                	mov    $0x1,%cl
4ce96d:	8b c6                	mov    %esi,%eax
4ce96f:	e8 2c f2 ff ff       	call   0x4cdba0
4ce974:	8b d0                	mov    %eax,%edx
4ce976:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ce979:	8b 40 10             	mov    0x10(%eax),%eax
4ce97c:	e8 03 96 f5 ff       	call   0x427f84
4ce981:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ce984:	8b 40 10             	mov    0x10(%eax),%eax
4ce987:	e8 f0 95 f5 ff       	call   0x427f7c
4ce98c:	8b d0                	mov    %eax,%edx
4ce98e:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ce991:	8b 40 14             	mov    0x14(%eax),%eax
4ce994:	e8 eb 98 f5 ff       	call   0x428284
4ce999:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
4ce99c:	8b f7                	mov    %edi,%esi
4ce99e:	4e                   	dec    %esi
4ce99f:	8b d6                	mov    %esi,%edx
4ce9a1:	8b c3                	mov    %ebx,%eax
4ce9a3:	83 e8 02             	sub    $0x2,%eax
4ce9a6:	e8 a1 bc f4 ff       	call   0x41a64c
4ce9ab:	8b 45 a4             	mov    -0x5c(%ebp),%eax
4ce9ae:	89 45 ac             	mov    %eax,-0x54(%ebp)
4ce9b1:	8b 45 a8             	mov    -0x58(%ebp),%eax
4ce9b4:	89 45 b0             	mov    %eax,-0x50(%ebp)
4ce9b7:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
4ce9ba:	8b d6                	mov    %esi,%edx
4ce9bc:	8d 43 02             	lea    0x2(%ebx),%eax
4ce9bf:	e8 88 bc f4 ff       	call   0x41a64c
4ce9c4:	8b 45 9c             	mov    -0x64(%ebp),%eax
4ce9c7:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4ce9ca:	8b 45 a0             	mov    -0x60(%ebp),%eax
4ce9cd:	89 45 b8             	mov    %eax,-0x48(%ebp)
4ce9d0:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
4ce9d3:	8d 57 01             	lea    0x1(%edi),%edx
4ce9d6:	8b c3                	mov    %ebx,%eax
4ce9d8:	e8 6f bc f4 ff       	call   0x41a64c
4ce9dd:	8b 45 94             	mov    -0x6c(%ebp),%eax
4ce9e0:	89 45 bc             	mov    %eax,-0x44(%ebp)
4ce9e3:	8b 45 98             	mov    -0x68(%ebp),%eax
4ce9e6:	89 45 c0             	mov    %eax,-0x40(%ebp)
4ce9e9:	8d 55 ac             	lea    -0x54(%ebp),%edx
4ce9ec:	b9 02 00 00 00       	mov    $0x2,%ecx
4ce9f1:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ce9f4:	e8 07 9e f5 ff       	call   0x428800
4ce9f9:	8b 45 0c             	mov    0xc(%ebp),%eax
4ce9fc:	8a 55 e6             	mov    -0x1a(%ebp),%dl
4ce9ff:	88 50 09             	mov    %dl,0x9(%eax)
4cea02:	5f                   	pop    %edi
4cea03:	5e                   	pop    %esi
4cea04:	5b                   	pop    %ebx
4cea05:	8b e5                	mov    %ebp,%esp
4cea07:	5d                   	pop    %ebp
4cea08:	c2 08 00             	ret    $0x8
4cea0b:	90                   	nop
4cea0c:	55                   	push   %ebp
4cea0d:	8b ec                	mov    %esp,%ebp
4cea0f:	83 c4 e8             	add    $0xffffffe8,%esp
4cea12:	53                   	push   %ebx
4cea13:	56                   	push   %esi
4cea14:	57                   	push   %edi
4cea15:	89 4d f8             	mov    %ecx,-0x8(%ebp)