48573f:	89 06                	mov    %eax,(%esi)
485741:	eb 05                	jmp    0x485748
485743:	e8 f0 d0 00 00       	call   0x492838
485748:	59                   	pop    %ecx
485749:	59                   	pop    %ecx
48574a:	33 c0                	xor    %eax,%eax
48574c:	5e                   	pop    %esi
48574d:	5d                   	pop    %ebp
48574e:	c3                   	ret
48574f:	6a 08                	push   $0x8
485751:	68 f0 18 4c 00       	push   $0x4c18f0
485756:	e8 e5 4f fe ff       	call   0x46a740
48575b:	e8 59 13 00 00       	call   0x486ab9
485760:	8b 70 0c             	mov    0xc(%eax),%esi
485763:	85 f6                	test   %esi,%esi
485765:	74 1e                	je     0x485785
485767:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
48576b:	8b ce                	mov    %esi,%ecx
48576d:	ff 15 d4 e2 49 00    	call   *0x49e2d4
485773:	ff d6                	call   *%esi
485775:	eb 07                	jmp    0x48577e
485777:	33 c0                	xor    %eax,%eax
485779:	40                   	inc    %eax
48577a:	c3                   	ret
48577b:	8b 65 e8             	mov    -0x18(%ebp),%esp
48577e:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
485785:	e8 0f d2 ff ff       	call   0x482999
48578a:	cc                   	int3
48578b:	8b ff                	mov    %edi,%edi
48578d:	55                   	push   %ebp
48578e:	8b ec                	mov    %esp,%ebp
485790:	56                   	push   %esi
485791:	8b 75 0c             	mov    0xc(%ebp),%esi
485794:	85 f6                	test   %esi,%esi
485796:	74 1b                	je     0x4857b3
485798:	6a e0                	push   $0xffffffe0
48579a:	33 d2                	xor    %edx,%edx
48579c:	58                   	pop    %eax
48579d:	f7 f6                	div    %esi
48579f:	3b 45 10             	cmp    0x10(%ebp),%eax
4857a2:	73 0f                	jae    0x4857b3
4857a4:	e8 8c 47 ff ff       	call   0x479f35
4857a9:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
4857af:	33 c0                	xor    %eax,%eax
4857b1:	eb 42                	jmp    0x4857f5
4857b3:	53                   	push   %ebx
4857b4:	8b 5d 08             	mov    0x8(%ebp),%ebx
4857b7:	57                   	push   %edi
4857b8:	85 db                	test   %ebx,%ebx
4857ba:	74 0b                	je     0x4857c7
4857bc:	53                   	push   %ebx
4857bd:	e8 15 d4 00 00       	call   0x492bd7
4857c2:	59                   	pop    %ecx
4857c3:	8b f8                	mov    %eax,%edi
4857c5:	eb 02                	jmp    0x4857c9
4857c7:	33 ff                	xor    %edi,%edi
4857c9:	0f af 75 10          	imul   0x10(%ebp),%esi
4857cd:	56                   	push   %esi
4857ce:	53                   	push   %ebx
4857cf:	e8 4c 7d 00 00       	call   0x48d520
4857d4:	8b d8                	mov    %eax,%ebx
4857d6:	59                   	pop    %ecx
4857d7:	59                   	pop    %ecx
4857d8:	85 db                	test   %ebx,%ebx
4857da:	74 15                	je     0x4857f1
4857dc:	3b fe                	cmp    %esi,%edi
4857de:	73 11                	jae    0x4857f1
4857e0:	2b f7                	sub    %edi,%esi
4857e2:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
4857e5:	56                   	push   %esi
4857e6:	6a 00                	push   $0x0
4857e8:	50                   	push   %eax
4857e9:	e8 c2 63 fe ff       	call   0x46bbb0
4857ee:	83 c4 0c             	add    $0xc,%esp
4857f1:	5f                   	pop    %edi
4857f2:	8b c3                	mov    %ebx,%eax
4857f4:	5b                   	pop    %ebx
4857f5:	5e                   	pop    %esi
4857f6:	5d                   	pop    %ebp
4857f7:	c3                   	ret
4857f8:	8b ff                	mov    %edi,%edi
4857fa:	55                   	push   %ebp
4857fb:	8b ec                	mov    %esp,%ebp
4857fd:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
485801:	74 2d                	je     0x485830
485803:	ff 75 08             	push   0x8(%ebp)
485806:	6a 00                	push   $0x0
485808:	ff 35 e8 8b 4c 00    	push   0x4c8be8
48580e:	ff 15 b4 e0 49 00    	call   *0x49e0b4
485814:	85 c0                	test   %eax,%eax
485816:	75 18                	jne    0x485830
485818:	56                   	push   %esi
485819:	ff 15 30 e1 49 00    	call   *0x49e130
48581f:	50                   	push   %eax
485820:	e8 73 46 ff ff       	call   0x479e98
485825:	59                   	pop    %ecx
485826:	8b f0                	mov    %eax,%esi
485828:	e8 08 47 ff ff       	call   0x479f35
48582d:	89 30                	mov    %esi,(%eax)
48582f:	5e                   	pop    %esi
485830:	5d                   	pop    %ebp
485831:	c3                   	ret
485832:	8b ff                	mov    %edi,%edi
485834:	55                   	push   %ebp
485835:	8b ec                	mov    %esp,%ebp
485837:	56                   	push   %esi
485838:	8b 75 08             	mov    0x8(%ebp),%esi
48583b:	83 fe e0             	cmp    $0xffffffe0,%esi
48583e:	77 30                	ja     0x485870
485840:	85 f6                	test   %esi,%esi
485842:	75 17                	jne    0x48585b
485844:	46                   	inc    %esi
485845:	eb 14                	jmp    0x48585b
485847:	e8 c5 f8 ff ff       	call   0x485111
48584c:	85 c0                	test   %eax,%eax
48584e:	74 20                	je     0x485870
485850:	56                   	push   %esi
485851:	e8 06 f9 ff ff       	call   0x48515c
485856:	59                   	pop    %ecx
485857:	85 c0                	test   %eax,%eax
485859:	74 15                	je     0x485870
48585b:	56                   	push   %esi
48585c:	6a 00                	push   $0x0
48585e:	ff 35 e8 8b 4c 00    	push   0x4c8be8
485864:	ff 15 a4 e0 49 00    	call   *0x49e0a4
48586a:	85 c0                	test   %eax,%eax
48586c:	74 d9                	je     0x485847
48586e:	eb 0d                	jmp    0x48587d
485870:	e8 c0 46 ff ff       	call   0x479f35
485875:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
48587b:	33 c0                	xor    %eax,%eax
48587d:	5e                   	pop    %esi
48587e:	5d                   	pop    %ebp
48587f:	c3                   	ret
485880:	8b ff                	mov    %edi,%edi
485882:	55                   	push   %ebp
485883:	8b ec                	mov    %esp,%ebp
485885:	56                   	push   %esi
485886:	8b 75 0c             	mov    0xc(%ebp),%esi
485889:	8b 06                	mov    (%esi),%eax
48588b:	3b 05 fc 87 4c 00    	cmp    0x4c87fc,%eax
485891:	74 17                	je     0x4858aa
485893:	8b 4d 08             	mov    0x8(%ebp),%ecx
485896:	a1 80 45 4c 00       	mov    0x4c4580,%eax
48589b:	85 81 50 03 00 00    	test   %eax,0x350(%ecx)
4858a1:	75 07                	jne    0x4858aa
4858a3:	e8 e6 b9 00 00       	call   0x49128e
4858a8:	89 06                	mov    %eax,(%esi)
4858aa:	5e                   	pop    %esi
4858ab:	5d                   	pop    %ebp
4858ac:	c3                   	ret
4858ad:	8b ff                	mov    %edi,%edi
4858af:	55                   	push   %ebp
4858b0:	8b ec                	mov    %esp,%ebp
4858b2:	8b 45 10             	mov    0x10(%ebp),%eax
4858b5:	56                   	push   %esi
4858b6:	8b 75 0c             	mov    0xc(%ebp),%esi
4858b9:	8b 0e                	mov    (%esi),%ecx
4858bb:	3b 0c 85 fc 87 4c 00 	cmp    0x4c87fc(,%eax,4),%ecx
4858c2:	74 17                	je     0x4858db
4858c4:	8b 4d 08             	mov    0x8(%ebp),%ecx
4858c7:	a1 80 45 4c 00       	mov    0x4c4580,%eax
4858cc:	85 81 50 03 00 00    	test   %eax,0x350(%ecx)
4858d2:	75 07                	jne    0x4858db
4858d4:	e8 b5 b9 00 00       	call   0x49128e
4858d9:	89 06                	mov    %eax,(%esi)
4858db:	5e                   	pop    %esi
4858dc:	5d                   	pop    %ebp
4858dd:	c3                   	ret
4858de:	8b ff                	mov    %edi,%edi
4858e0:	55                   	push   %ebp
4858e1:	8b ec                	mov    %esp,%ebp
4858e3:	56                   	push   %esi
4858e4:	8b 75 0c             	mov    0xc(%ebp),%esi
4858e7:	8b 06                	mov    (%esi),%eax
4858e9:	3b 05 d8 8b 4c 00    	cmp    0x4c8bd8,%eax
4858ef:	74 17                	je     0x485908
4858f1:	8b 4d 08             	mov    0x8(%ebp),%ecx
4858f4:	a1 80 45 4c 00       	mov    0x4c4580,%eax
4858f9:	85 81 50 03 00 00    	test   %eax,0x350(%ecx)
4858ff:	75 07                	jne    0x485908
485901:	e8 22 9f 00 00       	call   0x48f828
485906:	89 06                	mov    %eax,(%esi)
485908:	5e                   	pop    %esi
485909:	5d                   	pop    %ebp
48590a:	c3                   	ret
48590b:	8b ff                	mov    %edi,%edi
48590d:	55                   	push   %ebp
48590e:	8b ec                	mov    %esp,%ebp
485910:	8b 45 10             	mov    0x10(%ebp),%eax
485913:	56                   	push   %esi
485914:	8b 75 0c             	mov    0xc(%ebp),%esi
485917:	8b 0e                	mov    (%esi),%ecx
485919:	3b 0c 85 d8 8b 4c 00 	cmp    0x4c8bd8(,%eax,4),%ecx
485920:	74 17                	je     0x485939
485922:	8b 4d 08             	mov    0x8(%ebp),%ecx
485925:	a1 80 45 4c 00       	mov    0x4c4580,%eax
48592a:	85 81 50 03 00 00    	test   %eax,0x350(%ecx)
485930:	75 07                	jne    0x485939
485932:	e8 f1 9e 00 00       	call   0x48f828
485937:	89 06                	mov    %eax,(%esi)
485939:	5e                   	pop    %esi
48593a:	5d                   	pop    %ebp
48593b:	c3                   	ret
48593c:	8b ff                	mov    %edi,%edi
48593e:	55                   	push   %ebp
48593f:	8b ec                	mov    %esp,%ebp
485941:	8b 45 08             	mov    0x8(%ebp),%eax
485944:	33 c9                	xor    %ecx,%ecx
485946:	56                   	push   %esi
485947:	57                   	push   %edi
485948:	be ff 07 00 00       	mov    $0x7ff,%esi
48594d:	8b 38                	mov    (%eax),%edi
48594f:	8b 50 04             	mov    0x4(%eax),%edx
485952:	8b c2                	mov    %edx,%eax
485954:	c1 e8 14             	shr    $0x14,%eax
485957:	23 c6                	and    %esi,%eax
485959:	3b c6                	cmp    %esi,%eax
48595b:	75 3b                	jne    0x485998
48595d:	8b f2                	mov    %edx,%esi
48595f:	8b c7                	mov    %edi,%eax
485961:	81 e6 ff ff 0f 00    	and    $0xfffff,%esi
485967:	0b c6                	or     %esi,%eax
485969:	75 03                	jne    0x48596e
48596b:	40                   	inc    %eax
48596c:	eb 2c                	jmp    0x48599a
48596e:	b8 00 00 08 00       	mov    $0x80000,%eax
485973:	3b d1                	cmp    %ecx,%edx
485975:	7f 13                	jg     0x48598a
485977:	7c 04                	jl     0x48597d
485979:	3b f9                	cmp    %ecx,%edi
48597b:	73 0d                	jae    0x48598a
48597d:	3b f9                	cmp    %ecx,%edi
48597f:	75 09                	jne    0x48598a
485981:	3b f0                	cmp    %eax,%esi
485983:	75 05                	jne    0x48598a
485985:	6a 04                	push   $0x4
485987:	58                   	pop    %eax
485988:	eb 10                	jmp    0x48599a
48598a:	23 d0                	and    %eax,%edx
48598c:	0b ca                	or     %edx,%ecx
48598e:	74 04                	je     0x485994
485990:	6a 02                	push   $0x2
485992:	eb f3                	jmp    0x485987
485994:	6a 03                	push   $0x3
485996:	eb ef                	jmp    0x485987
485998:	33 c0                	xor    %eax,%eax
48599a:	5f                   	pop    %edi
48599b:	5e                   	pop    %esi
48599c:	5d                   	pop    %ebp
48599d:	c3                   	ret
48599e:	8b ff                	mov    %edi,%edi
4859a0:	55                   	push   %ebp
4859a1:	8b ec                	mov    %esp,%ebp
4859a3:	8b 45 08             	mov    0x8(%ebp),%eax
4859a6:	53                   	push   %ebx
4859a7:	0f bf 5d 14          	movswl 0x14(%ebp),%ebx
4859ab:	56                   	push   %esi
4859ac:	8b 70 04             	mov    0x4(%eax),%esi
4859af:	8b cb                	mov    %ebx,%ecx
4859b1:	57                   	push   %edi
4859b2:	8b 38                	mov    (%eax),%edi
4859b4:	8b d6                	mov    %esi,%edx
4859b6:	23 55 10             	and    0x10(%ebp),%edx
4859b9:	8b c7                	mov    %edi,%eax
4859bb:	23 45 0c             	and    0xc(%ebp),%eax
4859be:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
4859c4:	e8 a7 00 01 00       	call   0x495a70
4859c9:	6a 08                	push   $0x8
4859cb:	0f b7 c0             	movzwl %ax,%eax
4859ce:	59                   	pop    %ecx
4859cf:	66 3b c1             	cmp    %cx,%ax
4859d2:	77 66                	ja     0x485a3a
4859d4:	73 04                	jae    0x4859da
4859d6:	32 c0                	xor    %al,%al
4859d8:	eb 62                	jmp    0x485a3c
4859da:	33 c0                	xor    %eax,%eax
4859dc:	33 d2                	xor    %edx,%edx
4859de:	40                   	inc    %eax
4859df:	8b cb                	mov    %ebx,%ecx
4859e1:	e8 6a 00 01 00       	call   0x495a50
4859e6:	83 c0 ff             	add    $0xffffffff,%eax
4859e9:	83 d2 ff             	adc    $0xffffffff,%edx
4859ec:	23 c7                	and    %edi,%eax
4859ee:	23 d6                	and    %esi,%edx
4859f0:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
4859f6:	0b c2                	or     %edx,%eax
4859f8:	75 40                	jne    0x485a3a
4859fa:	66 83 7d 14 30       	cmpw   $0x30,0x14(%ebp)
4859ff:	74 22                	je     0x485a23
485a01:	0f ac f7 04          	shrd   $0x4,%esi,%edi
485a05:	8b cb                	mov    %ebx,%ecx
485a07:	23 7d 0c             	and    0xc(%ebp),%edi
485a0a:	c1 ee 04             	shr    $0x4,%esi
485a0d:	8b c7                	mov    %edi,%eax
485a0f:	23 75 10             	and    0x10(%ebp),%esi
485a12:	81 e6 ff ff 00 00    	and    $0xffff,%esi
485a18:	8b d6                	mov    %esi,%edx
485a1a:	e8 51 00 01 00       	call   0x495a70
485a1f:	8a c8                	mov    %al,%cl
485a21:	eb 10                	jmp    0x485a33
485a23:	33 c9                	xor    %ecx,%ecx
485a25:	81 e6 00 00 f0 7f    	and    $0x7ff00000,%esi
485a2b:	8b c1                	mov    %ecx,%eax
485a2d:	0b c6                	or     %esi,%eax
485a2f:	74 02                	je     0x485a33
485a31:	b1 01                	mov    $0x1,%cl
485a33:	80 e1 01             	and    $0x1,%cl
485a36:	8a c1                	mov    %cl,%al
485a38:	eb 02                	jmp    0x485a3c
485a3a:	b0 01                	mov    $0x1,%al
485a3c:	5f                   	pop    %edi
485a3d:	5e                   	pop    %esi
485a3e:	5b                   	pop    %ebx
485a3f:	5d                   	pop    %ebp
485a40:	c3                   	ret
485a41:	8b ff                	mov    %edi,%edi
485a43:	55                   	push   %ebp
485a44:	8b ec                	mov    %esp,%ebp
485a46:	83 ec 2c             	sub    $0x2c,%esp
485a49:	33 d2                	xor    %edx,%edx
485a4b:	56                   	push   %esi
485a4c:	8b 75 1c             	mov    0x1c(%ebp),%esi
485a4f:	57                   	push   %edi
485a50:	85 f6                	test   %esi,%esi
485a52:	79 02                	jns    0x485a56
485a54:	8b f2                	mov    %edx,%esi
485a56:	8b 7d 0c             	mov    0xc(%ebp),%edi
485a59:	8d 46 0b             	lea    0xb(%esi),%eax
485a5c:	88 17                	mov    %dl,(%edi)
485a5e:	39 45 10             	cmp    %eax,0x10(%ebp)
485a61:	77 22                	ja     0x485a85
485a63:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
485a66:	6a 22                	push   $0x22
485a68:	5e                   	pop    %esi
485a69:	51                   	push   %ecx
485a6a:	52                   	push   %edx
485a6b:	52                   	push   %edx
485a6c:	52                   	push   %edx
485a6d:	52                   	push   %edx
485a6e:	52                   	push   %edx
485a6f:	c6 41 1c 01          	movb   $0x1,0x1c(%ecx)
485a73:	89 71 18             	mov    %esi,0x18(%ecx)
485a76:	e8 29 3b ff ff       	call   0x4795a4
485a7b:	83 c4 18             	add    $0x18,%esp
485a7e:	8b c6                	mov    %esi,%eax
485a80:	e9 e5 02 00 00       	jmp    0x485d6a
485a85:	53                   	push   %ebx
485a86:	8b 5d 08             	mov    0x8(%ebp),%ebx
485a89:	b9 ff 07 00 00       	mov    $0x7ff,%ecx