4f32f9:	74 1d                	je     0x4f3318
4f32fb:	47                   	inc    %edi
4f32fc:	33 c0                	xor    %eax,%eax
4f32fe:	8a 07                	mov    (%edi),%al
4f3300:	50                   	push   %eax
4f3301:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4f3304:	03 4d f8             	add    -0x8(%ebp),%ecx
4f3307:	8b 83 7c 01 00 00    	mov    0x17c(%ebx),%eax
4f330d:	8b 55 f0             	mov    -0x10(%ebp),%edx
4f3310:	e8 43 f9 0f 00       	call   0x5f2c58
4f3315:	47                   	inc    %edi
4f3316:	eb 03                	jmp    0x4f331b
4f3318:	83 c7 02             	add    $0x2,%edi
4f331b:	83 c6 03             	add    $0x3,%esi
4f331e:	ff 45 f0             	incl   -0x10(%ebp)
4f3321:	ff 4d a4             	decl   -0x5c(%ebp)
4f3324:	75 c1                	jne    0x4f32e7
4f3326:	8b 45 08             	mov    0x8(%ebp),%eax
4f3329:	ff 40 0c             	incl   0xc(%eax)
4f332c:	8b 45 08             	mov    0x8(%ebp),%eax
4f332f:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
4f3334:	74 21                	je     0x4f3357
4f3336:	8b 45 08             	mov    0x8(%ebp),%eax
4f3339:	db 40 0c             	fildl  0xc(%eax)
4f333c:	8b 45 08             	mov    0x8(%ebp),%eax
4f333f:	dc 48 18             	fmull  0x18(%eax)
4f3342:	e8 85 f9 f0 ff       	call   0x402ccc
4f3347:	8b c8                	mov    %eax,%ecx
4f3349:	8b 75 08             	mov    0x8(%ebp),%esi
4f334c:	8b 55 08             	mov    0x8(%ebp),%edx
4f334f:	8b 52 08             	mov    0x8(%edx),%edx
4f3352:	8b 46 04             	mov    0x4(%esi),%eax
4f3355:	ff 16                	call   *(%esi)
4f3357:	8b 45 08             	mov    0x8(%ebp),%eax
4f335a:	8b 40 28             	mov    0x28(%eax),%eax
4f335d:	80 38 00             	cmpb   $0x0,(%eax)
4f3360:	75 19                	jne    0x4f337b
4f3362:	eb 0b                	jmp    0x4f336f
4f3364:	8b 45 08             	mov    0x8(%ebp),%eax
4f3367:	8b 40 28             	mov    0x28(%eax),%eax
4f336a:	c6 00 01             	movb   $0x1,(%eax)
4f336d:	eb 0c                	jmp    0x4f337b
4f336f:	ff 45 f4             	incl   -0xc(%ebp)
4f3372:	ff 4d a8             	decl   -0x58(%ebp)
4f3375:	0f 85 a7 fe ff ff    	jne    0x4f3222
4f337b:	66 83 7b 22 01       	cmpw   $0x1,0x22(%ebx)
4f3380:	75 0a                	jne    0x4f338c
4f3382:	83 7b 0c 04          	cmpl   $0x4,0xc(%ebx)
4f3386:	0f 85 02 0b 00 00    	jne    0x4f3e8e
4f338c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4f338f:	e8 38 f4 f0 ff       	call   0x4027cc
4f3394:	e9 f5 0a 00 00       	jmp    0x4f3e8e
4f3399:	66 83 7b 1c 01       	cmpw   $0x1,0x1c(%ebx)
4f339e:	0f 87 88 02 00 00    	ja     0x4f362c
4f33a4:	83 7b 08 01          	cmpl   $0x1,0x8(%ebx)
4f33a8:	0f 85 7e 02 00 00    	jne    0x4f362c
4f33ae:	83 7b 0c 10          	cmpl   $0x10,0xc(%ebx)
4f33b2:	0f 85 74 02 00 00    	jne    0x4f362c
4f33b8:	66 83 7b 22 01       	cmpw   $0x1,0x22(%ebx)
4f33bd:	74 0d                	je     0x4f33cc
4f33bf:	8b 45 10             	mov    0x10(%ebp),%eax
4f33c2:	03 c0                	add    %eax,%eax
4f33c4:	e8 e3 f3 f0 ff       	call   0x4027ac
4f33c9:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4f33cc:	8b 45 0c             	mov    0xc(%ebp),%eax
4f33cf:	48                   	dec    %eax
4f33d0:	85 c0                	test   %eax,%eax
4f33d2:	0f 8c 3c 02 00 00    	jl     0x4f3614
4f33d8:	40                   	inc    %eax
4f33d9:	89 45 a8             	mov    %eax,-0x58(%ebp)
4f33dc:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
4f33e3:	8b 55 f8             	mov    -0x8(%ebp),%edx
4f33e6:	03 55 f4             	add    -0xc(%ebp),%edx
4f33e9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4f33ec:	8b 08                	mov    (%eax),%ecx
4f33ee:	ff 11                	call   *(%ecx)
4f33f0:	8b f0                	mov    %eax,%esi
4f33f2:	8b 45 1c             	mov    0x1c(%ebp),%eax
4f33f5:	01 c6                	add    %eax,%esi
4f33f7:	53                   	push   %ebx
4f33f8:	8b 45 10             	mov    0x10(%ebp),%eax
4f33fb:	50                   	push   %eax
4f33fc:	8b 45 d0             	mov    -0x30(%ebp),%eax
4f33ff:	50                   	push   %eax
4f3400:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4f3403:	50                   	push   %eax
4f3404:	8b 45 e0             	mov    -0x20(%ebp),%eax
4f3407:	50                   	push   %eax
4f3408:	8d 45 cc             	lea    -0x34(%ebp),%eax
4f340b:	50                   	push   %eax
4f340c:	8d 55 18             	lea    0x18(%ebp),%edx
4f340f:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4f3412:	8b 4d 14             	mov    0x14(%ebp),%ecx
4f3415:	e8 ce e9 ff ff       	call   0x4f1de8
4f341a:	84 c0                	test   %al,%al
4f341c:	0f 84 db 01 00 00    	je     0x4f35fd
4f3422:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4f3425:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4f3428:	8d 85 68 ff ff ff    	lea    -0x98(%ebp),%eax
4f342e:	50                   	push   %eax
4f342f:	8b 83 a4 00 00 00    	mov    0xa4(%ebx),%eax
4f3435:	b9 0f 00 00 00       	mov    $0xf,%ecx
4f343a:	ba 01 00 00 00       	mov    $0x1,%edx
4f343f:	e8 34 19 f1 ff       	call   0x404d78
4f3444:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
4f344a:	ba d8 3e 4f 00       	mov    $0x4f3ed8,%edx
4f344f:	e8 10 18 f1 ff       	call   0x404c64
4f3454:	75 09                	jne    0x4f345f
4f3456:	c7 45 e8 04 00 00 00 	movl   $0x4,-0x18(%ebp)
4f345d:	eb 07                	jmp    0x4f3466
4f345f:	c7 45 e8 08 00 00 00 	movl   $0x8,-0x18(%ebp)
4f3466:	8b 45 fc             	mov    -0x4(%ebp),%eax
4f3469:	8b 10                	mov    (%eax),%edx
4f346b:	ff 52 10             	call   *0x10(%edx)
4f346e:	3c 04                	cmp    $0x4,%al
4f3470:	0f 85 93 00 00 00    	jne    0x4f3509
4f3476:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
4f347b:	75 48                	jne    0x4f34c5
4f347d:	8b 45 10             	mov    0x10(%ebp),%eax
4f3480:	48                   	dec    %eax
4f3481:	85 c0                	test   %eax,%eax
4f3483:	0f 8c 36 01 00 00    	jl     0x4f35bf
4f3489:	40                   	inc    %eax
4f348a:	89 45 a4             	mov    %eax,-0x5c(%ebp)
4f348d:	8a 93 74 01 00 00    	mov    0x174(%ebx),%dl
4f3493:	80 f2 01             	xor    $0x1,%dl
4f3496:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f3499:	66 8b 00             	mov    (%eax),%ax
4f349c:	e8 03 16 11 00       	call   0x604aa4
4f34a1:	8b 55 d4             	mov    -0x2c(%ebp),%edx
4f34a4:	66 89 02             	mov    %ax,(%edx)
4f34a7:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f34aa:	66 ba ff ff          	mov    $0xffff,%dx
4f34ae:	66 2b 10             	sub    (%eax),%dx
4f34b1:	66 89 16             	mov    %dx,(%esi)
4f34b4:	83 45 d4 02          	addl   $0x2,-0x2c(%ebp)
4f34b8:	83 c6 02             	add    $0x2,%esi
4f34bb:	ff 4d a4             	decl   -0x5c(%ebp)
4f34be:	75 cd                	jne    0x4f348d
4f34c0:	e9 fa 00 00 00       	jmp    0x4f35bf
4f34c5:	8b 45 10             	mov    0x10(%ebp),%eax
4f34c8:	48                   	dec    %eax
4f34c9:	85 c0                	test   %eax,%eax
4f34cb:	0f 8c ee 00 00 00    	jl     0x4f35bf
4f34d1:	40                   	inc    %eax
4f34d2:	89 45 a4             	mov    %eax,-0x5c(%ebp)
4f34d5:	8a 93 74 01 00 00    	mov    0x174(%ebx),%dl
4f34db:	80 f2 01             	xor    $0x1,%dl
4f34de:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f34e1:	66 8b 00             	mov    (%eax),%ax
4f34e4:	e8 bb 15 11 00       	call   0x604aa4
4f34e9:	8b 55 d4             	mov    -0x2c(%ebp),%edx
4f34ec:	66 89 02             	mov    %ax,(%edx)
4f34ef:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f34f2:	66 8b 00             	mov    (%eax),%ax
4f34f5:	66 89 06             	mov    %ax,(%esi)
4f34f8:	83 45 d4 02          	addl   $0x2,-0x2c(%ebp)
4f34fc:	83 c6 02             	add    $0x2,%esi
4f34ff:	ff 4d a4             	decl   -0x5c(%ebp)
4f3502:	75 d1                	jne    0x4f34d5
4f3504:	e9 b6 00 00 00       	jmp    0x4f35bf
4f3509:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
4f350e:	75 5e                	jne    0x4f356e
4f3510:	8b 45 10             	mov    0x10(%ebp),%eax
4f3513:	48                   	dec    %eax
4f3514:	85 c0                	test   %eax,%eax
4f3516:	0f 8c a3 00 00 00    	jl     0x4f35bf
4f351c:	40                   	inc    %eax
4f351d:	89 45 a4             	mov    %eax,-0x5c(%ebp)
4f3520:	8a 93 74 01 00 00    	mov    0x174(%ebx),%dl
4f3526:	80 f2 01             	xor    $0x1,%dl
4f3529:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f352c:	66 8b 00             	mov    (%eax),%ax
4f352f:	e8 70 15 11 00       	call   0x604aa4
4f3534:	8b 55 d4             	mov    -0x2c(%ebp),%edx
4f3537:	66 89 02             	mov    %ax,(%edx)
4f353a:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4f353d:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f3540:	0f b7 00             	movzwl (%eax),%eax
4f3543:	ba ff ff 00 00       	mov    $0xffff,%edx
4f3548:	2b d0                	sub    %eax,%edx
4f354a:	d3 ea                	shr    %cl,%edx
4f354c:	89 55 ec             	mov    %edx,-0x14(%ebp)
4f354f:	8a 45 ec             	mov    -0x14(%ebp),%al
4f3552:	88 46 02             	mov    %al,0x2(%esi)
4f3555:	8a 45 ec             	mov    -0x14(%ebp),%al
4f3558:	88 46 01             	mov    %al,0x1(%esi)
4f355b:	8a 45 ec             	mov    -0x14(%ebp),%al
4f355e:	88 06                	mov    %al,(%esi)
4f3560:	83 45 d4 02          	addl   $0x2,-0x2c(%ebp)
4f3564:	83 c6 03             	add    $0x3,%esi
4f3567:	ff 4d a4             	decl   -0x5c(%ebp)
4f356a:	75 b4                	jne    0x4f3520
4f356c:	eb 51                	jmp    0x4f35bf
4f356e:	8b 45 10             	mov    0x10(%ebp),%eax
4f3571:	48                   	dec    %eax
4f3572:	85 c0                	test   %eax,%eax
4f3574:	7c 49                	jl     0x4f35bf
4f3576:	40                   	inc    %eax
4f3577:	89 45 a4             	mov    %eax,-0x5c(%ebp)
4f357a:	8a 93 74 01 00 00    	mov    0x174(%ebx),%dl
4f3580:	80 f2 01             	xor    $0x1,%dl
4f3583:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f3586:	66 8b 00             	mov    (%eax),%ax
4f3589:	e8 16 15 11 00       	call   0x604aa4
4f358e:	8b 55 d4             	mov    -0x2c(%ebp),%edx
4f3591:	66 89 02             	mov    %ax,(%edx)
4f3594:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4f3597:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f359a:	0f b7 00             	movzwl (%eax),%eax
4f359d:	d3 e8                	shr    %cl,%eax
4f359f:	89 45 ec             	mov    %eax,-0x14(%ebp)
4f35a2:	8a 45 ec             	mov    -0x14(%ebp),%al
4f35a5:	88 46 02             	mov    %al,0x2(%esi)
4f35a8:	8a 45 ec             	mov    -0x14(%ebp),%al
4f35ab:	88 46 01             	mov    %al,0x1(%esi)
4f35ae:	8a 45 ec             	mov    -0x14(%ebp),%al
4f35b1:	88 06                	mov    %al,(%esi)
4f35b3:	83 45 d4 02          	addl   $0x2,-0x2c(%ebp)
4f35b7:	83 c6 03             	add    $0x3,%esi
4f35ba:	ff 4d a4             	decl   -0x5c(%ebp)
4f35bd:	75 bb                	jne    0x4f357a
4f35bf:	8b 45 08             	mov    0x8(%ebp),%eax
4f35c2:	ff 40 0c             	incl   0xc(%eax)
4f35c5:	8b 45 08             	mov    0x8(%ebp),%eax
4f35c8:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
4f35cd:	74 21                	je     0x4f35f0
4f35cf:	8b 45 08             	mov    0x8(%ebp),%eax
4f35d2:	db 40 0c             	fildl  0xc(%eax)
4f35d5:	8b 45 08             	mov    0x8(%ebp),%eax
4f35d8:	dc 48 18             	fmull  0x18(%eax)
4f35db:	e8 ec f6 f0 ff       	call   0x402ccc
4f35e0:	8b c8                	mov    %eax,%ecx
4f35e2:	8b 75 08             	mov    0x8(%ebp),%esi
4f35e5:	8b 55 08             	mov    0x8(%ebp),%edx
4f35e8:	8b 52 08             	mov    0x8(%edx),%edx
4f35eb:	8b 46 04             	mov    0x4(%esi),%eax
4f35ee:	ff 16                	call   *(%esi)
4f35f0:	8b 45 08             	mov    0x8(%ebp),%eax
4f35f3:	8b 40 28             	mov    0x28(%eax),%eax
4f35f6:	80 38 00             	cmpb   $0x0,(%eax)
4f35f9:	75 19                	jne    0x4f3614
4f35fb:	eb 0b                	jmp    0x4f3608
4f35fd:	8b 45 08             	mov    0x8(%ebp),%eax
4f3600:	8b 40 28             	mov    0x28(%eax),%eax
4f3603:	c6 00 01             	movb   $0x1,(%eax)
4f3606:	eb 0c                	jmp    0x4f3614
4f3608:	ff 45 f4             	incl   -0xc(%ebp)
4f360b:	ff 4d a8             	decl   -0x58(%ebp)
4f360e:	0f 85 cf fd ff ff    	jne    0x4f33e3
4f3614:	66 83 7b 22 01       	cmpw   $0x1,0x22(%ebx)
4f3619:	0f 84 6f 08 00 00    	je     0x4f3e8e
4f361f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4f3622:	e8 a5 f1 f0 ff       	call   0x4027cc
4f3627:	e9 62 08 00 00       	jmp    0x4f3e8e
4f362c:	66 83 7b 1c 01       	cmpw   $0x1,0x1c(%ebx)
4f3631:	0f 87 68 01 00 00    	ja     0x4f379f
4f3637:	83 7b 08 01          	cmpl   $0x1,0x8(%ebx)
4f363b:	0f 85 5e 01 00 00    	jne    0x4f379f
4f3641:	83 7b 0c 01          	cmpl   $0x1,0xc(%ebx)
4f3645:	0f 85 54 01 00 00    	jne    0x4f379f
4f364b:	8b 45 10             	mov    0x10(%ebp),%eax
4f364e:	e8 59 f1 f0 ff       	call   0x4027ac
4f3653:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4f3656:	8b 45 d0             	mov    -0x30(%ebp),%eax
4f3659:	e8 4e f1 f0 ff       	call   0x4027ac
4f365e:	89 45 e0             	mov    %eax,-0x20(%ebp)
4f3661:	b1 ff                	mov    $0xff,%cl
4f3663:	8b 55 d0             	mov    -0x30(%ebp),%edx
4f3666:	8b 45 e0             	mov    -0x20(%ebp),%eax
4f3669:	e8 5a 48 f1 ff       	call   0x407ec8
4f366e:	33 c0                	xor    %eax,%eax
4f3670:	89 45 cc             	mov    %eax,-0x34(%ebp)
4f3673:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
4f3678:	75 0e                	jne    0x4f3688
4f367a:	66 83 7b 22 01       	cmpw   $0x1,0x22(%ebx)
4f367f:	74 1c                	je     0x4f369d
4f3681:	66 83 7b 22 05       	cmpw   $0x5,0x22(%ebx)
4f3686:	73 15                	jae    0x4f369d
4f3688:	66 83 7b 1c 01       	cmpw   $0x1,0x1c(%ebx)
4f368d:	75 14                	jne    0x4f36a3
4f368f:	66 83 7b 22 02       	cmpw   $0x2,0x22(%ebx)
4f3694:	76 0d                	jbe    0x4f36a3
4f3696:	66 83 7b 22 04       	cmpw   $0x4,0x22(%ebx)
4f369b:	73 06                	jae    0x4f36a3
4f369d:	c6 45 cb 01          	movb   $0x1,-0x35(%ebp)
4f36a1:	eb 04                	jmp    0x4f36a7
4f36a3:	c6 45 cb 00          	movb   $0x0,-0x35(%ebp)
4f36a7:	8b 45 0c             	mov    0xc(%ebp),%eax
4f36aa:	48                   	dec    %eax
4f36ab:	85 c0                	test   %eax,%eax
4f36ad:	0f 8c d7 00 00 00    	jl     0x4f378a
4f36b3:	40                   	inc    %eax
4f36b4:	89 45 a8             	mov    %eax,-0x58(%ebp)
4f36b7:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
4f36be:	8b 55 f8             	mov    -0x8(%ebp),%edx
4f36c1:	03 55 f4             	add    -0xc(%ebp),%edx
4f36c4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4f36c7:	8b 08                	mov    (%eax),%ecx
4f36c9:	ff 11                	call   *(%ecx)
4f36cb:	8b f0                	mov    %eax,%esi
4f36cd:	8b 45 1c             	mov    0x1c(%ebp),%eax
4f36d0:	01 c6                	add    %eax,%esi
4f36d2:	53                   	push   %ebx
4f36d3:	8b 45 10             	mov    0x10(%ebp),%eax
4f36d6:	50                   	push   %eax
4f36d7:	8b 45 d0             	mov    -0x30(%ebp),%eax
4f36da:	50                   	push   %eax
4f36db:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4f36de:	50                   	push   %eax
4f36df:	8b 45 e0             	mov    -0x20(%ebp),%eax
4f36e2:	50                   	push   %eax
4f36e3:	8d 45 cc             	lea    -0x34(%ebp),%eax
4f36e6:	50                   	push   %eax
4f36e7:	8d 55 18             	lea    0x18(%ebp),%edx
4f36ea:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4f36ed:	8b 4d 14             	mov    0x14(%ebp),%ecx
4f36f0:	e8 f3 e6 ff ff       	call   0x4f1de8
4f36f5:	84 c0                	test   %al,%al
4f36f7:	74 7a                	je     0x4f3773
4f36f9:	8b 7d e4             	mov    -0x1c(%ebp),%edi
4f36fc:	89 75 dc             	mov    %esi,-0x24(%ebp)
4f36ff:	8a 45 cb             	mov    -0x35(%ebp),%al
4f3702:	2c 01                	sub    $0x1,%al
4f3704:	72 22                	jb     0x4f3728
4f3706:	75 2d                	jne    0x4f3735
4f3708:	8b 45 d0             	mov    -0x30(%ebp),%eax
4f370b:	48                   	dec    %eax
4f370c:	85 c0                	test   %eax,%eax
4f370e:	7c 25                	jl     0x4f3735
4f3710:	40                   	inc    %eax
4f3711:	89 45 a4             	mov    %eax,-0x5c(%ebp)
4f3714:	8a 07                	mov    (%edi),%al
4f3716:	f6 d0                	not    %al
4f3718:	8b 55 dc             	mov    -0x24(%ebp),%edx
4f371b:	88 02                	mov    %al,(%edx)
4f371d:	47                   	inc    %edi
4f371e:	ff 45 dc             	incl   -0x24(%ebp)
4f3721:	ff 4d a4             	decl   -0x5c(%ebp)
4f3724:	75 ee                	jne    0x4f3714
4f3726:	eb 0d                	jmp    0x4f3735
4f3728:	8b 4d d0             	mov    -0x30(%ebp),%ecx
4f372b:	8b d7                	mov    %edi,%edx
4f372d:	8b 45 dc             	mov    -0x24(%ebp),%eax
4f3730:	e8 8b 47 f1 ff       	call   0x407ec0
4f3735:	8b 45 08             	mov    0x8(%ebp),%eax
4f3738:	ff 40 0c             	incl   0xc(%eax)
4f373b:	8b 45 08             	mov    0x8(%ebp),%eax
4f373e:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
4f3743:	74 21                	je     0x4f3766