40a165:	dc 35 f2 bb 4c 00    	fdivl  0x4cbbf2
40a16b:	dd 5d c8             	fstpl  -0x38(%ebp)
40a16e:	8b 55 cc             	mov    -0x34(%ebp),%edx
40a171:	8b 45 c8             	mov    -0x38(%ebp),%eax
40a174:	89 45 d8             	mov    %eax,-0x28(%ebp)
40a177:	89 55 dc             	mov    %edx,-0x24(%ebp)
40a17a:	e9 3b 00 00 00       	jmp    0x40a1ba
40a17f:	dd 45 e0             	fldl   -0x20(%ebp)
40a182:	dc 35 aa 0a 4e 00    	fdivl  0x4e0aaa
40a188:	dd 5d c8             	fstpl  -0x38(%ebp)
40a18b:	dd 45 f0             	fldl   -0x10(%ebp)
40a18e:	dc 75 d0             	fdivl  -0x30(%ebp)
40a191:	dd 5d c0             	fstpl  -0x40(%ebp)
40a194:	ff 75 c4             	push   -0x3c(%ebp)
40a197:	ff 75 c0             	push   -0x40(%ebp)
40a19a:	e8 f0 da ff ff       	call   0x407c8f
40a19f:	89 45 b8             	mov    %eax,-0x48(%ebp)
40a1a2:	89 55 bc             	mov    %edx,-0x44(%ebp)
40a1a5:	dd 45 c8             	fldl   -0x38(%ebp)
40a1a8:	dc 4d b8             	fmull  -0x48(%ebp)
40a1ab:	dd 5d b0             	fstpl  -0x50(%ebp)
40a1ae:	8b 55 b4             	mov    -0x4c(%ebp),%edx
40a1b1:	8b 45 b0             	mov    -0x50(%ebp),%eax
40a1b4:	89 45 d8             	mov    %eax,-0x28(%ebp)
40a1b7:	89 55 dc             	mov    %edx,-0x24(%ebp)
40a1ba:	dd 45 f8             	fldl   -0x8(%ebp)
40a1bd:	dc 25 9a bb 4c 00    	fsubl  0x4cbb9a
40a1c3:	dc 1d 7a bb 4c 00    	fcompl 0x4cbb7a
40a1c9:	df e0                	fnstsw %ax
40a1cb:	f6 c4 01             	test   $0x1,%ah
40a1ce:	0f 84 ba 00 00 00    	je     0x40a28e
40a1d4:	dd 45 f8             	fldl   -0x8(%ebp)
40a1d7:	dc 25 9a bb 4c 00    	fsubl  0x4cbb9a
40a1dd:	dd 5d f8             	fstpl  -0x8(%ebp)
40a1e0:	dd 45 f8             	fldl   -0x8(%ebp)
40a1e3:	dc 0d ba 0a 4e 00    	fmull  0x4e0aba
40a1e9:	dd 5d c8             	fstpl  -0x38(%ebp)
40a1ec:	68 01 06 00 80       	push   $0x80000601
40a1f1:	ff 75 cc             	push   -0x34(%ebp)
40a1f4:	ff 75 c8             	push   -0x38(%ebp)
40a1f7:	68 01 06 00 80       	push   $0x80000601
40a1fc:	68 00 00 00 40       	push   $0x40000000
40a201:	68 00 00 00 00       	push   $0x0
40a206:	68 02 00 00 00       	push   $0x2
40a20b:	bb 6c 00 00 00       	mov    $0x6c,%ebx
40a210:	e8 eb 73 09 00       	call   0x4a1600
40a215:	83 c4 1c             	add    $0x1c,%esp
40a218:	89 45 c0             	mov    %eax,-0x40(%ebp)
40a21b:	89 55 c4             	mov    %edx,-0x3c(%ebp)
40a21e:	dd 45 f8             	fldl   -0x8(%ebp)
40a221:	dc 4d e8             	fmull  -0x18(%ebp)
40a224:	dd 5d b8             	fstpl  -0x48(%ebp)
40a227:	dd 45 b8             	fldl   -0x48(%ebp)
40a22a:	dc 65 d8             	fsubl  -0x28(%ebp)
40a22d:	dd 5d b0             	fstpl  -0x50(%ebp)
40a230:	dd 45 b0             	fldl   -0x50(%ebp)
40a233:	dc 0d aa 0a 4e 00    	fmull  0x4e0aaa
40a239:	dd 5d a8             	fstpl  -0x58(%ebp)
40a23c:	dd 45 a8             	fldl   -0x58(%ebp)
40a23f:	dc 75 e0             	fdivl  -0x20(%ebp)
40a242:	dd 5d a0             	fstpl  -0x60(%ebp)
40a245:	68 01 06 00 80       	push   $0x80000601
40a24a:	ff 75 a4             	push   -0x5c(%ebp)
40a24d:	ff 75 a0             	push   -0x60(%ebp)
40a250:	68 01 00 00 00       	push   $0x1
40a255:	bb 74 00 00 00       	mov    $0x74,%ebx
40a25a:	e8 81 73 09 00       	call   0x4a15e0
40a25f:	83 c4 10             	add    $0x10,%esp
40a262:	89 45 98             	mov    %eax,-0x68(%ebp)
40a265:	89 55 9c             	mov    %edx,-0x64(%ebp)
40a268:	dd 45 d0             	fldl   -0x30(%ebp)
40a26b:	dc 4d c0             	fmull  -0x40(%ebp)
40a26e:	dc 4d 98             	fmull  -0x68(%ebp)
40a271:	dc 0d 2a 0b 4e 00    	fmull  0x4e0b2a
40a277:	dd 5d 90             	fstpl  -0x70(%ebp)
40a27a:	dd 45 90             	fldl   -0x70(%ebp)
40a27d:	dc 45 10             	faddl  0x10(%ebp)
40a280:	dd 5d 88             	fstpl  -0x78(%ebp)
40a283:	8b 55 8c             	mov    -0x74(%ebp),%edx
40a286:	8b 45 88             	mov    -0x78(%ebp),%eax
40a289:	e9 ba 00 00 00       	jmp    0x40a348
40a28e:	dd 45 f8             	fldl   -0x8(%ebp)
40a291:	dc 25 9a bb 4c 00    	fsubl  0x4cbb9a
40a297:	dd 5d f8             	fstpl  -0x8(%ebp)
40a29a:	dd 45 f8             	fldl   -0x8(%ebp)
40a29d:	dc 0d 82 0a 4e 00    	fmull  0x4e0a82
40a2a3:	dd 5d c8             	fstpl  -0x38(%ebp)
40a2a6:	68 01 06 00 80       	push   $0x80000601
40a2ab:	ff 75 cc             	push   -0x34(%ebp)
40a2ae:	ff 75 c8             	push   -0x38(%ebp)
40a2b1:	68 01 06 00 80       	push   $0x80000601
40a2b6:	68 00 00 00 40       	push   $0x40000000
40a2bb:	68 00 00 00 00       	push   $0x0
40a2c0:	68 02 00 00 00       	push   $0x2
40a2c5:	bb 6c 00 00 00       	mov    $0x6c,%ebx
40a2ca:	e8 31 73 09 00       	call   0x4a1600
40a2cf:	83 c4 1c             	add    $0x1c,%esp
40a2d2:	89 45 c0             	mov    %eax,-0x40(%ebp)
40a2d5:	89 55 c4             	mov    %edx,-0x3c(%ebp)
40a2d8:	dd 45 f8             	fldl   -0x8(%ebp)
40a2db:	dc 4d e8             	fmull  -0x18(%ebp)
40a2de:	dd 5d b8             	fstpl  -0x48(%ebp)
40a2e1:	dd 45 b8             	fldl   -0x48(%ebp)
40a2e4:	dc 65 d8             	fsubl  -0x28(%ebp)
40a2e7:	dd 5d b0             	fstpl  -0x50(%ebp)
40a2ea:	dd 45 b0             	fldl   -0x50(%ebp)
40a2ed:	dc 0d aa 0a 4e 00    	fmull  0x4e0aaa
40a2f3:	dd 5d a8             	fstpl  -0x58(%ebp)
40a2f6:	dd 45 a8             	fldl   -0x58(%ebp)
40a2f9:	dc 75 e0             	fdivl  -0x20(%ebp)
40a2fc:	dd 5d a0             	fstpl  -0x60(%ebp)
40a2ff:	68 01 06 00 80       	push   $0x80000601
40a304:	ff 75 a4             	push   -0x5c(%ebp)
40a307:	ff 75 a0             	push   -0x60(%ebp)
40a30a:	68 01 00 00 00       	push   $0x1
40a30f:	bb 74 00 00 00       	mov    $0x74,%ebx
40a314:	e8 c7 72 09 00       	call   0x4a15e0
40a319:	83 c4 10             	add    $0x10,%esp
40a31c:	89 45 98             	mov    %eax,-0x68(%ebp)
40a31f:	89 55 9c             	mov    %edx,-0x64(%ebp)
40a322:	dd 45 d0             	fldl   -0x30(%ebp)
40a325:	dc 4d c0             	fmull  -0x40(%ebp)
40a328:	dc 4d 98             	fmull  -0x68(%ebp)
40a32b:	dc 0d 12 0b 4e 00    	fmull  0x4e0b12
40a331:	dd 5d 90             	fstpl  -0x70(%ebp)
40a334:	dd 45 90             	fldl   -0x70(%ebp)
40a337:	dc 45 18             	faddl  0x18(%ebp)
40a33a:	dd 5d 88             	fstpl  -0x78(%ebp)
40a33d:	8b 55 8c             	mov    -0x74(%ebp),%edx
40a340:	8b 45 88             	mov    -0x78(%ebp),%eax
40a343:	e9 00 00 00 00       	jmp    0x40a348
40a348:	8b e5                	mov    %ebp,%esp
40a34a:	5d                   	pop    %ebp
40a34b:	c2 18 00             	ret    $0x18
40a34e:	55                   	push   %ebp
40a34f:	8b ec                	mov    %esp,%ebp
40a351:	81 ec 50 00 00 00    	sub    $0x50,%esp
40a357:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40a35e:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
40a365:	8d 45 10             	lea    0x10(%ebp),%eax
40a368:	50                   	push   %eax
40a369:	e8 f9 7e ff ff       	call   0x402267
40a36e:	89 45 fc             	mov    %eax,-0x4(%ebp)
40a371:	8d 45 18             	lea    0x18(%ebp),%eax
40a374:	50                   	push   %eax
40a375:	e8 ed 7e ff ff       	call   0x402267
40a37a:	89 45 f8             	mov    %eax,-0x8(%ebp)
40a37d:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
40a381:	0f 85 de 00 00 00    	jne    0x40a465
40a387:	ff 75 fc             	push   -0x4(%ebp)
40a38a:	e8 0c 79 ff ff       	call   0x401c9b
40a38f:	89 45 f4             	mov    %eax,-0xc(%ebp)
40a392:	db 45 fc             	fildl  -0x4(%ebp)
40a395:	dd 5d ec             	fstpl  -0x14(%ebp)
40a398:	dd 45 ec             	fldl   -0x14(%ebp)
40a39b:	dc 05 f2 bb 4c 00    	faddl  0x4cbbf2
40a3a1:	dd 5d e4             	fstpl  -0x1c(%ebp)
40a3a4:	dd 45 e4             	fldl   -0x1c(%ebp)
40a3a7:	e8 43 6e ff ff       	call   0x4011ef
40a3ac:	50                   	push   %eax
40a3ad:	e8 e9 78 ff ff       	call   0x401c9b
40a3b2:	89 45 e0             	mov    %eax,-0x20(%ebp)
40a3b5:	ff 75 f8             	push   -0x8(%ebp)
40a3b8:	e8 de 78 ff ff       	call   0x401c9b
40a3bd:	89 45 dc             	mov    %eax,-0x24(%ebp)
40a3c0:	db 45 f8             	fildl  -0x8(%ebp)
40a3c3:	dd 5d d4             	fstpl  -0x2c(%ebp)
40a3c6:	dd 45 d4             	fldl   -0x2c(%ebp)
40a3c9:	dc 05 f2 bb 4c 00    	faddl  0x4cbbf2
40a3cf:	dd 5d cc             	fstpl  -0x34(%ebp)
40a3d2:	dd 45 cc             	fldl   -0x34(%ebp)
40a3d5:	e8 15 6e ff ff       	call   0x4011ef
40a3da:	50                   	push   %eax
40a3db:	e8 bb 78 ff ff       	call   0x401c9b
40a3e0:	89 45 c8             	mov    %eax,-0x38(%ebp)
40a3e3:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
40a3ea:	6a 00                	push   $0x0
40a3ec:	ff 75 c4             	push   -0x3c(%ebp)
40a3ef:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
40a3f6:	6a 00                	push   $0x0
40a3f8:	ff 75 c0             	push   -0x40(%ebp)
40a3fb:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
40a402:	6a 00                	push   $0x0
40a404:	ff 75 bc             	push   -0x44(%ebp)
40a407:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
40a40e:	6a 00                	push   $0x0
40a410:	ff 75 b8             	push   -0x48(%ebp)
40a413:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
40a41a:	6a 00                	push   $0x0
40a41c:	ff 75 b4             	push   -0x4c(%ebp)
40a41f:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
40a426:	6a 00                	push   $0x0
40a428:	ff 75 b0             	push   -0x50(%ebp)
40a42b:	6a 01                	push   $0x1
40a42d:	ff 75 30             	push   0x30(%ebp)
40a430:	6a 01                	push   $0x1
40a432:	ff 75 2c             	push   0x2c(%ebp)
40a435:	6a 01                	push   $0x1
40a437:	ff 75 28             	push   0x28(%ebp)
40a43a:	6a 01                	push   $0x1
40a43c:	ff 75 24             	push   0x24(%ebp)
40a43f:	6a 01                	push   $0x1
40a441:	ff 75 20             	push   0x20(%ebp)
40a444:	6a 01                	push   $0x1
40a446:	ff 75 c8             	push   -0x38(%ebp)
40a449:	6a 01                	push   $0x1
40a44b:	ff 75 dc             	push   -0x24(%ebp)
40a44e:	6a 01                	push   $0x1
40a450:	ff 75 e0             	push   -0x20(%ebp)
40a453:	6a 01                	push   $0x1
40a455:	ff 75 f4             	push   -0xc(%ebp)
40a458:	ff 75 08             	push   0x8(%ebp)
40a45b:	e8 8a 82 ff ff       	call   0x4026ea
40a460:	e9 d2 00 00 00       	jmp    0x40a537
40a465:	ff 75 fc             	push   -0x4(%ebp)
40a468:	e8 2e 78 ff ff       	call   0x401c9b
40a46d:	89 45 f4             	mov    %eax,-0xc(%ebp)
40a470:	db 45 fc             	fildl  -0x4(%ebp)
40a473:	dd 5d ec             	fstpl  -0x14(%ebp)
40a476:	dd 45 ec             	fldl   -0x14(%ebp)
40a479:	dc 05 f2 bb 4c 00    	faddl  0x4cbbf2
40a47f:	dd 5d e4             	fstpl  -0x1c(%ebp)
40a482:	dd 45 e4             	fldl   -0x1c(%ebp)
40a485:	e8 65 6d ff ff       	call   0x4011ef
40a48a:	50                   	push   %eax
40a48b:	e8 0b 78 ff ff       	call   0x401c9b
40a490:	89 45 e0             	mov    %eax,-0x20(%ebp)
40a493:	ff 75 f8             	push   -0x8(%ebp)
40a496:	e8 00 78 ff ff       	call   0x401c9b
40a49b:	89 45 dc             	mov    %eax,-0x24(%ebp)
40a49e:	db 45 f8             	fildl  -0x8(%ebp)
40a4a1:	dd 5d d4             	fstpl  -0x2c(%ebp)
40a4a4:	dd 45 d4             	fldl   -0x2c(%ebp)
40a4a7:	dc 05 f2 bb 4c 00    	faddl  0x4cbbf2
40a4ad:	dd 5d cc             	fstpl  -0x34(%ebp)
40a4b0:	dd 45 cc             	fldl   -0x34(%ebp)
40a4b3:	e8 37 6d ff ff       	call   0x4011ef
40a4b8:	50                   	push   %eax
40a4b9:	e8 dd 77 ff ff       	call   0x401c9b
40a4be:	89 45 c8             	mov    %eax,-0x38(%ebp)
40a4c1:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
40a4c8:	6a 00                	push   $0x0
40a4ca:	ff 75 c4             	push   -0x3c(%ebp)
40a4cd:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
40a4d4:	6a 00                	push   $0x0
40a4d6:	ff 75 c0             	push   -0x40(%ebp)
40a4d9:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
40a4e0:	6a 00                	push   $0x0
40a4e2:	ff 75 bc             	push   -0x44(%ebp)
40a4e5:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
40a4ec:	6a 00                	push   $0x0
40a4ee:	ff 75 b8             	push   -0x48(%ebp)
40a4f1:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
40a4f8:	6a 00                	push   $0x0
40a4fa:	ff 75 b4             	push   -0x4c(%ebp)
40a4fd:	6a 01                	push   $0x1
40a4ff:	ff 75 30             	push   0x30(%ebp)
40a502:	6a 01                	push   $0x1
40a504:	ff 75 2c             	push   0x2c(%ebp)
40a507:	6a 01                	push   $0x1
40a509:	ff 75 28             	push   0x28(%ebp)
40a50c:	6a 01                	push   $0x1
40a50e:	ff 75 24             	push   0x24(%ebp)
40a511:	6a 01                	push   $0x1
40a513:	ff 75 20             	push   0x20(%ebp)
40a516:	6a 01                	push   $0x1
40a518:	ff 75 c8             	push   -0x38(%ebp)
40a51b:	6a 01                	push   $0x1
40a51d:	ff 75 dc             	push   -0x24(%ebp)
40a520:	6a 01                	push   $0x1
40a522:	ff 75 e0             	push   -0x20(%ebp)
40a525:	6a 01                	push   $0x1
40a527:	ff 75 f4             	push   -0xc(%ebp)
40a52a:	6a 01                	push   $0x1
40a52c:	ff 75 0c             	push   0xc(%ebp)
40a52f:	ff 75 08             	push   0x8(%ebp)
40a532:	e8 b3 81 ff ff       	call   0x4026ea
40a537:	8b e5                	mov    %ebp,%esp
40a539:	5d                   	pop    %ebp
40a53a:	c2 2c 00             	ret    $0x2c
40a53d:	56                   	push   %esi
40a53e:	57                   	push   %edi
40a53f:	53                   	push   %ebx
40a540:	8d 74 24 10          	lea    0x10(%esp),%esi
40a544:	83 ec 30             	sub    $0x30,%esp
40a547:	8b fc                	mov    %esp,%edi
40a549:	fc                   	cld
40a54a:	b9 0c 00 00 00       	mov    $0xc,%ecx
40a54f:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40a551:	e8 59 c6 ff ff       	call   0x406baf
40a556:	5b                   	pop    %ebx
40a557:	5f                   	pop    %edi
40a558:	5e                   	pop    %esi
40a559:	c2 30 00             	ret    $0x30
40a55c:	55                   	push   %ebp
40a55d:	8b ec                	mov    %esp,%ebp
40a55f:	8b c1                	mov    %ecx,%eax
40a561:	40                   	inc    %eax
40a562:	c1 e0 02             	shl    $0x2,%eax
40a565:	2b e0                	sub    %eax,%esp
40a567:	8d 3c 24             	lea    (%esp),%edi
40a56a:	51                   	push   %ecx
40a56b:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40a572:	8d 75 08             	lea    0x8(%ebp),%esi
40a575:	8b 1e                	mov    (%esi),%ebx
40a577:	83 c6 04             	add    $0x4,%esi
40a57a:	51                   	push   %ecx
40a57b:	e8 a4 b4 ff ff       	call   0x405a24
40a580:	59                   	pop    %ecx
40a581:	01 45 fc             	add    %eax,-0x4(%ebp)
40a584:	89 07                	mov    %eax,(%edi)
40a586:	83 c7 04             	add    $0x4,%edi
40a589:	49                   	dec    %ecx
40a58a:	75 e9                	jne    0x40a575
40a58c:	ff 75 fc             	push   -0x4(%ebp)
40a58f:	e8 0a 60 09 00       	call   0x4a059e
40a594:	83 c4 04             	add    $0x4,%esp
40a597:	8b f8                	mov    %eax,%edi
40a599:	58                   	pop    %eax
40a59a:	8d 1c 24             	lea    (%esp),%ebx
40a59d:	57                   	push   %edi
40a59e:	8d 55 08             	lea    0x8(%ebp),%edx
40a5a1:	8b 0b                	mov    (%ebx),%ecx
40a5a3:	83 c3 04             	add    $0x4,%ebx
40a5a6:	8b 32                	mov    (%edx),%esi
40a5a8:	83 c2 04             	add    $0x4,%edx
40a5ab:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
40a5ad:	48                   	dec    %eax
40a5ae:	75 f1                	jne    0x40a5a1
40a5b0:	c6 07 00             	movb   $0x0,(%edi)
40a5b3:	58                   	pop    %eax
40a5b4:	8b e5                	mov    %ebp,%esp
40a5b6:	5d                   	pop    %ebp
40a5b7:	c3                   	ret
40a5b8:	55                   	push   %ebp
40a5b9:	8b ec                	mov    %esp,%ebp
40a5bb:	81 ec 14 00 00 00    	sub    $0x14,%esp
40a5c1:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40a5c8:	89 65 f8             	mov    %esp,-0x8(%ebp)
40a5cb:	8b 5d 08             	mov    0x8(%ebp),%ebx
40a5ce:	ff 33                	push   (%ebx)
40a5d0:	33 c0                	xor    %eax,%eax
40a5d2:	ff 15 a0 9a 50 00    	call   *0x509aa0
40a5d8:	90                   	nop
40a5d9:	90                   	nop
40a5da:	39 65 f8             	cmp    %esp,-0x8(%ebp)
40a5dd:	74 17                	je     0x40a5f6
40a5df:	68 19 00 00 00       	push   $0x19
40a5e4:	68 82 d3 03 04       	push   $0x403d382
40a5e9:	68 06 00 00 00       	push   $0x6