47b1c7:	8b ce                	mov    %esi,%ecx
47b1c9:	ff 15 2c 81 4a 00    	call   *0x4a812c
47b1cf:	8b cf                	mov    %edi,%ecx
47b1d1:	ff d6                	call   *%esi
47b1d3:	50                   	push   %eax
47b1d4:	8d 45 ec             	lea    -0x14(%ebp),%eax
47b1d7:	50                   	push   %eax
47b1d8:	ff 15 24 7d 4a 00    	call   *0x4a7d24
47b1de:	8b 45 f4             	mov    -0xc(%ebp),%eax
47b1e1:	03 45 ec             	add    -0x14(%ebp),%eax
47b1e4:	8b 7d d8             	mov    -0x28(%ebp),%edi
47b1e7:	99                   	cltd
47b1e8:	2b c2                	sub    %edx,%eax
47b1ea:	8b 55 f8             	mov    -0x8(%ebp),%edx
47b1ed:	8b f0                	mov    %eax,%esi
47b1ef:	8b 45 f0             	mov    -0x10(%ebp),%eax
47b1f2:	d1 fe                	sar    $1,%esi
47b1f4:	89 37                	mov    %esi,(%edi)
47b1f6:	8d 04 10             	lea    (%eax,%edx,1),%eax
47b1f9:	99                   	cltd
47b1fa:	2b c2                	sub    %edx,%eax
47b1fc:	d1 f8                	sar    $1,%eax
47b1fe:	89 47 04             	mov    %eax,0x4(%edi)
47b201:	eb 4c                	jmp    0x47b24f
47b203:	6a 02                	push   $0x2
47b205:	8d 45 ec             	lea    -0x14(%ebp),%eax
47b208:	59                   	pop    %ecx
47b209:	83 20 00             	andl   $0x0,(%eax)
47b20c:	8d 40 08             	lea    0x8(%eax),%eax
47b20f:	83 60 fc 00          	andl   $0x0,-0x4(%eax)
47b213:	83 e9 01             	sub    $0x1,%ecx
47b216:	75 f1                	jne    0x47b209
47b218:	8b 43 24             	mov    0x24(%ebx),%eax
47b21b:	8d 4d ec             	lea    -0x14(%ebp),%ecx
47b21e:	6a 02                	push   $0x2
47b220:	51                   	push   %ecx
47b221:	8b 78 20             	mov    0x20(%eax),%edi
47b224:	8b 07                	mov    (%edi),%eax
47b226:	8b 70 78             	mov    0x78(%eax),%esi
47b229:	8b ce                	mov    %esi,%ecx
47b22b:	ff 15 2c 81 4a 00    	call   *0x4a812c
47b231:	8b cf                	mov    %edi,%ecx
47b233:	ff d6                	call   *%esi
47b235:	8b 53 28             	mov    0x28(%ebx),%edx
47b238:	8b 7d d8             	mov    -0x28(%ebp),%edi
47b23b:	8b 4c d5 ec          	mov    -0x14(%ebp,%edx,8),%ecx
47b23f:	89 0f                	mov    %ecx,(%edi)
47b241:	8b 4c d5 f0          	mov    -0x10(%ebp,%edx,8),%ecx
47b245:	89 4f 04             	mov    %ecx,0x4(%edi)
47b248:	c7 43 14 02 00 00 00 	movl   $0x2,0x14(%ebx)
47b24f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47b252:	8b c7                	mov    %edi,%eax
47b254:	5f                   	pop    %edi
47b255:	5e                   	pop    %esi
47b256:	33 cd                	xor    %ebp,%ecx
47b258:	5b                   	pop    %ebx
47b259:	e8 a2 4c 01 00       	call   0x48ff00
47b25e:	c9                   	leave
47b25f:	c2 08 00             	ret    $0x8
47b262:	cc                   	int3
47b263:	cc                   	int3
47b264:	cc                   	int3
47b265:	cc                   	int3
47b266:	cc                   	int3
47b267:	cc                   	int3
47b268:	cc                   	int3
47b269:	cc                   	int3
47b26a:	cc                   	int3
47b26b:	cc                   	int3
47b26c:	cc                   	int3
47b26d:	cc                   	int3
47b26e:	cc                   	int3
47b26f:	cc                   	int3
47b270:	8b ff                	mov    %edi,%edi
47b272:	55                   	push   %ebp
47b273:	8b ec                	mov    %esp,%ebp
47b275:	83 ec 24             	sub    $0x24,%esp
47b278:	56                   	push   %esi
47b279:	57                   	push   %edi
47b27a:	8b f1                	mov    %ecx,%esi
47b27c:	8d 45 dc             	lea    -0x24(%ebp),%eax
47b27f:	6a 02                	push   $0x2
47b281:	89 75 f8             	mov    %esi,-0x8(%ebp)
47b284:	33 c9                	xor    %ecx,%ecx
47b286:	5a                   	pop    %edx
47b287:	89 08                	mov    %ecx,(%eax)
47b289:	8d 40 08             	lea    0x8(%eax),%eax
47b28c:	89 48 fc             	mov    %ecx,-0x4(%eax)
47b28f:	83 ea 01             	sub    $0x1,%edx
47b292:	75 f3                	jne    0x47b287
47b294:	8b 46 14             	mov    0x14(%esi),%eax
47b297:	89 4d ec             	mov    %ecx,-0x14(%ebp)
47b29a:	89 4d f0             	mov    %ecx,-0x10(%ebp)
47b29d:	89 4d f4             	mov    %ecx,-0xc(%ebp)
47b2a0:	83 e8 01             	sub    $0x1,%eax
47b2a3:	74 3d                	je     0x47b2e2
47b2a5:	83 e8 01             	sub    $0x1,%eax
47b2a8:	0f 85 c9 00 00 00    	jne    0x47b377
47b2ae:	8b 45 08             	mov    0x8(%ebp),%eax
47b2b1:	8b 08                	mov    (%eax),%ecx
47b2b3:	8b 40 04             	mov    0x4(%eax),%eax
47b2b6:	89 45 f0             	mov    %eax,-0x10(%ebp)
47b2b9:	8b 46 28             	mov    0x28(%esi),%eax
47b2bc:	89 45 f4             	mov    %eax,-0xc(%ebp)
47b2bf:	8b 46 24             	mov    0x24(%esi),%eax
47b2c2:	89 4d ec             	mov    %ecx,-0x14(%ebp)
47b2c5:	8d 4d ec             	lea    -0x14(%ebp),%ecx
47b2c8:	51                   	push   %ecx
47b2c9:	8b 78 20             	mov    0x20(%eax),%edi
47b2cc:	8b 07                	mov    (%edi),%eax
47b2ce:	8b 70 30             	mov    0x30(%eax),%esi
47b2d1:	8b ce                	mov    %esi,%ecx
47b2d3:	ff 15 2c 81 4a 00    	call   *0x4a812c
47b2d9:	8b cf                	mov    %edi,%ecx
47b2db:	ff d6                	call   *%esi
47b2dd:	e9 95 00 00 00       	jmp    0x47b377
47b2e2:	8b 45 08             	mov    0x8(%ebp),%eax
47b2e5:	8b 4e 08             	mov    0x8(%esi),%ecx
47b2e8:	53                   	push   %ebx
47b2e9:	8b 5e 0c             	mov    0xc(%esi),%ebx
47b2ec:	2b 08                	sub    (%eax),%ecx
47b2ee:	2b 58 04             	sub    0x4(%eax),%ebx
47b2f1:	8b 46 24             	mov    0x24(%esi),%eax
47b2f4:	89 4d fc             	mov    %ecx,-0x4(%ebp)
47b2f7:	8d 4d dc             	lea    -0x24(%ebp),%ecx
47b2fa:	6a 02                	push   $0x2
47b2fc:	51                   	push   %ecx
47b2fd:	8b 78 20             	mov    0x20(%eax),%edi
47b300:	8b 07                	mov    (%edi),%eax
47b302:	8b 70 78             	mov    0x78(%eax),%esi
47b305:	8b ce                	mov    %esi,%ecx
47b307:	ff 15 2c 81 4a 00    	call   *0x4a812c
47b30d:	8b cf                	mov    %edi,%ecx
47b30f:	ff d6                	call   *%esi
47b311:	8b 45 e0             	mov    -0x20(%ebp),%eax
47b314:	8b 4d dc             	mov    -0x24(%ebp),%ecx
47b317:	2b c3                	sub    %ebx,%eax
47b319:	2b 4d fc             	sub    -0x4(%ebp),%ecx
47b31c:	89 45 f0             	mov    %eax,-0x10(%ebp)
47b31f:	8b 45 f8             	mov    -0x8(%ebp),%eax
47b322:	89 4d ec             	mov    %ecx,-0x14(%ebp)
47b325:	8d 4d ec             	lea    -0x14(%ebp),%ecx
47b328:	51                   	push   %ecx
47b329:	8b 40 24             	mov    0x24(%eax),%eax
47b32c:	8b 78 20             	mov    0x20(%eax),%edi
47b32f:	8b 07                	mov    (%edi),%eax
47b331:	8b 70 30             	mov    0x30(%eax),%esi
47b334:	8b ce                	mov    %esi,%ecx
47b336:	ff 15 2c 81 4a 00    	call   *0x4a812c
47b33c:	8b cf                	mov    %edi,%ecx
47b33e:	ff d6                	call   *%esi
47b340:	8b 45 e8             	mov    -0x18(%ebp),%eax
47b343:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
47b346:	2b c3                	sub    %ebx,%eax
47b348:	2b 4d fc             	sub    -0x4(%ebp),%ecx
47b34b:	89 45 f0             	mov    %eax,-0x10(%ebp)
47b34e:	8b 45 f8             	mov    -0x8(%ebp),%eax
47b351:	89 4d ec             	mov    %ecx,-0x14(%ebp)
47b354:	8d 4d ec             	lea    -0x14(%ebp),%ecx
47b357:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
47b35e:	51                   	push   %ecx
47b35f:	8b 40 24             	mov    0x24(%eax),%eax
47b362:	8b 78 20             	mov    0x20(%eax),%edi
47b365:	8b 07                	mov    (%edi),%eax
47b367:	8b 70 30             	mov    0x30(%eax),%esi
47b36a:	8b ce                	mov    %esi,%ecx
47b36c:	ff 15 2c 81 4a 00    	call   *0x4a812c
47b372:	8b cf                	mov    %edi,%ecx
47b374:	ff d6                	call   *%esi
47b376:	5b                   	pop    %ebx
47b377:	5f                   	pop    %edi
47b378:	5e                   	pop    %esi
47b379:	c9                   	leave
47b37a:	c2 04 00             	ret    $0x4
47b37d:	cc                   	int3
47b37e:	cc                   	int3
47b37f:	cc                   	int3
47b380:	8b ff                	mov    %edi,%edi
47b382:	55                   	push   %ebp
47b383:	8b ec                	mov    %esp,%ebp
47b385:	83 ec 10             	sub    $0x10,%esp
47b388:	8d 45 f0             	lea    -0x10(%ebp),%eax
47b38b:	6a 02                	push   $0x2
47b38d:	5a                   	pop    %edx
47b38e:	83 20 00             	andl   $0x0,(%eax)
47b391:	8d 40 08             	lea    0x8(%eax),%eax
47b394:	83 60 fc 00          	andl   $0x0,-0x4(%eax)
47b398:	83 ea 01             	sub    $0x1,%edx
47b39b:	75 f1                	jne    0x47b38e
47b39d:	8b 45 08             	mov    0x8(%ebp),%eax
47b3a0:	83 e8 09             	sub    $0x9,%eax
47b3a3:	74 46                	je     0x47b3eb
47b3a5:	83 e8 01             	sub    $0x1,%eax
47b3a8:	74 0c                	je     0x47b3b6
47b3aa:	ff 75 08             	push   0x8(%ebp)
47b3ad:	e8 fe 48 00 00       	call   0x47fcb0
47b3b2:	8a c8                	mov    %al,%cl
47b3b4:	eb 37                	jmp    0x47b3ed
47b3b6:	8b 41 24             	mov    0x24(%ecx),%eax
47b3b9:	8d 4d f0             	lea    -0x10(%ebp),%ecx
47b3bc:	56                   	push   %esi
47b3bd:	57                   	push   %edi
47b3be:	6a 02                	push   $0x2
47b3c0:	8b 78 20             	mov    0x20(%eax),%edi
47b3c3:	51                   	push   %ecx
47b3c4:	8b 07                	mov    (%edi),%eax
47b3c6:	8b 70 78             	mov    0x78(%eax),%esi
47b3c9:	8b ce                	mov    %esi,%ecx
47b3cb:	ff 15 2c 81 4a 00    	call   *0x4a812c
47b3d1:	8b cf                	mov    %edi,%ecx
47b3d3:	ff d6                	call   *%esi
47b3d5:	8b 4d f0             	mov    -0x10(%ebp),%ecx
47b3d8:	8b 45 f4             	mov    -0xc(%ebp),%eax
47b3db:	2b 4d f8             	sub    -0x8(%ebp),%ecx
47b3de:	2b 45 fc             	sub    -0x4(%ebp),%eax
47b3e1:	0f af c8             	imul   %eax,%ecx
47b3e4:	5f                   	pop    %edi
47b3e5:	5e                   	pop    %esi
47b3e6:	c1 e9 1f             	shr    $0x1f,%ecx
47b3e9:	eb 02                	jmp    0x47b3ed
47b3eb:	32 c9                	xor    %cl,%cl
47b3ed:	8a c1                	mov    %cl,%al
47b3ef:	c9                   	leave
47b3f0:	c2 04 00             	ret    $0x4
47b3f3:	8b ff                	mov    %edi,%edi
47b3f5:	55                   	push   %ebp
47b3f6:	8b ec                	mov    %esp,%ebp
47b3f8:	83 ec 18             	sub    $0x18,%esp
47b3fb:	d9 ee                	fldz
47b3fd:	56                   	push   %esi
47b3fe:	8b 75 18             	mov    0x18(%ebp),%esi
47b401:	57                   	push   %edi
47b402:	8b 7d 1c             	mov    0x1c(%ebp),%edi
47b405:	d9 5d fc             	fstps  -0x4(%ebp)
47b408:	39 75 10             	cmp    %esi,0x10(%ebp)
47b40b:	75 09                	jne    0x47b416
47b40d:	39 7d 14             	cmp    %edi,0x14(%ebp)
47b410:	0f 84 44 01 00 00    	je     0x47b55a
47b416:	2b 75 10             	sub    0x10(%ebp),%esi
47b419:	2b 7d 14             	sub    0x14(%ebp),%edi
47b41c:	8b ce                	mov    %esi,%ecx
47b41e:	8b 45 08             	mov    0x8(%ebp),%eax
47b421:	8b d7                	mov    %edi,%edx
47b423:	2b 45 10             	sub    0x10(%ebp),%eax
47b426:	0f af c8             	imul   %eax,%ecx
47b429:	89 45 e8             	mov    %eax,-0x18(%ebp)
47b42c:	8b c7                	mov    %edi,%eax
47b42e:	53                   	push   %ebx
47b42f:	8b 5d 0c             	mov    0xc(%ebp),%ebx
47b432:	2b 5d 14             	sub    0x14(%ebp),%ebx
47b435:	0f af c3             	imul   %ebx,%eax
47b438:	0f af d7             	imul   %edi,%edx
47b43b:	89 75 f8             	mov    %esi,-0x8(%ebp)
47b43e:	03 c8                	add    %eax,%ecx
47b440:	8b c6                	mov    %esi,%eax
47b442:	89 4d fc             	mov    %ecx,-0x4(%ebp)
47b445:	db 45 fc             	fildl  -0x4(%ebp)
47b448:	89 55 f0             	mov    %edx,-0x10(%ebp)
47b44b:	0f af c6             	imul   %esi,%eax
47b44e:	d9 5d fc             	fstps  -0x4(%ebp)
47b451:	d9 45 fc             	flds   -0x4(%ebp)
47b454:	03 c2                	add    %edx,%eax
47b456:	89 45 fc             	mov    %eax,-0x4(%ebp)
47b459:	db 45 fc             	fildl  -0x4(%ebp)
47b45c:	d9 5d fc             	fstps  -0x4(%ebp)
47b45f:	d8 75 fc             	fdivs  -0x4(%ebp)
47b462:	d9 5d ec             	fstps  -0x14(%ebp)
47b465:	db 45 f8             	fildl  -0x8(%ebp)
47b468:	d9 5d f8             	fstps  -0x8(%ebp)
47b46b:	d9 45 f8             	flds   -0x8(%ebp)
47b46e:	8b 4d 14             	mov    0x14(%ebp),%ecx
47b471:	2b 4d 0c             	sub    0xc(%ebp),%ecx
47b474:	8b 45 10             	mov    0x10(%ebp),%eax
47b477:	2b 45 08             	sub    0x8(%ebp),%eax
47b47a:	0f af ce             	imul   %esi,%ecx
47b47d:	0f af c7             	imul   %edi,%eax
47b480:	2b c8                	sub    %eax,%ecx
47b482:	89 4d f8             	mov    %ecx,-0x8(%ebp)
47b485:	db 45 f8             	fildl  -0x8(%ebp)
47b488:	d9 5d f8             	fstps  -0x8(%ebp)
47b48b:	d9 45 f8             	flds   -0x8(%ebp)
47b48e:	d9 e1                	fabs
47b490:	dd 5d f4             	fstpl  -0xc(%ebp)
47b493:	dc c8                	fmul   %st,%st(0)
47b495:	db 45 f0             	fildl  -0x10(%ebp)
47b498:	d9 5d f0             	fstps  -0x10(%ebp)
47b49b:	d8 45 f0             	fadds  -0x10(%ebp)
47b49e:	d9 5d f0             	fstps  -0x10(%ebp)
47b4a1:	d9 45 f0             	flds   -0x10(%ebp)
47b4a4:	e8 38 5a 01 00       	call   0x490ee1
47b4a9:	d9 5d f0             	fstps  -0x10(%ebp)
47b4ac:	d9 45 f0             	flds   -0x10(%ebp)
47b4af:	dc 7d f4             	fdivrl -0xc(%ebp)
47b4b2:	d9 5d fc             	fstps  -0x4(%ebp)
47b4b5:	d9 45 ec             	flds   -0x14(%ebp)
47b4b8:	d9 ee                	fldz
47b4ba:	d8 d9                	fcomp  %st(1)
47b4bc:	df e0                	fnstsw %ax
47b4be:	f6 c4 41             	test   $0x41,%ah
47b4c1:	74 11                	je     0x47b4d4
47b4c3:	d9 e8                	fld1
47b4c5:	de d9                	fcompp
47b4c7:	df e0                	fnstsw %ax
47b4c9:	f6 c4 05             	test   $0x5,%ah
47b4cc:	0f 8a 87 00 00 00    	jp     0x47b559
47b4d2:	eb 02                	jmp    0x47b4d6
47b4d4:	dd d8                	fstp   %st(0)
47b4d6:	db 45 e8             	fildl  -0x18(%ebp)
47b4d9:	0f af db             	imul   %ebx,%ebx
47b4dc:	d9 5d e8             	fstps  -0x18(%ebp)
47b4df:	d9 45 e8             	flds   -0x18(%ebp)
47b4e2:	8b 45 08             	mov    0x8(%ebp),%eax
47b4e5:	2b 45 18             	sub    0x18(%ebp),%eax
47b4e8:	89 45 e8             	mov    %eax,-0x18(%ebp)
47b4eb:	db 45 e8             	fildl  -0x18(%ebp)
47b4ee:	d9 5d e8             	fstps  -0x18(%ebp)
47b4f1:	d9 45 e8             	flds   -0x18(%ebp)
47b4f4:	8b 45 0c             	mov    0xc(%ebp),%eax
47b4f7:	2b 45 1c             	sub    0x1c(%ebp),%eax
47b4fa:	89 5d e8             	mov    %ebx,-0x18(%ebp)
47b4fd:	db 45 e8             	fildl  -0x18(%ebp)
47b500:	0f af c0             	imul   %eax,%eax
47b503:	d9 5d e8             	fstps  -0x18(%ebp)
47b506:	d9 45 e8             	flds   -0x18(%ebp)
47b509:	d9 ca                	fxch   %st(2)
47b50b:	dc c8                	fmul   %st,%st(0)
47b50d:	de c2                	faddp  %st,%st(2)
47b50f:	d9 c9                	fxch   %st(1)
47b511:	d9 5d e8             	fstps  -0x18(%ebp)
47b514:	d9 45 e8             	flds   -0x18(%ebp)
47b517:	89 45 e8             	mov    %eax,-0x18(%ebp)
47b51a:	db 45 e8             	fildl  -0x18(%ebp)
47b51d:	d9 5d e8             	fstps  -0x18(%ebp)
47b520:	d9 45 e8             	flds   -0x18(%ebp)
47b523:	d9 ca                	fxch   %st(2)
47b525:	dc c8                	fmul   %st,%st(0)
47b527:	de c2                	faddp  %st,%st(2)
47b529:	d9 c9                	fxch   %st(1)
47b52b:	d9 5d e8             	fstps  -0x18(%ebp)
47b52e:	d9 45 e8             	flds   -0x18(%ebp)
47b531:	d8 d1                	fcom   %st(1)
47b533:	df e0                	fnstsw %ax
47b535:	f6 c4 41             	test   $0x41,%ah
47b538:	75 0f                	jne    0x47b549
47b53a:	dd d8                	fstp   %st(0)
47b53c:	e8 a0 59 01 00       	call   0x490ee1
47b541:	d9 5d e8             	fstps  -0x18(%ebp)
47b544:	d9 45 e8             	flds   -0x18(%ebp)
47b547:	eb 0d                	jmp    0x47b556
47b549:	dd d9                	fstp   %st(1)