5f328e:	89 45 bc             	mov    %eax,-0x44(%ebp)
5f3291:	8b 45 0c             	mov    0xc(%ebp),%eax
5f3294:	2b 45 30             	sub    0x30(%ebp),%eax
5f3297:	40                   	inc    %eax
5f3298:	89 45 a0             	mov    %eax,-0x60(%ebp)
5f329b:	db 45 a0             	fildl  -0x60(%ebp)
5f329e:	dc 4d b0             	fmull  -0x50(%ebp)
5f32a1:	e8 26 fa e0 ff       	call   0x402ccc
5f32a6:	8b 55 e8             	mov    -0x18(%ebp),%edx
5f32a9:	e8 6e 61 fb ff       	call   0x5a941c
5f32ae:	89 45 c0             	mov    %eax,-0x40(%ebp)
5f32b1:	b9 20 00 00 00       	mov    $0x20,%ecx
5f32b6:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f32b9:	8b c3                	mov    %ebx,%eax
5f32bb:	e8 20 d8 ff ff       	call   0x5f0ae0
5f32c0:	8b d0                	mov    %eax,%edx
5f32c2:	0f af 55 34          	imul   0x34(%ebp),%edx
5f32c6:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f32c9:	e8 06 4c e1 ff       	call   0x407ed4
5f32ce:	8b 45 c0             	mov    -0x40(%ebp),%eax
5f32d1:	2b 45 c8             	sub    -0x38(%ebp),%eax
5f32d4:	40                   	inc    %eax
5f32d5:	c1 e0 02             	shl    $0x2,%eax
5f32d8:	e8 cf f4 e0 ff       	call   0x4027ac
5f32dd:	89 45 a4             	mov    %eax,-0x5c(%ebp)
5f32e0:	8b 45 a4             	mov    -0x5c(%ebp),%eax
5f32e3:	8b 55 c8             	mov    -0x38(%ebp),%edx
5f32e6:	8b 75 c0             	mov    -0x40(%ebp),%esi
5f32e9:	2b f2                	sub    %edx,%esi
5f32eb:	7c 16                	jl     0x5f3303
5f32ed:	46                   	inc    %esi
5f32ee:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5f32f1:	0f af ca             	imul   %edx,%ecx
5f32f4:	c1 e9 0e             	shr    $0xe,%ecx
5f32f7:	03 4d 30             	add    0x30(%ebp),%ecx
5f32fa:	89 08                	mov    %ecx,(%eax)
5f32fc:	83 c0 04             	add    $0x4,%eax
5f32ff:	42                   	inc    %edx
5f3300:	4e                   	dec    %esi
5f3301:	75 eb                	jne    0x5f32ee
5f3303:	8b 45 c4             	mov    -0x3c(%ebp),%eax
5f3306:	8b 75 bc             	mov    -0x44(%ebp),%esi
5f3309:	2b f0                	sub    %eax,%esi
5f330b:	0f 8c b4 00 00 00    	jl     0x5f33c5
5f3311:	46                   	inc    %esi
5f3312:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5f3315:	8b 45 34             	mov    0x34(%ebp),%eax
5f3318:	2b 45 e4             	sub    -0x1c(%ebp),%eax
5f331b:	48                   	dec    %eax
5f331c:	f7 6d d4             	imull  -0x2c(%ebp)
5f331f:	03 45 f8             	add    -0x8(%ebp),%eax
5f3322:	89 45 dc             	mov    %eax,-0x24(%ebp)
5f3325:	8b 45 f0             	mov    -0x10(%ebp),%eax
5f3328:	f7 6d e4             	imull  -0x1c(%ebp)
5f332b:	c1 e8 0e             	shr    $0xe,%eax
5f332e:	03 45 2c             	add    0x2c(%ebp),%eax
5f3331:	8b 55 18             	mov    0x18(%ebp),%edx
5f3334:	2b d0                	sub    %eax,%edx
5f3336:	4a                   	dec    %edx
5f3337:	0f af 55 d0          	imul   -0x30(%ebp),%edx
5f333b:	03 55 20             	add    0x20(%ebp),%edx
5f333e:	89 55 e0             	mov    %edx,-0x20(%ebp)
5f3341:	8b 45 a4             	mov    -0x5c(%ebp),%eax
5f3344:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f3347:	4a                   	dec    %edx
5f3348:	74 07                	je     0x5f3351
5f334a:	83 ea 07             	sub    $0x7,%edx
5f334d:	74 4c                	je     0x5f339b
5f334f:	eb 6a                	jmp    0x5f33bb
5f3351:	8b 55 c8             	mov    -0x38(%ebp),%edx
5f3354:	8b 4d c0             	mov    -0x40(%ebp),%ecx
5f3357:	2b ca                	sub    %edx,%ecx
5f3359:	7c 60                	jl     0x5f33bb
5f335b:	41                   	inc    %ecx
5f335c:	8b 18                	mov    (%eax),%ebx
5f335e:	c1 eb 03             	shr    $0x3,%ebx
5f3361:	8b 7d e0             	mov    -0x20(%ebp),%edi
5f3364:	8a 1c 1f             	mov    (%edi,%ebx,1),%bl
5f3367:	8b 38                	mov    (%eax),%edi
5f3369:	83 e7 07             	and    $0x7,%edi
5f336c:	22 9f ec 54 6a 00    	and    0x6a54ec(%edi),%bl
5f3372:	74 1e                	je     0x5f3392
5f3374:	8b da                	mov    %edx,%ebx
5f3376:	c1 eb 03             	shr    $0x3,%ebx
5f3379:	8b 7d dc             	mov    -0x24(%ebp),%edi
5f337c:	8d 1c 1f             	lea    (%edi,%ebx,1),%ebx
5f337f:	89 5d d8             	mov    %ebx,-0x28(%ebp)
5f3382:	8b da                	mov    %edx,%ebx
5f3384:	83 e3 07             	and    $0x7,%ebx
5f3387:	8a 9b ec 54 6a 00    	mov    0x6a54ec(%ebx),%bl
5f338d:	8b 7d d8             	mov    -0x28(%ebp),%edi
5f3390:	08 1f                	or     %bl,(%edi)
5f3392:	83 c0 04             	add    $0x4,%eax
5f3395:	42                   	inc    %edx
5f3396:	49                   	dec    %ecx
5f3397:	75 c3                	jne    0x5f335c
5f3399:	eb 20                	jmp    0x5f33bb
5f339b:	8b 55 c8             	mov    -0x38(%ebp),%edx
5f339e:	8b 4d c0             	mov    -0x40(%ebp),%ecx
5f33a1:	2b ca                	sub    %edx,%ecx
5f33a3:	7c 16                	jl     0x5f33bb
5f33a5:	41                   	inc    %ecx
5f33a6:	8b 5d e0             	mov    -0x20(%ebp),%ebx
5f33a9:	8b 38                	mov    (%eax),%edi
5f33ab:	8a 1c 3b             	mov    (%ebx,%edi,1),%bl
5f33ae:	8b 7d dc             	mov    -0x24(%ebp),%edi
5f33b1:	88 1c 17             	mov    %bl,(%edi,%edx,1)
5f33b4:	83 c0 04             	add    $0x4,%eax
5f33b7:	42                   	inc    %edx
5f33b8:	49                   	dec    %ecx
5f33b9:	75 eb                	jne    0x5f33a6
5f33bb:	ff 45 e4             	incl   -0x1c(%ebp)
5f33be:	4e                   	dec    %esi
5f33bf:	0f 85 50 ff ff ff    	jne    0x5f3315
5f33c5:	8b 45 a4             	mov    -0x5c(%ebp),%eax
5f33c8:	e8 ff f3 e0 ff       	call   0x4027cc
5f33cd:	5f                   	pop    %edi
5f33ce:	5e                   	pop    %esi
5f33cf:	5b                   	pop    %ebx
5f33d0:	8b e5                	mov    %ebp,%esp
5f33d2:	5d                   	pop    %ebp
5f33d3:	c2 30 00             	ret    $0x30
5f33d6:	00 00                	add    %al,(%eax)
5f33d8:	00 00                	add    %al,(%eax)
5f33da:	80 46 55 8b          	addb   $0x8b,0x55(%esi)
5f33de:	ec                   	in     (%dx),%al
5f33df:	53                   	push   %ebx
5f33e0:	56                   	push   %esi
5f33e1:	8b 45 08             	mov    0x8(%ebp),%eax
5f33e4:	8b 40 fc             	mov    -0x4(%eax),%eax
5f33e7:	8b 55 08             	mov    0x8(%ebp),%edx
5f33ea:	03 42 f8             	add    -0x8(%edx),%eax
5f33ed:	8b 55 08             	mov    0x8(%ebp),%edx
5f33f0:	89 42 f4             	mov    %eax,-0xc(%edx)
5f33f3:	8b 45 08             	mov    0x8(%ebp),%eax
5f33f6:	8b 40 f4             	mov    -0xc(%eax),%eax
5f33f9:	8b 55 08             	mov    0x8(%ebp),%edx
5f33fc:	03 42 e8             	add    -0x18(%edx),%eax
5f33ff:	8b 55 08             	mov    0x8(%ebp),%edx
5f3402:	03 42 18             	add    0x18(%edx),%eax
5f3405:	83 e0 07             	and    $0x7,%eax
5f3408:	83 f8 04             	cmp    $0x4,%eax
5f340b:	0f 9c c0             	setl   %al
5f340e:	83 e0 7f             	and    $0x7f,%eax
5f3411:	8b 55 08             	mov    0x8(%ebp),%edx
5f3414:	8b 44 82 ec          	mov    -0x14(%edx,%eax,4),%eax
5f3418:	8b 55 08             	mov    0x8(%ebp),%edx
5f341b:	89 42 e4             	mov    %eax,-0x1c(%edx)
5f341e:	8b 45 08             	mov    0x8(%ebp),%eax
5f3421:	83 78 fc 00          	cmpl   $0x0,-0x4(%eax)
5f3425:	75 56                	jne    0x5f347d
5f3427:	8b 45 08             	mov    0x8(%ebp),%eax
5f342a:	8b 40 fc             	mov    -0x4(%eax),%eax
5f342d:	8b 55 08             	mov    0x8(%ebp),%edx
5f3430:	f7 6a e0             	imull  -0x20(%edx)
5f3433:	c1 e8 0e             	shr    $0xe,%eax
5f3436:	8b 55 08             	mov    0x8(%ebp),%edx
5f3439:	03 42 28             	add    0x28(%edx),%eax
5f343c:	8b 55 08             	mov    0x8(%ebp),%edx
5f343f:	89 42 dc             	mov    %eax,-0x24(%edx)
5f3442:	8b 45 08             	mov    0x8(%ebp),%eax
5f3445:	8b 40 dc             	mov    -0x24(%eax),%eax
5f3448:	8b 55 08             	mov    0x8(%ebp),%edx
5f344b:	8b 52 d8             	mov    -0x28(%edx),%edx
5f344e:	3b 42 18             	cmp    0x18(%edx),%eax
5f3451:	0f 8f dd 02 00 00    	jg     0x5f3734
5f3457:	8b 45 08             	mov    0x8(%ebp),%eax
5f345a:	8b 40 e4             	mov    -0x1c(%eax),%eax
5f345d:	50                   	push   %eax
5f345e:	8b 45 08             	mov    0x8(%ebp),%eax
5f3461:	8b 40 e8             	mov    -0x18(%eax),%eax
5f3464:	50                   	push   %eax
5f3465:	8b 45 08             	mov    0x8(%ebp),%eax
5f3468:	8b 40 f4             	mov    -0xc(%eax),%eax
5f346b:	50                   	push   %eax
5f346c:	8b 45 08             	mov    0x8(%ebp),%eax
5f346f:	8b 40 d4             	mov    -0x2c(%eax),%eax
5f3472:	50                   	push   %eax
5f3473:	e8 d8 42 e1 ff       	call   0x407750
5f3478:	e9 b7 02 00 00       	jmp    0x5f3734
5f347d:	8b 45 08             	mov    0x8(%ebp),%eax
5f3480:	8b 40 fc             	mov    -0x4(%eax),%eax
5f3483:	8b 55 08             	mov    0x8(%ebp),%edx
5f3486:	3b 42 d0             	cmp    -0x30(%edx),%eax
5f3489:	75 67                	jne    0x5f34f2
5f348b:	8b 45 08             	mov    0x8(%ebp),%eax
5f348e:	8b 40 fc             	mov    -0x4(%eax),%eax
5f3491:	8b 55 08             	mov    0x8(%ebp),%edx
5f3494:	f7 6a e0             	imull  -0x20(%edx)
5f3497:	c1 e8 0e             	shr    $0xe,%eax
5f349a:	8b 55 08             	mov    0x8(%ebp),%edx
5f349d:	03 42 28             	add    0x28(%edx),%eax
5f34a0:	8b 55 08             	mov    0x8(%ebp),%edx
5f34a3:	89 42 dc             	mov    %eax,-0x24(%edx)
5f34a6:	8b 45 08             	mov    0x8(%ebp),%eax
5f34a9:	8b 40 dc             	mov    -0x24(%eax),%eax
5f34ac:	8b 55 08             	mov    0x8(%ebp),%edx
5f34af:	8b 52 d8             	mov    -0x28(%edx),%edx
5f34b2:	3b 42 20             	cmp    0x20(%edx),%eax
5f34b5:	7d 15                	jge    0x5f34cc
5f34b7:	8b 45 08             	mov    0x8(%ebp),%eax
5f34ba:	8b 40 20             	mov    0x20(%eax),%eax
5f34bd:	8b 55 08             	mov    0x8(%ebp),%edx
5f34c0:	8b 52 d8             	mov    -0x28(%edx),%edx
5f34c3:	3b 42 04             	cmp    0x4(%edx),%eax
5f34c6:	0f 85 68 02 00 00    	jne    0x5f3734
5f34cc:	8b 45 08             	mov    0x8(%ebp),%eax
5f34cf:	8b 40 e4             	mov    -0x1c(%eax),%eax
5f34d2:	50                   	push   %eax
5f34d3:	8b 45 08             	mov    0x8(%ebp),%eax
5f34d6:	8b 40 e8             	mov    -0x18(%eax),%eax
5f34d9:	50                   	push   %eax
5f34da:	8b 45 08             	mov    0x8(%ebp),%eax
5f34dd:	8b 40 f4             	mov    -0xc(%eax),%eax
5f34e0:	50                   	push   %eax
5f34e1:	8b 45 08             	mov    0x8(%ebp),%eax
5f34e4:	8b 40 d4             	mov    -0x2c(%eax),%eax
5f34e7:	50                   	push   %eax
5f34e8:	e8 63 42 e1 ff       	call   0x407750
5f34ed:	e9 42 02 00 00       	jmp    0x5f3734
5f34f2:	8b 45 08             	mov    0x8(%ebp),%eax
5f34f5:	83 78 cc 00          	cmpl   $0x0,-0x34(%eax)
5f34f9:	75 4b                	jne    0x5f3546
5f34fb:	8b 45 08             	mov    0x8(%ebp),%eax
5f34fe:	8b 58 cc             	mov    -0x34(%eax),%ebx
5f3501:	8b 45 08             	mov    0x8(%ebp),%eax
5f3504:	0f af 58 c8          	imul   -0x38(%eax),%ebx
5f3508:	c1 eb 0e             	shr    $0xe,%ebx
5f350b:	8b 45 08             	mov    0x8(%ebp),%eax
5f350e:	03 58 24             	add    0x24(%eax),%ebx
5f3511:	8b 45 08             	mov    0x8(%ebp),%eax
5f3514:	8b 40 d8             	mov    -0x28(%eax),%eax
5f3517:	3b 58 1c             	cmp    0x1c(%eax),%ebx
5f351a:	0f 8f 14 02 00 00    	jg     0x5f3734
5f3520:	8b 45 08             	mov    0x8(%ebp),%eax
5f3523:	8b 40 e4             	mov    -0x1c(%eax),%eax
5f3526:	50                   	push   %eax
5f3527:	8b 45 08             	mov    0x8(%ebp),%eax
5f352a:	8b 40 e8             	mov    -0x18(%eax),%eax
5f352d:	50                   	push   %eax
5f352e:	8b 45 08             	mov    0x8(%ebp),%eax
5f3531:	8b 40 f4             	mov    -0xc(%eax),%eax
5f3534:	50                   	push   %eax
5f3535:	8b 45 08             	mov    0x8(%ebp),%eax
5f3538:	8b 40 d4             	mov    -0x2c(%eax),%eax
5f353b:	50                   	push   %eax
5f353c:	e8 0f 42 e1 ff       	call   0x407750
5f3541:	e9 ee 01 00 00       	jmp    0x5f3734
5f3546:	8b 45 08             	mov    0x8(%ebp),%eax
5f3549:	8b 40 cc             	mov    -0x34(%eax),%eax
5f354c:	8b 55 08             	mov    0x8(%ebp),%edx
5f354f:	3b 42 c4             	cmp    -0x3c(%edx),%eax
5f3552:	75 5c                	jne    0x5f35b0
5f3554:	8b 45 08             	mov    0x8(%ebp),%eax
5f3557:	8b 58 cc             	mov    -0x34(%eax),%ebx
5f355a:	8b 45 08             	mov    0x8(%ebp),%eax
5f355d:	0f af 58 c8          	imul   -0x38(%eax),%ebx
5f3561:	c1 eb 0e             	shr    $0xe,%ebx
5f3564:	8b 45 08             	mov    0x8(%ebp),%eax
5f3567:	03 58 24             	add    0x24(%eax),%ebx
5f356a:	8b 45 08             	mov    0x8(%ebp),%eax
5f356d:	8b 40 d8             	mov    -0x28(%eax),%eax
5f3570:	3b 58 24             	cmp    0x24(%eax),%ebx
5f3573:	7d 15                	jge    0x5f358a
5f3575:	8b 45 08             	mov    0x8(%ebp),%eax
5f3578:	8b 40 1c             	mov    0x1c(%eax),%eax
5f357b:	8b 55 08             	mov    0x8(%ebp),%edx
5f357e:	8b 52 d8             	mov    -0x28(%edx),%edx
5f3581:	3b 42 08             	cmp    0x8(%edx),%eax
5f3584:	0f 85 aa 01 00 00    	jne    0x5f3734
5f358a:	8b 45 08             	mov    0x8(%ebp),%eax
5f358d:	8b 40 e4             	mov    -0x1c(%eax),%eax
5f3590:	50                   	push   %eax
5f3591:	8b 45 08             	mov    0x8(%ebp),%eax
5f3594:	8b 40 e8             	mov    -0x18(%eax),%eax
5f3597:	50                   	push   %eax
5f3598:	8b 45 08             	mov    0x8(%ebp),%eax
5f359b:	8b 40 f4             	mov    -0xc(%eax),%eax
5f359e:	50                   	push   %eax
5f359f:	8b 45 08             	mov    0x8(%ebp),%eax
5f35a2:	8b 40 d4             	mov    -0x2c(%eax),%eax
5f35a5:	50                   	push   %eax
5f35a6:	e8 a5 41 e1 ff       	call   0x407750
5f35ab:	e9 84 01 00 00       	jmp    0x5f3734
5f35b0:	8b 45 08             	mov    0x8(%ebp),%eax
5f35b3:	8b 40 d8             	mov    -0x28(%eax),%eax
5f35b6:	8b 40 0c             	mov    0xc(%eax),%eax
5f35b9:	48                   	dec    %eax
5f35ba:	74 0e                	je     0x5f35ca
5f35bc:	83 e8 07             	sub    $0x7,%eax
5f35bf:	0f 84 a7 00 00 00    	je     0x5f366c
5f35c5:	e9 6a 01 00 00       	jmp    0x5f3734
5f35ca:	8b 45 08             	mov    0x8(%ebp),%eax
5f35cd:	8b 40 fc             	mov    -0x4(%eax),%eax
5f35d0:	48                   	dec    %eax
5f35d1:	8b d0                	mov    %eax,%edx
5f35d3:	83 e2 07             	and    $0x7,%edx
5f35d6:	b9 0d 00 00 00       	mov    $0xd,%ecx
5f35db:	2b ca                	sub    %edx,%ecx
5f35dd:	8b 55 08             	mov    0x8(%ebp),%edx
5f35e0:	89 4a c0             	mov    %ecx,-0x40(%edx)
5f35e3:	8b 55 08             	mov    0x8(%ebp),%edx
5f35e6:	c1 e8 03             	shr    $0x3,%eax
5f35e9:	8b 55 08             	mov    0x8(%ebp),%edx
5f35ec:	89 42 bc             	mov    %eax,-0x44(%edx)
5f35ef:	8b 45 08             	mov    0x8(%ebp),%eax
5f35f2:	8b 58 b8             	mov    -0x48(%eax),%ebx
5f35f5:	8b 45 08             	mov    0x8(%ebp),%eax
5f35f8:	8b 70 b4             	mov    -0x4c(%eax),%esi
5f35fb:	2b f3                	sub    %ebx,%esi
5f35fd:	0f 8c 31 01 00 00    	jl     0x5f3734
5f3603:	46                   	inc    %esi
5f3604:	8b 45 08             	mov    0x8(%ebp),%eax
5f3607:	8b 40 d8             	mov    -0x28(%eax),%eax
5f360a:	8b 40 64             	mov    0x64(%eax),%eax
5f360d:	8b 04 98             	mov    (%eax,%ebx,4),%eax
5f3610:	8b 55 08             	mov    0x8(%ebp),%edx
5f3613:	03 42 bc             	add    -0x44(%edx),%eax
5f3616:	8b 55 08             	mov    0x8(%ebp),%edx
5f3619:	89 42 b0             	mov    %eax,-0x50(%edx)
5f361c:	8b 45 08             	mov    0x8(%ebp),%eax
5f361f:	8b 40 b0             	mov    -0x50(%eax),%eax
5f3622:	66 8b 00             	mov    (%eax),%ax
5f3625:	e8 be d6 ff ff       	call   0x5f0ce8
5f362a:	0f b7 c0             	movzwl %ax,%eax
5f362d:	8b 55 08             	mov    0x8(%ebp),%edx
5f3630:	8b 4a c0             	mov    -0x40(%edx),%ecx
5f3633:	d3 e8                	shr    %cl,%eax
5f3635:	83 e0 07             	and    $0x7,%eax
5f3638:	83 f8 07             	cmp    $0x7,%eax
5f363b:	73 26                	jae    0x5f3663
5f363d:	8b 45 08             	mov    0x8(%ebp),%eax
5f3640:	8b 40 e4             	mov    -0x1c(%eax),%eax
5f3643:	50                   	push   %eax
5f3644:	8b 45 08             	mov    0x8(%ebp),%eax
5f3647:	8b 40 e8             	mov    -0x18(%eax),%eax
5f364a:	50                   	push   %eax
5f364b:	8b 45 08             	mov    0x8(%ebp),%eax
5f364e:	8b 40 f4             	mov    -0xc(%eax),%eax
5f3651:	50                   	push   %eax
5f3652:	8b 45 08             	mov    0x8(%ebp),%eax
5f3655:	8b 40 d4             	mov    -0x2c(%eax),%eax
5f3658:	50                   	push   %eax
5f3659:	e8 f2 40 e1 ff       	call   0x407750
5f365e:	e9 d1 00 00 00       	jmp    0x5f3734
5f3663:	43                   	inc    %ebx
5f3664:	4e                   	dec    %esi
5f3665:	75 9d                	jne    0x5f3604
5f3667:	e9 c8 00 00 00       	jmp    0x5f3734
5f366c:	8b 45 08             	mov    0x8(%ebp),%eax