52f525:	9e                   	sahf
52f526:	73 1a                	jae    0x52f542
52f528:	8b 45 0c             	mov    0xc(%ebp),%eax
52f52b:	8b 55 e8             	mov    -0x18(%ebp),%edx
52f52e:	89 10                	mov    %edx,(%eax)
52f530:	8b 55 ec             	mov    -0x14(%ebp),%edx
52f533:	89 50 04             	mov    %edx,0x4(%eax)
52f536:	8b 83 14 06 00 00    	mov    0x614(%ebx),%eax
52f53c:	8b 04 b8             	mov    (%eax,%edi,4),%eax
52f53f:	89 45 f4             	mov    %eax,-0xc(%ebp)
52f542:	4f                   	dec    %edi
52f543:	83 ff ff             	cmp    $0xffffffff,%edi
52f546:	0f 85 70 ff ff ff    	jne    0x52f4bc
52f54c:	8b 83 b8 05 00 00    	mov    0x5b8(%ebx),%eax
52f552:	83 f8 ff             	cmp    $0xffffffff,%eax
52f555:	7e 24                	jle    0x52f57b
52f557:	89 45 d0             	mov    %eax,-0x30(%ebp)
52f55a:	db 45 d0             	fildl  -0x30(%ebp)
52f55d:	dc 8b b0 03 00 00    	fmull  0x3b0(%ebx)
52f563:	dd 5d e8             	fstpl  -0x18(%ebp)
52f566:	9b                   	fwait
52f567:	8b 45 0c             	mov    0xc(%ebp),%eax
52f56a:	dd 00                	fldl   (%eax)
52f56c:	dc 5d e8             	fcompl -0x18(%ebp)
52f56f:	df e0                	fnstsw %ax
52f571:	9e                   	sahf
52f572:	76 07                	jbe    0x52f57b
52f574:	c7 45 f4 fd ff ff ff 	movl   $0xfffffffd,-0xc(%ebp)
52f57b:	8b 45 f4             	mov    -0xc(%ebp),%eax
52f57e:	5f                   	pop    %edi
52f57f:	5e                   	pop    %esi
52f580:	5b                   	pop    %ebx
52f581:	8b e5                	mov    %ebp,%esp
52f583:	5d                   	pop    %ebp
52f584:	c2 08 00             	ret    $0x8
52f587:	90                   	nop
52f588:	55                   	push   %ebp
52f589:	8b ec                	mov    %esp,%ebp
52f58b:	83 c4 dc             	add    $0xffffffdc,%esp
52f58e:	53                   	push   %ebx
52f58f:	56                   	push   %esi
52f590:	57                   	push   %edi
52f591:	8b f1                	mov    %ecx,%esi
52f593:	89 55 f8             	mov    %edx,-0x8(%ebp)
52f596:	89 45 fc             	mov    %eax,-0x4(%ebp)
52f599:	8b 7d 08             	mov    0x8(%ebp),%edi
52f59c:	8b 5d f8             	mov    -0x8(%ebp),%ebx
52f59f:	33 c0                	xor    %eax,%eax
52f5a1:	8a 43 10             	mov    0x10(%ebx),%al
52f5a4:	83 f8 0b             	cmp    $0xb,%eax
52f5a7:	0f 87 77 02 00 00    	ja     0x52f824
52f5ad:	ff 24 85 b4 f5 52 00 	jmp    *0x52f5b4(,%eax,4)
52f5b4:	24 f8                	and    $0xf8,%al
52f5b6:	52                   	push   %edx
52f5b7:	00 cf                	add    %cl,%bh
52f5b9:	f6 52 00             	notb   0x0(%edx)
52f5bc:	e4 f5                	in     $0xf5,%al
52f5be:	52                   	push   %edx
52f5bf:	00 4c f7 52          	add    %cl,0x52(%edi,%esi,8)
52f5c3:	00 74 f7 52          	add    %dh,0x52(%edi,%esi,8)
52f5c7:	00 e4                	add    %ah,%ah
52f5c9:	f5                   	cmc
52f5ca:	52                   	push   %edx
52f5cb:	00 e4                	add    %ah,%ah
52f5cd:	f5                   	cmc
52f5ce:	52                   	push   %edx
52f5cf:	00 2c f7             	add    %ch,(%edi,%esi,8)
52f5d2:	52                   	push   %edx
52f5d3:	00 96 f7 52 00 e5    	add    %dl,-0x1affad09(%esi)
52f5d9:	f7 52 00             	notl   0x0(%edx)
52f5dc:	e4 f5                	in     $0xf5,%al
52f5de:	52                   	push   %edx
52f5df:	00 cf                	add    %cl,%bh
52f5e1:	f6 52 00             	notb   0x0(%edx)
52f5e4:	8b 43 04             	mov    0x4(%ebx),%eax
52f5e7:	50                   	push   %eax
52f5e8:	8b 43 08             	mov    0x8(%ebx),%eax
52f5eb:	50                   	push   %eax
52f5ec:	8b 43 04             	mov    0x4(%ebx),%eax
52f5ef:	50                   	push   %eax
52f5f0:	8b 0b                	mov    (%ebx),%ecx
52f5f2:	8b d7                	mov    %edi,%edx
52f5f4:	8b c6                	mov    %esi,%eax
52f5f6:	e8 d5 31 0c 00       	call   0x5f27d0
52f5fb:	83 c4 f8             	add    $0xfffffff8,%esp
52f5fe:	dd 1c 24             	fstpl  (%esp)
52f601:	9b                   	fwait
52f602:	8b 43 04             	mov    0x4(%ebx),%eax
52f605:	50                   	push   %eax
52f606:	8b 43 08             	mov    0x8(%ebx),%eax
52f609:	50                   	push   %eax
52f60a:	8b 43 0c             	mov    0xc(%ebx),%eax
52f60d:	50                   	push   %eax
52f60e:	8b 4b 08             	mov    0x8(%ebx),%ecx
52f611:	8b d7                	mov    %edi,%edx
52f613:	8b c6                	mov    %esi,%eax
52f615:	e8 b6 31 0c 00       	call   0x5f27d0
52f61a:	83 c4 f8             	add    $0xfffffff8,%esp
52f61d:	dd 1c 24             	fstpl  (%esp)
52f620:	9b                   	fwait
52f621:	8b 43 0c             	mov    0xc(%ebx),%eax
52f624:	50                   	push   %eax
52f625:	8b 03                	mov    (%ebx),%eax
52f627:	50                   	push   %eax
52f628:	8b 43 0c             	mov    0xc(%ebx),%eax
52f62b:	50                   	push   %eax
52f62c:	8b 4b 08             	mov    0x8(%ebx),%ecx
52f62f:	8b d7                	mov    %edi,%edx
52f631:	8b c6                	mov    %esi,%eax
52f633:	e8 98 31 0c 00       	call   0x5f27d0
52f638:	83 c4 f8             	add    $0xfffffff8,%esp
52f63b:	dd 1c 24             	fstpl  (%esp)
52f63e:	9b                   	fwait
52f63f:	8b 43 0c             	mov    0xc(%ebx),%eax
52f642:	50                   	push   %eax
52f643:	8b 03                	mov    (%ebx),%eax
52f645:	50                   	push   %eax
52f646:	8b 43 04             	mov    0x4(%ebx),%eax
52f649:	50                   	push   %eax
52f64a:	8b 0b                	mov    (%ebx),%ecx
52f64c:	8b d7                	mov    %edi,%edx
52f64e:	8b c6                	mov    %esi,%eax
52f650:	e8 7b 31 0c 00       	call   0x5f27d0
52f655:	83 c4 f8             	add    $0xfffffff8,%esp
52f658:	dd 1c 24             	fstpl  (%esp)
52f65b:	9b                   	fwait
52f65c:	e8 4b 9d 07 00       	call   0x5a93ac
52f661:	83 c4 f8             	add    $0xfffffff8,%esp
52f664:	dd 1c 24             	fstpl  (%esp)
52f667:	9b                   	fwait
52f668:	e8 3f 9d 07 00       	call   0x5a93ac
52f66d:	83 c4 f8             	add    $0xfffffff8,%esp
52f670:	dd 1c 24             	fstpl  (%esp)
52f673:	9b                   	fwait
52f674:	e8 33 9d 07 00       	call   0x5a93ac
52f679:	dd 5d f0             	fstpl  -0x10(%ebp)
52f67c:	9b                   	fwait
52f67d:	80 7b 10 05          	cmpb   $0x5,0x10(%ebx)
52f681:	74 20                	je     0x52f6a3
52f683:	80 7b 10 06          	cmpb   $0x6,0x10(%ebx)
52f687:	74 1a                	je     0x52f6a3
52f689:	80 7b 10 0a          	cmpb   $0xa,0x10(%ebx)
52f68d:	74 14                	je     0x52f6a3
52f68f:	80 7b 10 02          	cmpb   $0x2,0x10(%ebx)
52f693:	0f 85 97 01 00 00    	jne    0x52f830
52f699:	80 7b 3c 01          	cmpb   $0x1,0x3c(%ebx)
52f69d:	0f 84 8d 01 00 00    	je     0x52f830
52f6a3:	8b 43 04             	mov    0x4(%ebx),%eax
52f6a6:	50                   	push   %eax
52f6a7:	8b 43 08             	mov    0x8(%ebx),%eax
52f6aa:	50                   	push   %eax
52f6ab:	8b 43 0c             	mov    0xc(%ebx),%eax
52f6ae:	50                   	push   %eax
52f6af:	8b 0b                	mov    (%ebx),%ecx
52f6b1:	8b d7                	mov    %edi,%edx
52f6b3:	8b c6                	mov    %esi,%eax
52f6b5:	e8 0e 1b 0c 00       	call   0x5f11c8
52f6ba:	84 c0                	test   %al,%al
52f6bc:	0f 84 6e 01 00 00    	je     0x52f830
52f6c2:	33 c0                	xor    %eax,%eax
52f6c4:	89 45 f0             	mov    %eax,-0x10(%ebp)
52f6c7:	89 45 f4             	mov    %eax,-0xc(%ebp)
52f6ca:	e9 61 01 00 00       	jmp    0x52f830
52f6cf:	8b 43 04             	mov    0x4(%ebx),%eax
52f6d2:	50                   	push   %eax
52f6d3:	8b 43 08             	mov    0x8(%ebx),%eax
52f6d6:	50                   	push   %eax
52f6d7:	8b 43 0c             	mov    0xc(%ebx),%eax
52f6da:	50                   	push   %eax
52f6db:	8b 0b                	mov    (%ebx),%ecx
52f6dd:	8b d7                	mov    %edi,%edx
52f6df:	8b c6                	mov    %esi,%eax
52f6e1:	e8 ea 30 0c 00       	call   0x5f27d0
52f6e6:	dd 5d f0             	fstpl  -0x10(%ebp)
52f6e9:	9b                   	fwait
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