4e319d:	8b 44 24 24          	mov    0x24(%esp),%eax
4e31a1:	83 f8 01             	cmp    $0x1,%eax
4e31a4:	75 0c                	jne    0x4e31b2
4e31a6:	0f 28 d8             	movaps %xmm0,%xmm3
4e31a9:	f2 0f 11 9c 24 90 00 	movsd  %xmm3,0x90(%esp)
4e31b0:	00 00
4e31b2:	66 0f 2f e3          	comisd %xmm3,%xmm4
4e31b6:	76 10                	jbe    0x4e31c8
4e31b8:	0f 57 1d 70 c8 60 00 	xorps  0x60c870,%xmm3
4e31bf:	f2 0f 11 9c 24 90 00 	movsd  %xmm3,0x90(%esp)
4e31c6:	00 00
4e31c8:	66 0f 2f 1d 88 3e 61 	comisd 0x613e88,%xmm3
4e31cf:	00
4e31d0:	73 b1                	jae    0x4e3183
4e31d2:	0f 28 c3             	movaps %xmm3,%xmm0
4e31d5:	e8 b6 e8 0e 00       	call   0x5d1a90
4e31da:	f2 0f 10 1d f8 5d 60 	movsd  0x605df8,%xmm3
4e31e1:	00
4e31e2:	8b d0                	mov    %eax,%edx
4e31e4:	83 fe 09             	cmp    $0x9,%esi
4e31e7:	7e 0d                	jle    0x4e31f6
4e31e9:	be 09 00 00 00       	mov    $0x9,%esi
4e31ee:	89 74 24 28          	mov    %esi,0x28(%esp)
4e31f2:	8b c6                	mov    %esi,%eax
4e31f4:	eb 09                	jmp    0x4e31ff
4e31f6:	8b c6                	mov    %esi,%eax
4e31f8:	0f 28 cb             	movaps %xmm3,%xmm1
4e31fb:	85 f6                	test   %esi,%esi
4e31fd:	74 1c                	je     0x4e321b
4e31ff:	f2 0f 10 15 80 3e 61 	movsd  0x613e80,%xmm2
4e3206:	00
4e3207:	0f 28 cb             	movaps %xmm3,%xmm1
4e320a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
4e3210:	f2 0f 59 ca          	mulsd  %xmm2,%xmm1
4e3214:	83 e8 01             	sub    $0x1,%eax
4e3217:	75 f7                	jne    0x4e3210
4e3219:	eb 08                	jmp    0x4e3223
4e321b:	f2 0f 10 15 80 3e 61 	movsd  0x613e80,%xmm2
4e3222:	00
4e3223:	f2 0f 10 25 78 3e 61 	movsd  0x613e78,%xmm4
4e322a:	00
4e322b:	f2 0f 2c c9          	cvttsd2si %xmm1,%ecx
4e322f:	66 0f 6e c1          	movd   %ecx,%xmm0
4e3233:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
4e3237:	f2 0f 5c c8          	subsd  %xmm0,%xmm1
4e323b:	66 0f 2f cc          	comisd %xmm4,%xmm1
4e323f:	72 01                	jb     0x4e3242
4e3241:	41                   	inc    %ecx
4e3242:	8b c6                	mov    %esi,%eax
4e3244:	85 f6                	test   %esi,%esi
4e3246:	74 11                	je     0x4e3259
4e3248:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
4e324f:	00
4e3250:	f2 0f 59 da          	mulsd  %xmm2,%xmm3
4e3254:	83 e8 01             	sub    $0x1,%eax
4e3257:	75 f7                	jne    0x4e3250
4e3259:	f2 0f 10 8c 24 90 00 	movsd  0x90(%esp),%xmm1
4e3260:	00 00
4e3262:	8b c2                	mov    %edx,%eax
4e3264:	66 0f 6e c2          	movd   %edx,%xmm0
4e3268:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
4e326c:	c1 e8 1f             	shr    $0x1f,%eax
4e326f:	f2 0f 58 04 c5 60 64 	addsd  0x606460(,%eax,8),%xmm0
4e3276:	60 00
4e3278:	f2 0f 5c c8          	subsd  %xmm0,%xmm1
4e327c:	f2 0f 59 cb          	mulsd  %xmm3,%xmm1
4e3280:	f2 0f 2c c1          	cvttsd2si %xmm1,%eax
4e3284:	66 0f 6e c0          	movd   %eax,%xmm0
4e3288:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
4e328c:	f2 0f 5c c8          	subsd  %xmm0,%xmm1
4e3290:	66 0f 2f cc          	comisd %xmm4,%xmm1
4e3294:	72 01                	jb     0x4e3297
4e3296:	40                   	inc    %eax
4e3297:	8b f0                	mov    %eax,%esi
4e3299:	8d 7a 01             	lea    0x1(%edx),%edi
4e329c:	2b f1                	sub    %ecx,%esi
4e329e:	3b c1                	cmp    %ecx,%eax
4e32a0:	0f 42 f0             	cmovb  %eax,%esi
4e32a3:	0f 42 fa             	cmovb  %edx,%edi
4e32a6:	89 74 24 0c          	mov    %esi,0xc(%esp)
4e32aa:	33 f6                	xor    %esi,%esi
4e32ac:	0f 1f 40 00          	nopl   0x0(%eax)
4e32b0:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
4e32b5:	8b ce                	mov    %esi,%ecx
4e32b7:	f7 e7                	mul    %edi
4e32b9:	c1 ea 03             	shr    $0x3,%edx
4e32bc:	8d 04 92             	lea    (%edx,%edx,4),%eax
4e32bf:	03 c0                	add    %eax,%eax
4e32c1:	2b f8                	sub    %eax,%edi
4e32c3:	8a 87 4c 3e 61 00    	mov    0x613e4c(%edi),%al
4e32c9:	8b fa                	mov    %edx,%edi
4e32cb:	88 44 34 64          	mov    %al,0x64(%esp,%esi,1)
4e32cf:	46                   	inc    %esi
4e32d0:	85 ff                	test   %edi,%edi
4e32d2:	74 05                	je     0x4e32d9
4e32d4:	83 fe 14             	cmp    $0x14,%esi
4e32d7:	7c d7                	jl     0x4e32b0
4e32d9:	8b 7c 24 14          	mov    0x14(%esp),%edi
4e32dd:	83 f9 13             	cmp    $0x13,%ecx
4e32e0:	0f 45 ce             	cmovne %esi,%ecx
4e32e3:	8b 74 24 0c          	mov    0xc(%esp),%esi
4e32e7:	89 4c 24 18          	mov    %ecx,0x18(%esp)
4e32eb:	83 f9 14             	cmp    $0x14,%ecx
4e32ee:	0f 83 8a 04 00 00    	jae    0x4e377e
4e32f4:	83 7c 24 28 00       	cmpl   $0x0,0x28(%esp)
4e32f9:	c6 44 0c 64 00       	movb   $0x0,0x64(%esp,%ecx,1)
4e32fe:	7e 68                	jle    0x4e3368
4e3300:	33 c0                	xor    %eax,%eax
4e3302:	83 bc 24 a4 00 00 00 	cmpl   $0x2,0xa4(%esp)
4e3309:	02
4e330a:	75 2e                	jne    0x4e333a
4e330c:	85 c0                	test   %eax,%eax
4e330e:	75 2a                	jne    0x4e333a
4e3310:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
4e3315:	f7 e6                	mul    %esi
4e3317:	8b c6                	mov    %esi,%eax
4e3319:	c1 ea 03             	shr    $0x3,%edx
4e331c:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
4e331f:	03 c9                	add    %ecx,%ecx
4e3321:	2b c1                	sub    %ecx,%eax
4e3323:	75 15                	jne    0x4e333a
4e3325:	8b 44 24 28          	mov    0x28(%esp),%eax
4e3329:	8b f2                	mov    %edx,%esi
4e332b:	48                   	dec    %eax
4e332c:	89 44 24 28          	mov    %eax,0x28(%esp)
4e3330:	85 c0                	test   %eax,%eax
4e3332:	7e 34                	jle    0x4e3368
4e3334:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4e3338:	eb c8                	jmp    0x4e3302
4e333a:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
4e333e:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
4e3343:	f7 e6                	mul    %esi
4e3345:	c1 ea 03             	shr    $0x3,%edx
4e3348:	8d 04 92             	lea    (%edx,%edx,4),%eax
4e334b:	03 c0                	add    %eax,%eax
4e334d:	2b f0                	sub    %eax,%esi
4e334f:	8a 86 4c 3e 61 00    	mov    0x613e4c(%esi),%al
4e3355:	8b f2                	mov    %edx,%esi
4e3357:	88 44 0c 50          	mov    %al,0x50(%esp,%ecx,1)
4e335b:	8b c1                	mov    %ecx,%eax
4e335d:	40                   	inc    %eax
4e335e:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4e3362:	3b 44 24 28          	cmp    0x28(%esp),%eax
4e3366:	7c 9a                	jl     0x4e3302
4e3368:	83 7c 24 2c 14       	cmpl   $0x14,0x2c(%esp)
4e336d:	be 13 00 00 00       	mov    $0x13,%esi
4e3372:	0f 45 74 24 2c       	cmovne 0x2c(%esp),%esi
4e3377:	89 74 24 14          	mov    %esi,0x14(%esp)
4e337b:	83 fe 14             	cmp    $0x14,%esi
4e337e:	0f 83 fa 03 00 00    	jae    0x4e377e
4e3384:	83 7c 24 24 01       	cmpl   $0x1,0x24(%esp)
4e3389:	c6 44 34 50 00       	movb   $0x0,0x50(%esp,%esi,1)
4e338e:	0f 85 c6 00 00 00    	jne    0x4e345a
4e3394:	8b 44 24 10          	mov    0x10(%esp),%eax
4e3398:	8b c8                	mov    %eax,%ecx
4e339a:	85 c0                	test   %eax,%eax
4e339c:	79 08                	jns    0x4e33a6
4e339e:	f7 d9                	neg    %ecx
4e33a0:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
4e33a4:	eb 0a                	jmp    0x4e33b0
4e33a6:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4e33aa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
4e33b0:	b8 67 66 66 66       	mov    $0x66666667,%eax
4e33b5:	f7 e9                	imul   %ecx
4e33b7:	c1 fa 02             	sar    $0x2,%edx
4e33ba:	8b ca                	mov    %edx,%ecx
4e33bc:	c1 e9 1f             	shr    $0x1f,%ecx
4e33bf:	03 ca                	add    %edx,%ecx
4e33c1:	8b 54 24 2c          	mov    0x2c(%esp),%edx
4e33c5:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
4e33c9:	8d 04 89             	lea    (%ecx,%ecx,4),%eax
4e33cc:	03 c0                	add    %eax,%eax
4e33ce:	2b d0                	sub    %eax,%edx
4e33d0:	8a 82 4c 3e 61 00    	mov    0x613e4c(%edx),%al
4e33d6:	8b 54 24 1c          	mov    0x1c(%esp),%edx
4e33da:	88 44 14 3c          	mov    %al,0x3c(%esp,%edx,1)
4e33de:	42                   	inc    %edx
4e33df:	89 54 24 1c          	mov    %edx,0x1c(%esp)
4e33e3:	85 c9                	test   %ecx,%ecx
4e33e5:	7e 18                	jle    0x4e33ff
4e33e7:	83 fa 14             	cmp    $0x14,%edx
4e33ea:	7c c4                	jl     0x4e33b0
4e33ec:	5f                   	pop    %edi
4e33ed:	33 c0                	xor    %eax,%eax
4e33ef:	5e                   	pop    %esi
4e33f0:	8b 4c 24 70          	mov    0x70(%esp),%ecx
4e33f4:	33 cc                	xor    %esp,%ecx
4e33f6:	e8 2b e6 0e 00       	call   0x5d1a26
4e33fb:	83 c4 74             	add    $0x74,%esp
4e33fe:	c3                   	ret
4e33ff:	83 fa 01             	cmp    $0x1,%edx
4e3402:	75 58                	jne    0x4e345c
4e3404:	8b 4c 24 28          	mov    0x28(%esp),%ecx
4e3408:	33 c0                	xor    %eax,%eax
4e340a:	85 c9                	test   %ecx,%ecx
4e340c:	c6 44 24 3d 30       	movb   $0x30,0x3d(%esp)
4e3411:	ba 02 00 00 00       	mov    $0x2,%edx
4e3416:	0f 9f c0             	setg   %al
4e3419:	89 54 24 1c          	mov    %edx,0x1c(%esp)
4e341d:	29 84 24 98 00 00 00 	sub    %eax,0x98(%esp)
4e3424:	33 c0                	xor    %eax,%eax
4e3426:	39 44 24 20          	cmp    %eax,0x20(%esp)
4e342a:	0f 95 c0             	setne  %al
4e342d:	29 84 24 98 00 00 00 	sub    %eax,0x98(%esp)
4e3434:	8b 84 24 98 00 00 00 	mov    0x98(%esp),%eax
4e343b:	2b 44 24 18          	sub    0x18(%esp),%eax
4e343f:	2b c1                	sub    %ecx,%eax
4e3441:	89 84 24 98 00 00 00 	mov    %eax,0x98(%esp)
4e3448:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
4e344d:	2b c2                	sub    %edx,%eax
4e344f:	8b 94 24 98 00 00 00 	mov    0x98(%esp),%edx
4e3456:	03 d0                	add    %eax,%edx
4e3458:	eb 58                	jmp    0x4e34b2
4e345a:	33 d2                	xor    %edx,%edx
4e345c:	8b 4c 24 28          	mov    0x28(%esp),%ecx
4e3460:	33 c0                	xor    %eax,%eax
4e3462:	39 44 24 20          	cmp    %eax,0x20(%esp)
4e3466:	0f 95 c0             	setne  %al
4e3469:	29 84 24 98 00 00 00 	sub    %eax,0x98(%esp)
4e3470:	33 c0                	xor    %eax,%eax
4e3472:	85 c9                	test   %ecx,%ecx
4e3474:	0f 9f c0             	setg   %al
4e3477:	29 84 24 98 00 00 00 	sub    %eax,0x98(%esp)
4e347e:	8b 84 24 98 00 00 00 	mov    0x98(%esp),%eax
4e3485:	2b 44 24 18          	sub    0x18(%esp),%eax
4e3489:	2b c1                	sub    %ecx,%eax
4e348b:	83 7c 24 24 01       	cmpl   $0x1,0x24(%esp)
4e3490:	89 84 24 98 00 00 00 	mov    %eax,0x98(%esp)
4e3497:	75 12                	jne    0x4e34ab
4e3499:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
4e349e:	2b c2                	sub    %edx,%eax
4e34a0:	8b 94 24 98 00 00 00 	mov    0x98(%esp),%edx
4e34a7:	03 d0                	add    %eax,%edx
4e34a9:	eb 07                	jmp    0x4e34b2
4e34ab:	8b 94 24 98 00 00 00 	mov    0x98(%esp),%edx
4e34b2:	8b c1                	mov    %ecx,%eax
4e34b4:	b9 00 00 00 00       	mov    $0x0,%ecx
4e34b9:	2b c6                	sub    %esi,%eax
4e34bb:	0f 49 c8             	cmovns %eax,%ecx
4e34be:	8b 84 24 a0 00 00 00 	mov    0xa0(%esp),%eax
4e34c5:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
4e34c9:	33 c9                	xor    %ecx,%ecx
4e34cb:	85 d2                	test   %edx,%edx
4e34cd:	0f 49 ca             	cmovns %edx,%ecx
4e34d0:	8b d1                	mov    %ecx,%edx
4e34d2:	f7 da                	neg    %edx
4e34d4:	24 01                	and    $0x1,%al
4e34d6:	0f 44 d1             	cmove  %ecx,%edx
4e34d9:	f6 84 24 a0 00 00 00 	testb  $0x10,0xa0(%esp)
4e34e0:	10
4e34e1:	89 54 24 0c          	mov    %edx,0xc(%esp)
4e34e5:	74 5f                	je     0x4e3546
4e34e7:	85 d2                	test   %edx,%edx
4e34e9:	7e 5b                	jle    0x4e3546
4e34eb:	8b 44 24 20          	mov    0x20(%esp),%eax
4e34ef:	8b f2                	mov    %edx,%esi
4e34f1:	85 c0                	test   %eax,%eax
4e34f3:	74 2b                	je     0x4e3520
4e34f5:	50                   	push   %eax
4e34f6:	ff 74 24 3c          	push   0x3c(%esp)
4e34fa:	ff 74 24 3c          	push   0x3c(%esp)
4e34fe:	ff 74 24 3c          	push   0x3c(%esp)
4e3502:	57                   	push   %edi
4e3503:	e8 f8 f9 ff ff       	call   0x4e2f00
4e3508:	83 c4 14             	add    $0x14,%esp
4e350b:	85 c0                	test   %eax,%eax
4e350d:	0f 84 70 fc ff ff    	je     0x4e3183
4e3513:	4e                   	dec    %esi
4e3514:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%esp)
4e351b:	00
4e351c:	85 f6                	test   %esi,%esi
4e351e:	7e 7a                	jle    0x4e359a
4e3520:	6a 30                	push   $0x30
4e3522:	ff 74 24 3c          	push   0x3c(%esp)
4e3526:	ff 74 24 3c          	push   0x3c(%esp)
4e352a:	ff 74 24 3c          	push   0x3c(%esp)
4e352e:	57                   	push   %edi
4e352f:	e8 cc f9 ff ff       	call   0x4e2f00
4e3534:	83 c4 14             	add    $0x14,%esp
4e3537:	85 c0                	test   %eax,%eax
4e3539:	0f 84 44 fc ff ff    	je     0x4e3183
4e353f:	4e                   	dec    %esi
4e3540:	85 f6                	test   %esi,%esi
4e3542:	7f dc                	jg     0x4e3520
4e3544:	eb 2e                	jmp    0x4e3574
4e3546:	8b f2                	mov    %edx,%esi
4e3548:	85 d2                	test   %edx,%edx
4e354a:	7e 28                	jle    0x4e3574
4e354c:	0f 1f 40 00          	nopl   0x0(%eax)
4e3550:	6a 20                	push   $0x20
4e3552:	ff 74 24 3c          	push   0x3c(%esp)
4e3556:	ff 74 24 3c          	push   0x3c(%esp)
4e355a:	ff 74 24 3c          	push   0x3c(%esp)
4e355e:	57                   	push   %edi
4e355f:	e8 9c f9 ff ff       	call   0x4e2f00
4e3564:	83 c4 14             	add    $0x14,%esp
4e3567:	85 c0                	test   %eax,%eax
4e3569:	0f 84 14 fc ff ff    	je     0x4e3183
4e356f:	4e                   	dec    %esi
4e3570:	85 f6                	test   %esi,%esi
4e3572:	7f dc                	jg     0x4e3550
4e3574:	8b 44 24 20          	mov    0x20(%esp),%eax
4e3578:	85 c0                	test   %eax,%eax
4e357a:	74 1e                	je     0x4e359a
4e357c:	50                   	push   %eax
4e357d:	ff 74 24 3c          	push   0x3c(%esp)
4e3581:	ff 74 24 3c          	push   0x3c(%esp)
4e3585:	ff 74 24 3c          	push   0x3c(%esp)
4e3589:	57                   	push   %edi
4e358a:	e8 71 f9 ff ff       	call   0x4e2f00
4e358f:	83 c4 14             	add    $0x14,%esp
4e3592:	85 c0                	test   %eax,%eax
4e3594:	0f 84 e9 fb ff ff    	je     0x4e3183
4e359a:	8b 44 24 18          	mov    0x18(%esp),%eax
4e359e:	85 c0                	test   %eax,%eax
4e35a0:	7e 30                	jle    0x4e35d2
4e35a2:	48                   	dec    %eax
4e35a3:	89 44 24 18          	mov    %eax,0x18(%esp)
4e35a7:	0f be 44 04 64       	movsbl 0x64(%esp,%eax,1),%eax
4e35ac:	50                   	push   %eax
4e35ad:	ff 74 24 3c          	push   0x3c(%esp)
4e35b1:	ff 74 24 3c          	push   0x3c(%esp)
4e35b5:	ff 74 24 3c          	push   0x3c(%esp)
4e35b9:	57                   	push   %edi
4e35ba:	e8 41 f9 ff ff       	call   0x4e2f00
4e35bf:	83 c4 14             	add    $0x14,%esp
4e35c2:	85 c0                	test   %eax,%eax
4e35c4:	0f 84 b9 fb ff ff    	je     0x4e3183
4e35ca:	8b 44 24 18          	mov    0x18(%esp),%eax
4e35ce:	85 c0                	test   %eax,%eax
4e35d0:	7f d0                	jg     0x4e35a2
4e35d2:	83 7c 24 28 00       	cmpl   $0x0,0x28(%esp)
4e35d7:	7f 0a                	jg     0x4e35e3
4e35d9:	f6 84 24 a0 00 00 00 	testb  $0x8,0xa0(%esp)
4e35e0:	08
4e35e1:	74 5d                	je     0x4e3640
4e35e3:	6a 2e                	push   $0x2e
4e35e5:	ff 74 24 3c          	push   0x3c(%esp)
4e35e9:	ff 74 24 3c          	push   0x3c(%esp)
4e35ed:	ff 74 24 3c          	push   0x3c(%esp)
4e35f1:	57                   	push   %edi
4e35f2:	e8 09 f9 ff ff       	call   0x4e2f00
4e35f7:	83 c4 14             	add    $0x14,%esp
4e35fa:	85 c0                	test   %eax,%eax
4e35fc:	0f 84 81 fb ff ff    	je     0x4e3183
4e3602:	8b 44 24 14          	mov    0x14(%esp),%eax
4e3606:	85 c0                	test   %eax,%eax
4e3608:	7e 36                	jle    0x4e3640
4e360a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
4e3610:	48                   	dec    %eax