52f6ea:	8b 53 34             	mov    0x34(%ebx),%edx
52f6ed:	83 fa 01             	cmp    $0x1,%edx
52f6f0:	0f 8e 3a 01 00 00    	jle    0x52f830
52f6f6:	89 55 dc             	mov    %edx,-0x24(%ebp)
52f6f9:	db 45 dc             	fildl  -0x24(%ebp)
52f6fc:	d8 35 3c f8 52 00    	fdivs  0x52f83c
52f702:	dc 5d f0             	fcompl -0x10(%ebp)
52f705:	df e0                	fnstsw %ax
52f707:	9e                   	sahf
52f708:	76 0d                	jbe    0x52f717
52f70a:	33 c0                	xor    %eax,%eax
52f70c:	89 45 f0             	mov    %eax,-0x10(%ebp)
52f70f:	89 45 f4             	mov    %eax,-0xc(%ebp)
52f712:	e9 19 01 00 00       	jmp    0x52f830
52f717:	db 43 34             	fildl  0x34(%ebx)
52f71a:	d8 35 3c f8 52 00    	fdivs  0x52f83c
52f720:	dc 6d f0             	fsubrl -0x10(%ebp)
52f723:	dd 5d f0             	fstpl  -0x10(%ebp)
52f726:	9b                   	fwait
52f727:	e9 04 01 00 00       	jmp    0x52f830
52f72c:	8b 43 04             	mov    0x4(%ebx),%eax
52f72f:	50                   	push   %eax
52f730:	8b 43 08             	mov    0x8(%ebx),%eax
52f733:	50                   	push   %eax
52f734:	8b 43 0c             	mov    0xc(%ebx),%eax
52f737:	50                   	push   %eax
52f738:	8b 0b                	mov    (%ebx),%ecx
52f73a:	8b d7                	mov    %edi,%edx
52f73c:	8b c6                	mov    %esi,%eax
52f73e:	e8 8d 30 0c 00       	call   0x5f27d0
52f743:	dd 5d f0             	fstpl  -0x10(%ebp)
52f746:	9b                   	fwait
52f747:	e9 e4 00 00 00       	jmp    0x52f830
52f74c:	8b 43 04             	mov    0x4(%ebx),%eax
52f74f:	50                   	push   %eax
52f750:	8b 43 08             	mov    0x8(%ebx),%eax
52f753:	50                   	push   %eax
52f754:	8b 43 0c             	mov    0xc(%ebx),%eax
52f757:	50                   	push   %eax
52f758:	80 7b 3c 01          	cmpb   $0x1,0x3c(%ebx)
52f75c:	0f 95 c0             	setne  %al
52f75f:	50                   	push   %eax
52f760:	8b 0b                	mov    (%ebx),%ecx
52f762:	8b d7                	mov    %edi,%edx
52f764:	8b c6                	mov    %esi,%eax
52f766:	e8 99 34 00 00       	call   0x532c04
52f76b:	dd 5d f0             	fstpl  -0x10(%ebp)
52f76e:	9b                   	fwait
52f76f:	e9 bc 00 00 00       	jmp    0x52f830
52f774:	8b 43 04             	mov    0x4(%ebx),%eax
52f777:	50                   	push   %eax
52f778:	8b 43 08             	mov    0x8(%ebx),%eax
52f77b:	50                   	push   %eax
52f77c:	8b 43 0c             	mov    0xc(%ebx),%eax
52f77f:	50                   	push   %eax
52f780:	6a 00                	push   $0x0
52f782:	8b 0b                	mov    (%ebx),%ecx
52f784:	8b d7                	mov    %edi,%edx
52f786:	8b c6                	mov    %esi,%eax
52f788:	e8 77 34 00 00       	call   0x532c04
52f78d:	dd 5d f0             	fstpl  -0x10(%ebp)
52f790:	9b                   	fwait
52f791:	e9 9a 00 00 00       	jmp    0x52f830
52f796:	8d 45 e0             	lea    -0x20(%ebp),%eax
52f799:	50                   	push   %eax
52f79a:	8d 4d e8             	lea    -0x18(%ebp),%ecx
52f79d:	8b 55 f8             	mov    -0x8(%ebp),%edx
52f7a0:	8b 45 fc             	mov    -0x4(%ebp),%eax
52f7a3:	e8 28 7e 00 00       	call   0x5375d0
52f7a8:	8b 83 98 00 00 00    	mov    0x98(%ebx),%eax
52f7ae:	50                   	push   %eax
52f7af:	8b 83 9c 00 00 00    	mov    0x9c(%ebx),%eax
52f7b5:	50                   	push   %eax
52f7b6:	8b 83 a0 00 00 00    	mov    0xa0(%ebx),%eax
52f7bc:	50                   	push   %eax
52f7bd:	8b 03                	mov    (%ebx),%eax
52f7bf:	50                   	push   %eax
52f7c0:	8b 43 04             	mov    0x4(%ebx),%eax
52f7c3:	50                   	push   %eax
52f7c4:	ff 75 ec             	push   -0x14(%ebp)
52f7c7:	ff 75 e8             	push   -0x18(%ebp)
52f7ca:	ff 75 e4             	push   -0x1c(%ebp)
52f7cd:	ff 75 e0             	push   -0x20(%ebp)
52f7d0:	8b 8b 94 00 00 00    	mov    0x94(%ebx),%ecx
52f7d6:	8b d7                	mov    %edi,%edx
52f7d8:	8b c6                	mov    %esi,%eax
52f7da:	e8 9d 31 0c 00       	call   0x5f297c
52f7df:	dd 5d f0             	fstpl  -0x10(%ebp)
52f7e2:	9b                   	fwait
52f7e3:	eb 4b                	jmp    0x52f830
52f7e5:	8d 93 b8 00 00 00    	lea    0xb8(%ebx),%edx
52f7eb:	b9 02 00 00 00       	mov    $0x2,%ecx
52f7f0:	8b 45 fc             	mov    -0x4(%ebp),%eax
52f7f3:	e8 98 51 00 00       	call   0x534990
52f7f8:	50                   	push   %eax
52f7f9:	6a 00                	push   $0x0
52f7fb:	6a 00                	push   $0x0
52f7fd:	6a 00                	push   $0x0
52f7ff:	6a 00                	push   $0x0
52f801:	68 00 00 f0 3f       	push   $0x3ff00000
52f806:	6a 00                	push   $0x0
52f808:	68 00 00 f0 3f       	push   $0x3ff00000
52f80d:	6a 00                	push   $0x0
52f80f:	8d 8b b8 00 00 00    	lea    0xb8(%ebx),%ecx
52f815:	8b d7                	mov    %edi,%edx
52f817:	8b c6                	mov    %esi,%eax
52f819:	e8 5e 31 0c 00       	call   0x5f297c
52f81e:	dd 5d f0             	fstpl  -0x10(%ebp)
52f821:	9b                   	fwait
52f822:	eb 0c                	jmp    0x52f830
52f824:	33 c0                	xor    %eax,%eax
52f826:	89 45 f0             	mov    %eax,-0x10(%ebp)
52f829:	c7 45 f4 00 00 f0 bf 	movl   $0xbff00000,-0xc(%ebp)
52f830:	dd 45 f0             	fldl   -0x10(%ebp)
52f833:	5f                   	pop    %edi
52f834:	5e                   	pop    %esi
52f835:	5b                   	pop    %ebx
52f836:	8b e5                	mov    %ebp,%esp
52f838:	5d                   	pop    %ebp
52f839:	c2 04 00             	ret    $0x4
52f83c:	00 00                	add    %al,(%eax)
52f83e:	00 40 53             	add    %al,0x53(%eax)
52f841:	56                   	push   %esi
52f842:	57                   	push   %edi
52f843:	55                   	push   %ebp
52f844:	8b ea                	mov    %edx,%ebp
52f846:	8b d8                	mov    %eax,%ebx
52f848:	8b b3 2c 07 00 00    	mov    0x72c(%ebx),%esi
52f84e:	4e                   	dec    %esi
52f84f:	85 f6                	test   %esi,%esi
52f851:	7c 22                	jl     0x52f875
52f853:	46                   	inc    %esi
52f854:	33 ff                	xor    %edi,%edi
52f856:	8b 83 28 07 00 00    	mov    0x728(%ebx),%eax
52f85c:	8b 14 b8             	mov    (%eax,%edi,4),%edx
52f85f:	8b c3                	mov    %ebx,%eax
52f861:	e8 92 f6 ff ff       	call   0x52eef8
52f866:	8b c8                	mov    %eax,%ecx
52f868:	8b d5                	mov    %ebp,%edx
52f86a:	8b c3                	mov    %ebx,%eax
52f86c:	e8 53 f9 ff ff       	call   0x52f1c4
52f871:	47                   	inc    %edi
52f872:	4e                   	dec    %esi
52f873:	75 e1                	jne    0x52f856
52f875:	5d                   	pop    %ebp
52f876:	5f                   	pop    %edi
52f877:	5e                   	pop    %esi
52f878:	5b                   	pop    %ebx
52f879:	c3                   	ret
52f87a:	8b c0                	mov    %eax,%eax
52f87c:	55                   	push   %ebp
52f87d:	8b ec                	mov    %esp,%ebp
52f87f:	53                   	push   %ebx
52f880:	56                   	push   %esi
52f881:	8b 45 08             	mov    0x8(%ebp),%eax
52f884:	8b 58 fc             	mov    -0x4(%eax),%ebx
52f887:	8b 45 08             	mov    0x8(%ebp),%eax
52f88a:	8b 40 f8             	mov    -0x8(%eax),%eax
52f88d:	83 78 5c 00          	cmpl   $0x0,0x5c(%eax)
52f891:	74 24                	je     0x52f8b7
52f893:	b8 3c 00 00 00       	mov    $0x3c,%eax
52f898:	e8 0f 2f ed ff       	call   0x4027ac
52f89d:	8b f0                	mov    %eax,%esi
52f89f:	89 73 5c             	mov    %esi,0x5c(%ebx)
52f8a2:	8b 45 08             	mov    0x8(%ebp),%eax
52f8a5:	8b 50 f8             	mov    -0x8(%eax),%edx
52f8a8:	8b 52 5c             	mov    0x5c(%edx),%edx
52f8ab:	b9 3c 00 00 00       	mov    $0x3c,%ecx
52f8b0:	8b c6                	mov    %esi,%eax
52f8b2:	e8 09 86 ed ff       	call   0x407ec0
52f8b7:	5e                   	pop    %esi
52f8b8:	5b                   	pop    %ebx
52f8b9:	5d                   	pop    %ebp
52f8ba:	c3                   	ret
52f8bb:	90                   	nop
52f8bc:	55                   	push   %ebp
52f8bd:	8b ec                	mov    %esp,%ebp
52f8bf:	83 c4 f0             	add    $0xfffffff0,%esp
52f8c2:	53                   	push   %ebx
52f8c3:	56                   	push   %esi
52f8c4:	57                   	push   %edi
52f8c5:	89 55 f8             	mov    %edx,-0x8(%ebp)
52f8c8:	8b f0                	mov    %eax,%esi
52f8ca:	8b 86 10 06 00 00    	mov    0x610(%esi),%eax
52f8d0:	8b d0                	mov    %eax,%edx
52f8d2:	81 e2 ff 01 00 80    	and    $0x800001ff,%edx
52f8d8:	79 08                	jns    0x52f8e2
52f8da:	4a                   	dec    %edx
52f8db:	81 ca 00 fe ff ff    	or     $0xfffffe00,%edx
52f8e1:	42                   	inc    %edx
52f8e2:	85 d2                	test   %edx,%edx
52f8e4:	75 39                	jne    0x52f91f
52f8e6:	05 00 02 00 00       	add    $0x200,%eax
52f8eb:	83 c0 0a             	add    $0xa,%eax
52f8ee:	c1 e0 02             	shl    $0x2,%eax
52f8f1:	e8 b6 2e ed ff       	call   0x4027ac
52f8f6:	8b d8                	mov    %eax,%ebx
52f8f8:	8b 8e 10 06 00 00    	mov    0x610(%esi),%ecx
52f8fe:	c1 e1 02             	shl    $0x2,%ecx
52f901:	8b 96 14 06 00 00    	mov    0x614(%esi),%edx
52f907:	8b c3                	mov    %ebx,%eax
52f909:	e8 b2 85 ed ff       	call   0x407ec0
52f90e:	8b 86 14 06 00 00    	mov    0x614(%esi),%eax
52f914:	e8 b3 2e ed ff       	call   0x4027cc
52f919:	89 9e 14 06 00 00    	mov    %ebx,0x614(%esi)
52f91f:	8b 86 48 07 00 00    	mov    0x748(%esi),%eax
52f925:	8b d0                	mov    %eax,%edx
52f927:	81 e2 ff 01 00 80    	and    $0x800001ff,%edx
52f92d:	79 08                	jns    0x52f937
52f92f:	4a                   	dec    %edx
52f930:	81 ca 00 fe ff ff    	or     $0xfffffe00,%edx
52f936:	42                   	inc    %edx
52f937:	85 d2                	test   %edx,%edx
52f939:	75 3d                	jne    0x52f978
52f93b:	05 00 02 00 00       	add    $0x200,%eax
52f940:	83 c0 0a             	add    $0xa,%eax
52f943:	69 c0 f8 00 00 00    	imul   $0xf8,%eax,%eax
52f949:	e8 5e 2e ed ff       	call   0x4027ac
52f94e:	8b d8                	mov    %eax,%ebx
52f950:	69 8e 48 07 00 00 f8 	imul   $0xf8,0x748(%esi),%ecx
52f957:	00 00 00
52f95a:	8b 96 44 07 00 00    	mov    0x744(%esi),%edx
52f960:	8b c3                	mov    %ebx,%eax
52f962:	e8 59 85 ed ff       	call   0x407ec0
52f967:	8b 86 44 07 00 00    	mov    0x744(%esi),%eax
52f96d:	e8 5a 2e ed ff       	call   0x4027cc
52f972:	89 9e 44 07 00 00    	mov    %ebx,0x744(%esi)
52f978:	8b 86 48 07 00 00    	mov    0x748(%esi),%eax
52f97e:	8b d0                	mov    %eax,%edx
52f980:	c1 e0 05             	shl    $0x5,%eax
52f983:	2b c2                	sub    %edx,%eax
52f985:	8b 96 44 07 00 00    	mov    0x744(%esi),%edx
52f98b:	8d 04 c2             	lea    (%edx,%eax,8),%eax
52f98e:	89 45 fc             	mov    %eax,-0x4(%ebp)
52f991:	8b 55 f8             	mov    -0x8(%ebp),%edx
52f994:	b9 f8 00 00 00       	mov    $0xf8,%ecx
52f999:	8b 45 fc             	mov    -0x4(%ebp),%eax
52f99c:	e8 1f 85 ed ff       	call   0x407ec0
52f9a1:	8b 86 14 06 00 00    	mov    0x614(%esi),%eax
52f9a7:	8b 96 10 06 00 00    	mov    0x610(%esi),%edx
52f9ad:	8b 8e 48 07 00 00    	mov    0x748(%esi),%ecx
52f9b3:	89 0c 90             	mov    %ecx,(%eax,%edx,4)
52f9b6:	8b 86 48 07 00 00    	mov    0x748(%esi),%eax
52f9bc:	89 45 f4             	mov    %eax,-0xc(%ebp)
52f9bf:	ff 86 48 07 00 00    	incl   0x748(%esi)
52f9c5:	ff 86 10 06 00 00    	incl   0x610(%esi)
52f9cb:	8b 5d fc             	mov    -0x4(%ebp),%ebx
52f9ce:	c7 43 50 ff ff ff ff 	movl   $0xffffffff,0x50(%ebx)
52f9d5:	33 c0                	xor    %eax,%eax
52f9d7:	89 43 58             	mov    %eax,0x58(%ebx)
52f9da:	33 c0                	xor    %eax,%eax
52f9dc:	89 43 5c             	mov    %eax,0x5c(%ebx)
52f9df:	33 c0                	xor    %eax,%eax
52f9e1:	89 43 70             	mov    %eax,0x70(%ebx)
52f9e4:	33 c0                	xor    %eax,%eax
52f9e6:	89 43 74             	mov    %eax,0x74(%ebx)
52f9e9:	33 c0                	xor    %eax,%eax
52f9eb:	89 43 64             	mov    %eax,0x64(%ebx)
52f9ee:	33 c0                	xor    %eax,%eax
52f9f0:	89 43 68             	mov    %eax,0x68(%ebx)
52f9f3:	33 c0                	xor    %eax,%eax
52f9f5:	89 83 b0 00 00 00    	mov    %eax,0xb0(%ebx)
52f9fb:	33 c0                	xor    %eax,%eax
52f9fd:	89 83 b4 00 00 00    	mov    %eax,0xb4(%ebx)
52fa03:	b2 01                	mov    $0x1,%dl
52fa05:	a1 4c 64 5d 00       	mov    0x5d644c,%eax
52fa0a:	e8 39 40 ed ff       	call   0x403a48
52fa0f:	8b f8                	mov    %eax,%edi
52fa11:	89 bb f4 00 00 00    	mov    %edi,0xf4(%ebx)
52fa17:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fa1a:	8b 80 f4 00 00 00    	mov    0xf4(%eax),%eax
52fa20:	8a 40 04             	mov    0x4(%eax),%al
52fa23:	88 47 04             	mov    %al,0x4(%edi)
52fa26:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fa29:	8b 80 f4 00 00 00    	mov    0xf4(%eax),%eax
52fa2f:	8b 50 08             	mov    0x8(%eax),%edx
52fa32:	89 57 08             	mov    %edx,0x8(%edi)
52fa35:	8b 50 0c             	mov    0xc(%eax),%edx
52fa38:	89 57 0c             	mov    %edx,0xc(%edi)
52fa3b:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fa3e:	8b 80 f4 00 00 00    	mov    0xf4(%eax),%eax
52fa44:	8b 40 10             	mov    0x10(%eax),%eax
52fa47:	89 47 10             	mov    %eax,0x10(%edi)
52fa4a:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fa4d:	8b 80 f4 00 00 00    	mov    0xf4(%eax),%eax
52fa53:	8b 40 14             	mov    0x14(%eax),%eax
52fa56:	89 47 14             	mov    %eax,0x14(%edi)
52fa59:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fa5c:	8b 80 f4 00 00 00    	mov    0xf4(%eax),%eax
52fa62:	8b 40 18             	mov    0x18(%eax),%eax
52fa65:	89 47 18             	mov    %eax,0x18(%edi)
52fa68:	80 7b 10 05          	cmpb   $0x5,0x10(%ebx)
52fa6c:	75 14                	jne    0x52fa82
52fa6e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
52fa71:	8b 49 50             	mov    0x50(%ecx),%ecx
52fa74:	8b 96 48 07 00 00    	mov    0x748(%esi),%edx
52fa7a:	4a                   	dec    %edx
52fa7b:	8b c6                	mov    %esi,%eax
52fa7d:	e8 3a f3 ff ff       	call   0x52edbc
52fa82:	8a 43 10             	mov    0x10(%ebx),%al
52fa85:	3c 06                	cmp    $0x6,%al
52fa87:	74 04                	je     0x52fa8d
52fa89:	3c 0b                	cmp    $0xb,%al
52fa8b:	75 61                	jne    0x52faee
52fa8d:	8b 75 f8             	mov    -0x8(%ebp),%esi
52fa90:	8b 76 58             	mov    0x58(%esi),%esi
52fa93:	85 f6                	test   %esi,%esi
52fa95:	74 0f                	je     0x52faa6
52fa97:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fa9a:	8b c6                	mov    %esi,%eax
52fa9c:	e8 9f d8 ff ff       	call   0x52d340
52faa1:	89 43 58             	mov    %eax,0x58(%ebx)
52faa4:	eb 0d                	jmp    0x52fab3
52faa6:	b8 d4 fc 52 00       	mov    $0x52fcd4,%eax
52faab:	e8 90 d8 ff ff       	call   0x52d340
52fab0:	89 43 58             	mov    %eax,0x58(%ebx)
52fab3:	55                   	push   %ebp
52fab4:	e8 c3 fd ff ff       	call   0x52f87c
52fab9:	59                   	pop    %ecx
52faba:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fabd:	8b 40 68             	mov    0x68(%eax),%eax
52fac0:	85 c0                	test   %eax,%eax
52fac2:	7e 2a                	jle    0x52faee
52fac4:	8b 55 f8             	mov    -0x8(%ebp),%edx
52fac7:	8b f0                	mov    %eax,%esi
52fac9:	89 73 68             	mov    %esi,0x68(%ebx)
52facc:	8b c6                	mov    %esi,%eax
52face:	c1 e0 04             	shl    $0x4,%eax
52fad1:	e8 d6 2c ed ff       	call   0x4027ac
52fad6:	8b f8                	mov    %eax,%edi
52fad8:	89 7b 64             	mov    %edi,0x64(%ebx)
52fadb:	8b 4b 68             	mov    0x68(%ebx),%ecx
52fade:	c1 e1 04             	shl    $0x4,%ecx
52fae1:	8b d7                	mov    %edi,%edx
52fae3:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fae6:	8b 40 64             	mov    0x64(%eax),%eax
52fae9:	e8 32 2f ed ff       	call   0x402a20
52faee:	80 7b 10 0a          	cmpb   $0xa,0x10(%ebx)
52faf2:	0f 85 a9 00 00 00    	jne    0x52fba1
52faf8:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fafb:	8b 40 58             	mov    0x58(%eax),%eax
52fafe:	e8 3d d8 ff ff       	call   0x52d340
52fb03:	89 43 58             	mov    %eax,0x58(%ebx)
52fb06:	55                   	push   %ebp
52fb07:	e8 70 fd ff ff       	call   0x52f87c
52fb0c:	59                   	pop    %ecx
52fb0d:	8b 45 f8             	mov    -0x8(%ebp),%eax
52fb10:	83 78 70 00          	cmpl   $0x0,0x70(%eax)
52fb14:	0f 84 87 00 00 00    	je     0x52fba1
52fb1a:	8b 43 58             	mov    0x58(%ebx),%eax