52f303:	8b d5                	mov    %ebp,%edx
52f305:	8b c3                	mov    %ebx,%eax
52f307:	e8 90 fd ff ff       	call   0x52f09c
52f30c:	8b 44 24 04          	mov    0x4(%esp),%eax
52f310:	03 44 24 0c          	add    0xc(%esp),%eax
52f314:	d1 f8                	sar    $1,%eax
52f316:	79 03                	jns    0x52f31b
52f318:	83 d0 00             	adc    $0x0,%eax
52f31b:	50                   	push   %eax
52f31c:	6a 00                	push   $0x0
52f31e:	8b 4c 24 08          	mov    0x8(%esp),%ecx
52f322:	8b d5                	mov    %ebp,%edx
52f324:	8b c3                	mov    %ebx,%eax
52f326:	e8 71 fd ff ff       	call   0x52f09c
52f32b:	8b 44 24 04          	mov    0x4(%esp),%eax
52f32f:	03 44 24 0c          	add    0xc(%esp),%eax
52f333:	d1 f8                	sar    $1,%eax
52f335:	79 03                	jns    0x52f33a
52f337:	83 d0 00             	adc    $0x0,%eax
52f33a:	50                   	push   %eax
52f33b:	6a 00                	push   $0x0
52f33d:	8b 4c 24 10          	mov    0x10(%esp),%ecx
52f341:	8b d5                	mov    %ebp,%edx
52f343:	8b c3                	mov    %ebx,%eax
52f345:	e8 52 fd ff ff       	call   0x52f09c
52f34a:	8b 44 24 04          	mov    0x4(%esp),%eax
52f34e:	50                   	push   %eax
52f34f:	6a 00                	push   $0x0
52f351:	8b 4c 24 08          	mov    0x8(%esp),%ecx
52f355:	03 4c 24 10          	add    0x10(%esp),%ecx
52f359:	d1 f9                	sar    $1,%ecx
52f35b:	79 03                	jns    0x52f360
52f35d:	83 d1 00             	adc    $0x0,%ecx
52f360:	8b d5                	mov    %ebp,%edx
52f362:	8b c3                	mov    %ebx,%eax
52f364:	e8 33 fd ff ff       	call   0x52f09c
52f369:	8b 44 24 0c          	mov    0xc(%esp),%eax
52f36d:	50                   	push   %eax
52f36e:	6a 00                	push   $0x0
52f370:	8b 4c 24 08          	mov    0x8(%esp),%ecx
52f374:	03 4c 24 10          	add    0x10(%esp),%ecx
52f378:	d1 f9                	sar    $1,%ecx
52f37a:	79 03                	jns    0x52f37f
52f37c:	83 d1 00             	adc    $0x0,%ecx
52f37f:	8b d5                	mov    %ebp,%edx
52f381:	8b c3                	mov    %ebx,%eax
52f383:	e8 14 fd ff ff       	call   0x52f09c
52f388:	eb 3e                	jmp    0x52f3c8
52f38a:	c7 44 24 1c 03 00 00 	movl   $0x3,0x1c(%esp)
52f391:	00
52f392:	8d be b8 00 00 00    	lea    0xb8(%esi),%edi
52f398:	8b 17                	mov    (%edi),%edx
52f39a:	8b c3                	mov    %ebx,%eax
52f39c:	e8 07 9d 0a 00       	call   0x5d90a8
52f3a1:	89 44 24 18          	mov    %eax,0x18(%esp)
52f3a5:	8b 57 04             	mov    0x4(%edi),%edx
52f3a8:	8b c3                	mov    %ebx,%eax
52f3aa:	e8 7d 9d 0a 00       	call   0x5d912c
52f3af:	50                   	push   %eax
52f3b0:	6a 00                	push   $0x0
52f3b2:	8b 4c 24 20          	mov    0x20(%esp),%ecx
52f3b6:	8b d5                	mov    %ebp,%edx
52f3b8:	8b c3                	mov    %ebx,%eax
52f3ba:	e8 dd fc ff ff       	call   0x52f09c
52f3bf:	83 c7 08             	add    $0x8,%edi
52f3c2:	ff 4c 24 1c          	decl   0x1c(%esp)
52f3c6:	75 d0                	jne    0x52f398
52f3c8:	8d 44 24 0c          	lea    0xc(%esp),%eax
52f3cc:	50                   	push   %eax
52f3cd:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
52f3d1:	8d 54 24 08          	lea    0x8(%esp),%edx
52f3d5:	8d 44 24 04          	lea    0x4(%esp),%eax
52f3d9:	e8 aa a0 07 00       	call   0x5a9488
52f3de:	80 bb 00 06 00 00 00 	cmpb   $0x0,0x600(%ebx)
52f3e5:	74 2a                	je     0x52f411
52f3e7:	8b 44 24 0c          	mov    0xc(%esp),%eax
52f3eb:	2b 44 24 04          	sub    0x4(%esp),%eax
52f3ef:	40                   	inc    %eax
52f3f0:	d1 e8                	shr    $1,%eax
52f3f2:	03 44 24 04          	add    0x4(%esp),%eax
52f3f6:	50                   	push   %eax
52f3f7:	6a 01                	push   $0x1
52f3f9:	8b 4c 24 10          	mov    0x10(%esp),%ecx
52f3fd:	2b 4c 24 08          	sub    0x8(%esp),%ecx
52f401:	41                   	inc    %ecx
52f402:	d1 e9                	shr    $1,%ecx
52f404:	03 4c 24 08          	add    0x8(%esp),%ecx
52f408:	8b d5                	mov    %ebp,%edx
52f40a:	8b c3                	mov    %ebx,%eax
52f40c:	e8 8b fc ff ff       	call   0x52f09c
52f411:	83 c4 20             	add    $0x20,%esp
52f414:	5d                   	pop    %ebp
52f415:	5f                   	pop    %edi
52f416:	5e                   	pop    %esi
52f417:	5b                   	pop    %ebx
52f418:	c3                   	ret
52f419:	8d 40 00             	lea    0x0(%eax),%eax
52f41c:	55                   	push   %ebp
52f41d:	8b ec                	mov    %esp,%ebp
52f41f:	83 c4 d0             	add    $0xffffffd0,%esp
52f422:	53                   	push   %ebx
52f423:	56                   	push   %esi
52f424:	57                   	push   %edi
52f425:	89 4d f8             	mov    %ecx,-0x8(%ebp)
52f428:	89 55 fc             	mov    %edx,-0x4(%ebp)
52f42b:	8b d8                	mov    %eax,%ebx
52f42d:	8b b3 94 03 00 00    	mov    0x394(%ebx),%esi
52f433:	89 75 d0             	mov    %esi,-0x30(%ebp)
52f436:	db 45 d0             	fildl  -0x30(%ebp)
52f439:	dc 8b b0 03 00 00    	fmull  0x3b0(%ebx)
52f43f:	e8 88 38 ed ff       	call   0x402ccc
52f444:	89 45 e4             	mov    %eax,-0x1c(%ebp)
52f447:	8b bb 98 03 00 00    	mov    0x398(%ebx),%edi
52f44d:	89 7d d0             	mov    %edi,-0x30(%ebp)
52f450:	db 45 d0             	fildl  -0x30(%ebp)
52f453:	dc 8b b0 03 00 00    	fmull  0x3b0(%ebx)
52f459:	e8 6e 38 ed ff       	call   0x402ccc
52f45e:	89 45 e0             	mov    %eax,-0x20(%ebp)
52f461:	03 b3 cc 03 00 00    	add    0x3cc(%ebx),%esi
52f467:	89 75 d0             	mov    %esi,-0x30(%ebp)
52f46a:	db 45 d0             	fildl  -0x30(%ebp)
52f46d:	dc 8b b0 03 00 00    	fmull  0x3b0(%ebx)
52f473:	e8 54 38 ed ff       	call   0x402ccc
52f478:	89 45 dc             	mov    %eax,-0x24(%ebp)
52f47b:	03 bb d0 03 00 00    	add    0x3d0(%ebx),%edi
52f481:	89 7d d0             	mov    %edi,-0x30(%ebp)
52f484:	db 45 d0             	fildl  -0x30(%ebp)
52f487:	dc 8b b0 03 00 00    	fmull  0x3b0(%ebx)
52f48d:	e8 3a 38 ed ff       	call   0x402ccc
52f492:	89 45 d8             	mov    %eax,-0x28(%ebp)
52f495:	8b 45 0c             	mov    0xc(%ebp),%eax
52f498:	c7 00 00 00 c0 ff    	movl   $0xffc00000,(%eax)
52f49e:	c7 40 04 ff ff df 41 	movl   $0x41dfffff,0x4(%eax)
52f4a5:	c7 45 f4 fd ff ff ff 	movl   $0xfffffffd,-0xc(%ebp)
52f4ac:	8b bb 10 06 00 00    	mov    0x610(%ebx),%edi
52f4b2:	4f                   	dec    %edi
52f4b3:	83 ff 00             	cmp    $0x0,%edi
52f4b6:	0f 8c 90 00 00 00    	jl     0x52f54c
52f4bc:	8b 83 14 06 00 00    	mov    0x614(%ebx),%eax
52f4c2:	8b 14 b8             	mov    (%eax,%edi,4),%edx
52f4c5:	8b c3                	mov    %ebx,%eax
52f4c7:	e8 2c fa ff ff       	call   0x52eef8
52f4cc:	89 45 d4             	mov    %eax,-0x2c(%ebp)
52f4cf:	8b 75 d4             	mov    -0x2c(%ebp),%esi
52f4d2:	f6 86 90 00 00 00 01 	testb  $0x1,0x90(%esi)
52f4d9:	75 06                	jne    0x52f4e1
52f4db:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
52f4df:	75 61                	jne    0x52f542
52f4e1:	8b 46 0c             	mov    0xc(%esi),%eax
52f4e4:	50                   	push   %eax
52f4e5:	8b 45 e4             	mov    -0x1c(%ebp),%eax
52f4e8:	50                   	push   %eax
52f4e9:	8b 45 e0             	mov    -0x20(%ebp),%eax
52f4ec:	50                   	push   %eax
52f4ed:	8b 45 dc             	mov    -0x24(%ebp),%eax
52f4f0:	50                   	push   %eax
52f4f1:	8b 45 d8             	mov    -0x28(%ebp),%eax
52f4f4:	50                   	push   %eax
52f4f5:	8b 4e 08             	mov    0x8(%esi),%ecx
52f4f8:	8b 56 04             	mov    0x4(%esi),%edx
52f4fb:	8b 06                	mov    (%esi),%eax
52f4fd:	e8 c2 1b 0c 00       	call   0x5f10c4
52f502:	84 c0                	test   %al,%al
52f504:	74 3c                	je     0x52f542
52f506:	8b 45 f8             	mov    -0x8(%ebp),%eax
52f509:	50                   	push   %eax
52f50a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
52f50d:	8b 55 d4             	mov    -0x2c(%ebp),%edx
52f510:	8b c3                	mov    %ebx,%eax
52f512:	e8 71 00 00 00       	call   0x52f588
52f517:	dd 5d e8             	fstpl  -0x18(%ebp)
52f51a:	9b dd 45 e8          	fldl   -0x18(%ebp)
52f51e:	8b 45 0c             	mov    0xc(%ebp),%eax
52f521:	dc 18                	fcompl (%eax)
52f523:	df e0                	fnstsw %ax
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