8ce3ba:	89 45 fc             	mov    %eax,-0x4(%ebp)
8ce3bd:	3b c1                	cmp    %ecx,%eax
8ce3bf:	7e 03                	jle    0x8ce3c4
8ce3c1:	89 4d fc             	mov    %ecx,-0x4(%ebp)
8ce3c4:	8b 45 08             	mov    0x8(%ebp),%eax
8ce3c7:	c1 e8 10             	shr    $0x10,%eax
8ce3ca:	0f b6 c0             	movzbl %al,%eax
8ce3cd:	0f af 45 0c          	imul   0xc(%ebp),%eax
8ce3d1:	99                   	cltd
8ce3d2:	f7 fe                	idiv   %esi
8ce3d4:	3b c1                	cmp    %ecx,%eax
8ce3d6:	7f 02                	jg     0x8ce3da
8ce3d8:	8b c8                	mov    %eax,%ecx
8ce3da:	0f b6 c1             	movzbl %cl,%eax
8ce3dd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
8ce3e0:	c1 e0 08             	shl    $0x8,%eax
8ce3e3:	0f b6 c9             	movzbl %cl,%ecx
8ce3e6:	0b c1                	or     %ecx,%eax
8ce3e8:	0f b6 cb             	movzbl %bl,%ecx
8ce3eb:	c1 e0 08             	shl    $0x8,%eax
8ce3ee:	5e                   	pop    %esi
8ce3ef:	0b c1                	or     %ecx,%eax
8ce3f1:	5b                   	pop    %ebx
8ce3f2:	8b e5                	mov    %ebp,%esp
8ce3f4:	5d                   	pop    %ebp
8ce3f5:	c2 08 00             	ret    $0x8
8ce3f8:	cc                   	int3
8ce3f9:	cc                   	int3
8ce3fa:	cc                   	int3
8ce3fb:	cc                   	int3
8ce3fc:	cc                   	int3
8ce3fd:	cc                   	int3
8ce3fe:	cc                   	int3
8ce3ff:	cc                   	int3
8ce400:	cc                   	int3
8ce401:	cc                   	int3
8ce402:	cc                   	int3
8ce403:	cc                   	int3
8ce404:	cc                   	int3
8ce405:	cc                   	int3
8ce406:	cc                   	int3
8ce407:	cc                   	int3
8ce408:	cc                   	int3
8ce409:	cc                   	int3
8ce40a:	cc                   	int3
8ce40b:	cc                   	int3
8ce40c:	cc                   	int3
8ce40d:	cc                   	int3
8ce40e:	cc                   	int3
8ce40f:	cc                   	int3
8ce410:	cc                   	int3
8ce411:	cc                   	int3
8ce412:	cc                   	int3
8ce413:	cc                   	int3
8ce414:	55                   	push   %ebp
8ce415:	8b ec                	mov    %esp,%ebp
8ce417:	51                   	push   %ecx
8ce418:	8b 45 0c             	mov    0xc(%ebp),%eax
8ce41b:	53                   	push   %ebx
8ce41c:	8b 5d 08             	mov    0x8(%ebp),%ebx
8ce41f:	56                   	push   %esi
8ce420:	c1 e8 10             	shr    $0x10,%eax
8ce423:	0f b6 c0             	movzbl %al,%eax
8ce426:	57                   	push   %edi
8ce427:	6a 64                	push   $0x64
8ce429:	5e                   	pop    %esi
8ce42a:	8b ce                	mov    %esi,%ecx
8ce42c:	2b 4d 10             	sub    0x10(%ebp),%ecx
8ce42f:	0f af c1             	imul   %ecx,%eax
8ce432:	89 4d fc             	mov    %ecx,-0x4(%ebp)
8ce435:	8b cb                	mov    %ebx,%ecx
8ce437:	c1 e9 10             	shr    $0x10,%ecx
8ce43a:	0f b6 c9             	movzbl %cl,%ecx
8ce43d:	0f af 4d 10          	imul   0x10(%ebp),%ecx
8ce441:	6a 64                	push   $0x64
8ce443:	03 c1                	add    %ecx,%eax
8ce445:	8b cb                	mov    %ebx,%ecx
8ce447:	99                   	cltd
8ce448:	f7 fe                	idiv   %esi
8ce44a:	c1 e9 08             	shr    $0x8,%ecx
8ce44d:	0f b6 f0             	movzbl %al,%esi
8ce450:	8b 45 0c             	mov    0xc(%ebp),%eax
8ce453:	c1 e8 08             	shr    $0x8,%eax
8ce456:	0f b6 c0             	movzbl %al,%eax
8ce459:	0f af 45 fc          	imul   -0x4(%ebp),%eax
8ce45d:	0f b6 c9             	movzbl %cl,%ecx
8ce460:	0f af 4d 10          	imul   0x10(%ebp),%ecx
8ce464:	c1 e6 08             	shl    $0x8,%esi
8ce467:	03 c1                	add    %ecx,%eax
8ce469:	99                   	cltd
8ce46a:	59                   	pop    %ecx
8ce46b:	f7 f9                	idiv   %ecx
8ce46d:	0f b6 cb             	movzbl %bl,%ecx
8ce470:	0f af 4d 10          	imul   0x10(%ebp),%ecx
8ce474:	0f b6 c0             	movzbl %al,%eax
8ce477:	0b f0                	or     %eax,%esi
8ce479:	8b 45 0c             	mov    0xc(%ebp),%eax
8ce47c:	0f b6 c0             	movzbl %al,%eax
8ce47f:	0f af 45 fc          	imul   -0x4(%ebp),%eax
8ce483:	6a 64                	push   $0x64
8ce485:	c1 e6 08             	shl    $0x8,%esi
8ce488:	03 c1                	add    %ecx,%eax
8ce48a:	59                   	pop    %ecx
8ce48b:	99                   	cltd
8ce48c:	f7 f9                	idiv   %ecx
8ce48e:	5f                   	pop    %edi
8ce48f:	0f b6 c0             	movzbl %al,%eax
8ce492:	0b c6                	or     %esi,%eax
8ce494:	5e                   	pop    %esi
8ce495:	5b                   	pop    %ebx
8ce496:	8b e5                	mov    %ebp,%esp
8ce498:	5d                   	pop    %ebp
8ce499:	c2 0c 00             	ret    $0xc
8ce49c:	cc                   	int3
8ce49d:	cc                   	int3
8ce49e:	cc                   	int3
8ce49f:	cc                   	int3
8ce4a0:	cc                   	int3
8ce4a1:	cc                   	int3
8ce4a2:	cc                   	int3
8ce4a3:	cc                   	int3
8ce4a4:	cc                   	int3
8ce4a5:	cc                   	int3
8ce4a6:	cc                   	int3
8ce4a7:	cc                   	int3
8ce4a8:	cc                   	int3
8ce4a9:	cc                   	int3
8ce4aa:	cc                   	int3
8ce4ab:	cc                   	int3
8ce4ac:	cc                   	int3
8ce4ad:	cc                   	int3
8ce4ae:	cc                   	int3
8ce4af:	cc                   	int3
8ce4b0:	cc                   	int3
8ce4b1:	cc                   	int3
8ce4b2:	cc                   	int3
8ce4b3:	cc                   	int3
8ce4b4:	cc                   	int3
8ce4b5:	cc                   	int3
8ce4b6:	cc                   	int3
8ce4b7:	cc                   	int3
8ce4b8:	cc                   	int3
8ce4b9:	cc                   	int3
8ce4ba:	cc                   	int3
8ce4bb:	cc                   	int3
8ce4bc:	cc                   	int3
8ce4bd:	cc                   	int3
8ce4be:	55                   	push   %ebp
8ce4bf:	8b ec                	mov    %esp,%ebp
8ce4c1:	dd 45 1c             	fldl   0x1c(%ebp)
8ce4c4:	53                   	push   %ebx
8ce4c5:	8b 5d 08             	mov    0x8(%ebp),%ebx
8ce4c8:	8b c3                	mov    %ebx,%eax
8ce4ca:	56                   	push   %esi
8ce4cb:	51                   	push   %ecx
8ce4cc:	51                   	push   %ecx
8ce4cd:	c1 e8 10             	shr    $0x10,%eax
8ce4d0:	0f b6 c0             	movzbl %al,%eax
8ce4d3:	dd 1c 24             	fstpl  (%esp)
8ce4d6:	50                   	push   %eax
8ce4d7:	e8 0a ae ff ff       	call   0x8c92e6
8ce4dc:	dd 45 14             	fldl   0x14(%ebp)
8ce4df:	0f b6 f0             	movzbl %al,%esi
8ce4e2:	8b c3                	mov    %ebx,%eax
8ce4e4:	51                   	push   %ecx
8ce4e5:	51                   	push   %ecx
8ce4e6:	c1 e8 08             	shr    $0x8,%eax
8ce4e9:	0f b6 c0             	movzbl %al,%eax
8ce4ec:	dd 1c 24             	fstpl  (%esp)
8ce4ef:	50                   	push   %eax
8ce4f0:	c1 e6 08             	shl    $0x8,%esi
8ce4f3:	e8 ee ad ff ff       	call   0x8c92e6
8ce4f8:	dd 45 0c             	fldl   0xc(%ebp)
8ce4fb:	51                   	push   %ecx
8ce4fc:	51                   	push   %ecx
8ce4fd:	0f b6 c0             	movzbl %al,%eax
8ce500:	0f b6 cb             	movzbl %bl,%ecx
8ce503:	0b f0                	or     %eax,%esi
8ce505:	dd 1c 24             	fstpl  (%esp)
8ce508:	51                   	push   %ecx
8ce509:	c1 e6 08             	shl    $0x8,%esi
8ce50c:	e8 d5 ad ff ff       	call   0x8c92e6
8ce511:	0f b6 c0             	movzbl %al,%eax
8ce514:	0b c6                	or     %esi,%eax
8ce516:	5e                   	pop    %esi
8ce517:	5b                   	pop    %ebx
8ce518:	5d                   	pop    %ebp
8ce519:	c2 1c 00             	ret    $0x1c
8ce51c:	cc                   	int3
8ce51d:	cc                   	int3
8ce51e:	cc                   	int3
8ce51f:	cc                   	int3
8ce520:	cc                   	int3
8ce521:	cc                   	int3
8ce522:	cc                   	int3
8ce523:	cc                   	int3
8ce524:	cc                   	int3
8ce525:	cc                   	int3
8ce526:	cc                   	int3
8ce527:	cc                   	int3
8ce528:	cc                   	int3
8ce529:	cc                   	int3
8ce52a:	cc                   	int3
8ce52b:	cc                   	int3
8ce52c:	cc                   	int3
8ce52d:	cc                   	int3
8ce52e:	cc                   	int3
8ce52f:	cc                   	int3
8ce530:	cc                   	int3
8ce531:	cc                   	int3
8ce532:	cc                   	int3
8ce533:	55                   	push   %ebp
8ce534:	8b ec                	mov    %esp,%ebp
8ce536:	8b 45 08             	mov    0x8(%ebp),%eax
8ce539:	83 ec 54             	sub    $0x54,%esp
8ce53c:	85 c0                	test   %eax,%eax
8ce53e:	0f 84 9e 02 00 00    	je     0x8ce7e2
8ce544:	6a 03                	push   $0x3
8ce546:	59                   	pop    %ecx
8ce547:	3b c1                	cmp    %ecx,%eax
8ce549:	7c 02                	jl     0x8ce54d
8ce54b:	8b c8                	mov    %eax,%ecx
8ce54d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
8ce551:	8d 45 fc             	lea    -0x4(%ebp),%eax
8ce554:	56                   	push   %esi
8ce555:	50                   	push   %eax
8ce556:	8d 34 4d 01 00 00 00 	lea    0x1(,%ecx,2),%esi
8ce55d:	8d 45 b4             	lea    -0x4c(%ebp),%eax
8ce560:	89 75 b4             	mov    %esi,-0x4c(%ebp)
8ce563:	50                   	push   %eax
8ce564:	89 75 b8             	mov    %esi,-0x48(%ebp)
8ce567:	e8 54 45 b5 ff       	call   0x422ac0
8ce56c:	89 45 dc             	mov    %eax,-0x24(%ebp)
8ce56f:	85 c0                	test   %eax,%eax
8ce571:	0f 84 68 02 00 00    	je     0x8ce7df
8ce577:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
8ce57b:	0f 84 5e 02 00 00    	je     0x8ce7df
8ce581:	53                   	push   %ebx
8ce582:	8b c6                	mov    %esi,%eax
8ce584:	33 c9                	xor    %ecx,%ecx
8ce586:	0f af c6             	imul   %esi,%eax
8ce589:	57                   	push   %edi
8ce58a:	6a 08                	push   $0x8
8ce58c:	5a                   	pop    %edx
8ce58d:	89 45 f8             	mov    %eax,-0x8(%ebp)
8ce590:	f7 e2                	mul    %edx
8ce592:	0f 90 c1             	seto   %cl
8ce595:	f7 d9                	neg    %ecx
8ce597:	0b c8                	or     %eax,%ecx
8ce599:	51                   	push   %ecx
8ce59a:	e8 f8 71 b6 ff       	call   0x435797
8ce59f:	db 45 10             	fildl  0x10(%ebp)
8ce5a2:	8b d8                	mov    %eax,%ebx
8ce5a4:	8b c6                	mov    %esi,%eax
8ce5a6:	99                   	cltd
8ce5a7:	2b c2                	sub    %edx,%eax
8ce5a9:	89 5d ec             	mov    %ebx,-0x14(%ebp)
8ce5ac:	d1 f8                	sar    $1,%eax
8ce5ae:	dd 5d bc             	fstpl  -0x44(%ebp)
8ce5b1:	dd 45 bc             	fldl   -0x44(%ebp)
8ce5b4:	dd 05 60 ca bd 00    	fldl   0xbdca60
8ce5ba:	dc f9                	fdivr  %st,%st(1)
8ce5bc:	d9 c9                	fxch   %st(1)
8ce5be:	59                   	pop    %ecx
8ce5bf:	8b c8                	mov    %eax,%ecx
8ce5c1:	89 45 e8             	mov    %eax,-0x18(%ebp)
8ce5c4:	f7 d9                	neg    %ecx
8ce5c6:	89 5d f4             	mov    %ebx,-0xc(%ebp)
8ce5c9:	8b f9                	mov    %ecx,%edi
8ce5cb:	89 4d e0             	mov    %ecx,-0x20(%ebp)
8ce5ce:	89 4d f0             	mov    %ecx,-0x10(%ebp)
8ce5d1:	dd 55 cc             	fstl   -0x34(%ebp)
8ce5d4:	db 45 14             	fildl  0x14(%ebp)
8ce5d7:	dd 5d bc             	fstpl  -0x44(%ebp)
8ce5da:	dd 45 bc             	fldl   -0x44(%ebp)
8ce5dd:	de f2                	fdivp  %st,%st(2)
8ce5df:	d9 c9                	fxch   %st(1)
8ce5e1:	dd 55 ac             	fstl   -0x54(%ebp)
8ce5e4:	de e1                	fsubp  %st,%st(1)
8ce5e6:	dd 5d d4             	fstpl  -0x2c(%ebp)
8ce5e9:	db 45 f8             	fildl  -0x8(%ebp)
8ce5ec:	dd 5d bc             	fstpl  -0x44(%ebp)
8ce5ef:	dd 45 bc             	fldl   -0x44(%ebp)
8ce5f2:	dc 0d 70 47 c4 00    	fmull  0xc44770
8ce5f8:	dd 55 bc             	fstl   -0x44(%ebp)
8ce5fb:	3b f8                	cmp    %eax,%edi
8ce5fd:	0f 8f 1b 01 00 00    	jg     0x8ce71e
8ce603:	d9 ee                	fldz
8ce605:	8b d8                	mov    %eax,%ebx
8ce607:	dd 05 a0 91 c4 00    	fldl   0xc491a0
8ce60d:	8b c7                	mov    %edi,%eax
8ce60f:	8b f1                	mov    %ecx,%esi
8ce611:	0f af c7             	imul   %edi,%eax
8ce614:	89 45 e8             	mov    %eax,-0x18(%ebp)
8ce617:	db 45 e8             	fildl  -0x18(%ebp)
8ce61a:	dd 55 c4             	fstl   -0x3c(%ebp)
8ce61d:	3b f3                	cmp    %ebx,%esi
8ce61f:	0f 8f b3 01 00 00    	jg     0x8ce7d8
8ce625:	8b 7d f4             	mov    -0xc(%ebp),%edi
8ce628:	eb 02                	jmp    0x8ce62c
8ce62a:	d9 ca                	fxch   %st(2)
8ce62c:	8b c6                	mov    %esi,%eax
8ce62e:	0f af c6             	imul   %esi,%eax
8ce631:	89 45 e8             	mov    %eax,-0x18(%ebp)
8ce634:	db 45 e8             	fildl  -0x18(%ebp)
8ce637:	dd 5d e4             	fstpl  -0x1c(%ebp)
8ce63a:	dd 45 e4             	fldl   -0x1c(%ebp)
8ce63d:	d8 c1                	fadd   %st(1),%st
8ce63f:	d8 d4                	fcom   %st(4)
8ce641:	df e0                	fnstsw %ax
8ce643:	f6 c4 41             	test   $0x41,%ah
8ce646:	0f 8a 85 01 00 00    	jp     0x8ce7d1
8ce64c:	dd d9                	fstp   %st(1)
8ce64e:	dd da                	fstp   %st(2)
8ce650:	d9 c9                	fxch   %st(1)
8ce652:	de f2                	fdivp  %st,%st(2)
8ce654:	51                   	push   %ecx
8ce655:	51                   	push   %ecx
8ce656:	de c9                	fmulp  %st,%st(1)
8ce658:	dd 55 e4             	fstl   -0x1c(%ebp)
8ce65b:	dd 1c 24             	fstpl  (%esp)
8ce65e:	e8 ee 5f b3 ff       	call   0x404651
8ce663:	dc 4d d4             	fmull  -0x2c(%ebp)
8ce666:	dd 45 cc             	fldl   -0x34(%ebp)
8ce669:	dc c1                	fadd   %st,%st(1)
8ce66b:	59                   	pop    %ecx
8ce66c:	59                   	pop    %ecx
8ce66d:	d8 d1                	fcom   %st(1)
8ce66f:	df e0                	fnstsw %ax
8ce671:	dd d9                	fstp   %st(1)
8ce673:	f6 c4 05             	test   $0x5,%ah
8ce676:	7a 17                	jp     0x8ce68f
8ce678:	dd d8                	fstp   %st(0)
8ce67a:	dd 45 e4             	fldl   -0x1c(%ebp)
8ce67d:	51                   	push   %ecx
8ce67e:	51                   	push   %ecx
8ce67f:	dd 1c 24             	fstpl  (%esp)
8ce682:	e8 ca 5f b3 ff       	call   0x404651
8ce687:	dc 4d d4             	fmull  -0x2c(%ebp)
8ce68a:	59                   	pop    %ecx
8ce68b:	59                   	pop    %ecx
8ce68c:	dc 45 cc             	faddl  -0x34(%ebp)
8ce68f:	dd 45 ac             	fldl   -0x54(%ebp)
8ce692:	d8 d1                	fcom   %st(1)
8ce694:	df e0                	fnstsw %ax
8ce696:	dd d9                	fstp   %st(1)
8ce698:	f6 c4 05             	test   $0x5,%ah
8ce69b:	7b 3b                	jnp    0x8ce6d8
8ce69d:	dd d8                	fstp   %st(0)
8ce69f:	dd 45 e4             	fldl   -0x1c(%ebp)