5f364d:	c1 e0 05             	shl    $0x5,%eax
5f3650:	89 45 f4             	mov    %eax,-0xc(%ebp)
5f3653:	8b 45 08             	mov    0x8(%ebp),%eax
5f3656:	8b 5c b0 04          	mov    0x4(%eax,%esi,4),%ebx
5f365a:	89 5d e8             	mov    %ebx,-0x18(%ebp)
5f365d:	8b 1c b8             	mov    (%eax,%edi,4),%ebx
5f3660:	89 5d f8             	mov    %ebx,-0x8(%ebp)
5f3663:	8b 5d 18             	mov    0x18(%ebp),%ebx
5f3666:	85 c9                	test   %ecx,%ecx
5f3668:	75 4f                	jne    0x5f36b9
5f366a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5f366d:	8b 7d f8             	mov    -0x8(%ebp),%edi
5f3670:	03 ca                	add    %edx,%ecx
5f3672:	89 4d ec             	mov    %ecx,-0x14(%ebp)
5f3675:	33 c9                	xor    %ecx,%ecx
5f3677:	03 4c b0 04          	add    0x4(%eax,%esi,4),%ecx
5f367b:	89 4d f0             	mov    %ecx,-0x10(%ebp)
5f367e:	8a 4d 14             	mov    0x14(%ebp),%cl
5f3681:	83 d7 00             	adc    $0x0,%edi
5f3684:	80 f1 01             	xor    $0x1,%cl
5f3687:	88 4d f4             	mov    %cl,-0xc(%ebp)
5f368a:	85 f6                	test   %esi,%esi
5f368c:	74 18                	je     0x5f36a6
5f368e:	8d 50 04             	lea    0x4(%eax),%edx
5f3691:	83 3a 00             	cmpl   $0x0,(%edx)
5f3694:	8d 52 04             	lea    0x4(%edx),%edx
5f3697:	0f 95 c0             	setne  %al
5f369a:	fe c8                	dec    %al
5f369c:	22 c8                	and    %al,%cl
5f369e:	83 ee 01             	sub    $0x1,%esi
5f36a1:	75 ee                	jne    0x5f3691
5f36a3:	88 4d f4             	mov    %cl,-0xc(%ebp)
5f36a6:	53                   	push   %ebx
5f36a7:	ff 75 f4             	push   -0xc(%ebp)
5f36aa:	ff 75 10             	push   0x10(%ebp)
5f36ad:	ff 75 ec             	push   -0x14(%ebp)
5f36b0:	57                   	push   %edi
5f36b1:	ff 75 f0             	push   -0x10(%ebp)
5f36b4:	e9 af 00 00 00       	jmp    0x5f3768
5f36b9:	33 db                	xor    %ebx,%ebx
5f36bb:	43                   	inc    %ebx
5f36bc:	8b c3                	mov    %ebx,%eax
5f36be:	d3 e0                	shl    %cl,%eax
5f36c0:	48                   	dec    %eax
5f36c1:	89 45 ec             	mov    %eax,-0x14(%ebp)
5f36c4:	6a 40                	push   $0x40
5f36c6:	58                   	pop    %eax
5f36c7:	2b c1                	sub    %ecx,%eax
5f36c9:	89 45 f0             	mov    %eax,-0x10(%ebp)
5f36cc:	8b 45 f4             	mov    -0xc(%ebp),%eax
5f36cf:	03 c1                	add    %ecx,%eax
5f36d1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5f36d4:	03 c2                	add    %edx,%eax
5f36d6:	33 d2                	xor    %edx,%edx
5f36d8:	89 45 e0             	mov    %eax,-0x20(%ebp)
5f36db:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f36de:	8d 49 e0             	lea    -0x20(%ecx),%ecx
5f36e1:	e8 aa eb fe ff       	call   0x5e2290
5f36e6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5f36e9:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f36ec:	8b 45 08             	mov    0x8(%ebp),%eax
5f36ef:	89 55 f8             	mov    %edx,-0x8(%ebp)
5f36f2:	33 d2                	xor    %edx,%edx
5f36f4:	8b 44 b8 04          	mov    0x4(%eax,%edi,4),%eax
5f36f8:	23 45 ec             	and    -0x14(%ebp),%eax
5f36fb:	e8 90 eb fe ff       	call   0x5e2290
5f3700:	01 45 fc             	add    %eax,-0x4(%ebp)
5f3703:	8b 45 ec             	mov    -0x14(%ebp),%eax
5f3706:	11 55 f8             	adc    %edx,-0x8(%ebp)
5f3709:	f7 d0                	not    %eax
5f370b:	8b 7d e8             	mov    -0x18(%ebp),%edi
5f370e:	33 d2                	xor    %edx,%edx
5f3710:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
5f3713:	23 c7                	and    %edi,%eax
5f3715:	e8 46 e9 fe ff       	call   0x5e2060
5f371a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f371d:	03 c8                	add    %eax,%ecx
5f371f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5f3722:	11 55 f8             	adc    %edx,-0x8(%ebp)
5f3725:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
5f3729:	75 05                	jne    0x5f3730
5f372b:	85 7d ec             	test   %edi,-0x14(%ebp)
5f372e:	74 02                	je     0x5f3732
5f3730:	32 db                	xor    %bl,%bl
5f3732:	88 5d f4             	mov    %bl,-0xc(%ebp)
5f3735:	85 f6                	test   %esi,%esi
5f3737:	74 1e                	je     0x5f3757
5f3739:	8b 4d 08             	mov    0x8(%ebp),%ecx
5f373c:	83 c1 04             	add    $0x4,%ecx
5f373f:	83 39 00             	cmpl   $0x0,(%ecx)
5f3742:	8d 49 04             	lea    0x4(%ecx),%ecx
5f3745:	0f 95 c0             	setne  %al
5f3748:	fe c8                	dec    %al
5f374a:	22 d8                	and    %al,%bl
5f374c:	88 5d f4             	mov    %bl,-0xc(%ebp)
5f374f:	83 ee 01             	sub    $0x1,%esi
5f3752:	75 eb                	jne    0x5f373f
5f3754:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f3757:	ff 75 18             	push   0x18(%ebp)
5f375a:	8b 55 f8             	mov    -0x8(%ebp),%edx
5f375d:	ff 75 f4             	push   -0xc(%ebp)
5f3760:	ff 75 10             	push   0x10(%ebp)
5f3763:	ff 75 e0             	push   -0x20(%ebp)
5f3766:	52                   	push   %edx
5f3767:	51                   	push   %ecx
5f3768:	e8 2b fb ff ff       	call   0x5f3298
5f376d:	83 c4 18             	add    $0x18,%esp
5f3770:	5f                   	pop    %edi
5f3771:	5e                   	pop    %esi
5f3772:	5b                   	pop    %ebx
5f3773:	c9                   	leave
5f3774:	c3                   	ret
5f3775:	8b ff                	mov    %edi,%edi
5f3777:	55                   	push   %ebp
5f3778:	8b ec                	mov    %esp,%ebp
5f377a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5f377d:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
5f3781:	74 17                	je     0x5f379a
5f3783:	e8 86 fa ff ff       	call   0x5f320e
5f3788:	8b c8                	mov    %eax,%ecx
5f378a:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
5f378e:	99                   	cltd
5f378f:	c1 e0 1f             	shl    $0x1f,%eax
5f3792:	83 21 00             	andl   $0x0,(%ecx)
5f3795:	89 41 04             	mov    %eax,0x4(%ecx)
5f3798:	5d                   	pop    %ebp
5f3799:	c3                   	ret
5f379a:	e8 94 fa ff ff       	call   0x5f3233
5f379f:	0f b6 4d 08          	movzbl 0x8(%ebp),%ecx
5f37a3:	c1 e1 1f             	shl    $0x1f,%ecx
5f37a6:	89 08                	mov    %ecx,(%eax)
5f37a8:	5d                   	pop    %ebp
5f37a9:	c3                   	ret
5f37aa:	8b ff                	mov    %edi,%edi
5f37ac:	55                   	push   %ebp
5f37ad:	8b ec                	mov    %esp,%ebp
5f37af:	81 ec 2c 0b 00 00    	sub    $0xb2c,%esp
5f37b5:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5f37ba:	33 c5                	xor    %ebp,%eax
5f37bc:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f37bf:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5f37c2:	33 c0                	xor    %eax,%eax
5f37c4:	8b 55 08             	mov    0x8(%ebp),%edx
5f37c7:	53                   	push   %ebx
5f37c8:	56                   	push   %esi
5f37c9:	38 41 04             	cmp    %al,0x4(%ecx)
5f37cc:	8b 1a                	mov    (%edx),%ebx
5f37ce:	0f 94 c0             	sete   %al
5f37d1:	89 95 b8 f6 ff ff    	mov    %edx,-0x948(%ebp)
5f37d7:	48                   	dec    %eax
5f37d8:	89 8d b0 f6 ff ff    	mov    %ecx,-0x950(%ebp)
5f37de:	83 e0 1d             	and    $0x1d,%eax
5f37e1:	83 c0 19             	add    $0x19,%eax
5f37e4:	89 85 b4 f6 ff ff    	mov    %eax,-0x94c(%ebp)
5f37ea:	57                   	push   %edi
5f37eb:	85 db                	test   %ebx,%ebx
5f37ed:	79 02                	jns    0x5f37f1
5f37ef:	33 db                	xor    %ebx,%ebx
5f37f1:	8b 42 04             	mov    0x4(%edx),%eax
5f37f4:	8b cb                	mov    %ebx,%ecx
5f37f6:	3b d8                	cmp    %eax,%ebx
5f37f8:	72 02                	jb     0x5f37fc
5f37fa:	8b c8                	mov    %eax,%ecx
5f37fc:	2b d9                	sub    %ecx,%ebx
5f37fe:	8d 7a 08             	lea    0x8(%edx),%edi
5f3801:	83 c0 08             	add    $0x8,%eax
5f3804:	89 9d c8 f6 ff ff    	mov    %ebx,-0x938(%ebp)
5f380a:	83 c1 08             	add    $0x8,%ecx
5f380d:	89 bd c4 f6 ff ff    	mov    %edi,-0x93c(%ebp)
5f3813:	03 ca                	add    %edx,%ecx
5f3815:	03 c2                	add    %edx,%eax
5f3817:	89 8d ac f6 ff ff    	mov    %ecx,-0x954(%ebp)
5f381d:	33 db                	xor    %ebx,%ebx
5f381f:	89 85 a8 f6 ff ff    	mov    %eax,-0x958(%ebp)
5f3825:	33 f6                	xor    %esi,%esi
5f3827:	2b c1                	sub    %ecx,%eax
5f3829:	89 9d e8 f6 ff ff    	mov    %ebx,-0x918(%ebp)
5f382f:	33 c9                	xor    %ecx,%ecx
5f3831:	89 85 e4 f6 ff ff    	mov    %eax,-0x91c(%ebp)
5f3837:	89 9d 2c fe ff ff    	mov    %ebx,-0x1d4(%ebp)
5f383d:	89 b5 e0 f6 ff ff    	mov    %esi,-0x920(%ebp)
5f3843:	3b bd ac f6 ff ff    	cmp    -0x954(%ebp),%edi
5f3849:	0f 84 63 06 00 00    	je     0x5f3eb2
5f384f:	83 f9 09             	cmp    $0x9,%ecx
5f3852:	0f 85 04 01 00 00    	jne    0x5f395c
5f3858:	85 db                	test   %ebx,%ebx
5f385a:	0f 84 86 00 00 00    	je     0x5f38e6
5f3860:	33 c9                	xor    %ecx,%ecx
5f3862:	bf 00 ca 9a 3b       	mov    $0x3b9aca00,%edi
5f3867:	33 f6                	xor    %esi,%esi
5f3869:	8b 84 b5 30 fe ff ff 	mov    -0x1d0(%ebp,%esi,4),%eax
5f3870:	f7 e7                	mul    %edi
5f3872:	03 c1                	add    %ecx,%eax
5f3874:	89 84 b5 30 fe ff ff 	mov    %eax,-0x1d0(%ebp,%esi,4)
5f387b:	83 d2 00             	adc    $0x0,%edx
5f387e:	46                   	inc    %esi
5f387f:	8b ca                	mov    %edx,%ecx
5f3881:	3b f3                	cmp    %ebx,%esi
5f3883:	75 e4                	jne    0x5f3869
5f3885:	8b bd c4 f6 ff ff    	mov    -0x93c(%ebp),%edi
5f388b:	85 c9                	test   %ecx,%ecx
5f388d:	74 4b                	je     0x5f38da
5f388f:	8b 85 2c fe ff ff    	mov    -0x1d4(%ebp),%eax
5f3895:	83 f8 73             	cmp    $0x73,%eax
5f3898:	73 16                	jae    0x5f38b0
5f389a:	89 8c 85 30 fe ff ff 	mov    %ecx,-0x1d0(%ebp,%eax,4)
5f38a1:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
5f38a7:	43                   	inc    %ebx
5f38a8:	89 9d 2c fe ff ff    	mov    %ebx,-0x1d4(%ebp)
5f38ae:	eb 30                	jmp    0x5f38e0
5f38b0:	33 c0                	xor    %eax,%eax
5f38b2:	50                   	push   %eax
5f38b3:	89 85 ec f6 ff ff    	mov    %eax,-0x914(%ebp)
5f38b9:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
5f38bf:	8d 85 f0 f6 ff ff    	lea    -0x910(%ebp),%eax
5f38c5:	50                   	push   %eax
5f38c6:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
5f38cc:	68 cc 01 00 00       	push   $0x1cc
5f38d1:	50                   	push   %eax
5f38d2:	e8 ba a8 ff ff       	call   0x5ee191
5f38d7:	83 c4 10             	add    $0x10,%esp
5f38da:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
5f38e0:	8b b5 e0 f6 ff ff    	mov    -0x920(%ebp),%esi
5f38e6:	85 f6                	test   %esi,%esi
5f38e8:	74 6e                	je     0x5f3958
5f38ea:	33 d2                	xor    %edx,%edx
5f38ec:	85 db                	test   %ebx,%ebx
5f38ee:	74 18                	je     0x5f3908
5f38f0:	33 c0                	xor    %eax,%eax
5f38f2:	01 b4 95 30 fe ff ff 	add    %esi,-0x1d0(%ebp,%edx,4)
5f38f9:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
5f38ff:	13 c0                	adc    %eax,%eax
5f3901:	42                   	inc    %edx
5f3902:	8b f0                	mov    %eax,%esi
5f3904:	3b d3                	cmp    %ebx,%edx
5f3906:	75 e8                	jne    0x5f38f0
5f3908:	85 f6                	test   %esi,%esi
5f390a:	74 4c                	je     0x5f3958
5f390c:	83 fb 73             	cmp    $0x73,%ebx
5f390f:	73 16                	jae    0x5f3927
5f3911:	89 b4 9d 30 fe ff ff 	mov    %esi,-0x1d0(%ebp,%ebx,4)
5f3918:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
5f391e:	43                   	inc    %ebx
5f391f:	89 9d 2c fe ff ff    	mov    %ebx,-0x1d4(%ebp)
5f3925:	eb 31                	jmp    0x5f3958
5f3927:	83 a5 ec f6 ff ff 00 	andl   $0x0,-0x914(%ebp)
5f392e:	8d 85 f0 f6 ff ff    	lea    -0x910(%ebp),%eax
5f3934:	83 a5 2c fe ff ff 00 	andl   $0x0,-0x1d4(%ebp)
5f393b:	6a 00                	push   $0x0
5f393d:	50                   	push   %eax
5f393e:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
5f3944:	68 cc 01 00 00       	push   $0x1cc
5f3949:	50                   	push   %eax
5f394a:	e8 42 a8 ff ff       	call   0x5ee191
5f394f:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
5f3955:	83 c4 10             	add    $0x10,%esp
5f3958:	33 f6                	xor    %esi,%esi
5f395a:	33 c9                	xor    %ecx,%ecx
5f395c:	0f b6 07             	movzbl (%edi),%eax
5f395f:	6b f6 0a             	imul   $0xa,%esi,%esi
5f3962:	03 f0                	add    %eax,%esi
5f3964:	41                   	inc    %ecx
5f3965:	47                   	inc    %edi
5f3966:	89 b5 e0 f6 ff ff    	mov    %esi,-0x920(%ebp)
5f396c:	89 bd c4 f6 ff ff    	mov    %edi,-0x93c(%ebp)
5f3972:	3b bd ac f6 ff ff    	cmp    -0x954(%ebp),%edi
5f3978:	0f 85 d1 fe ff ff    	jne    0x5f384f
5f397e:	89 9d e8 f6 ff ff    	mov    %ebx,-0x918(%ebp)
5f3984:	85 c9                	test   %ecx,%ecx
5f3986:	0f 84 2a 05 00 00    	je     0x5f3eb6
5f398c:	8b c1                	mov    %ecx,%eax
5f398e:	33 d2                	xor    %edx,%edx
5f3990:	6a 0a                	push   $0xa
5f3992:	59                   	pop    %ecx
5f3993:	f7 f1                	div    %ecx
5f3995:	89 85 d0 f6 ff ff    	mov    %eax,-0x930(%ebp)
5f399b:	8b ca                	mov    %edx,%ecx
5f399d:	89 8d cc f6 ff ff    	mov    %ecx,-0x934(%ebp)
5f39a3:	85 c0                	test   %eax,%eax
5f39a5:	0f 84 9c 03 00 00    	je     0x5f3d47
5f39ab:	83 f8 26             	cmp    $0x26,%eax
5f39ae:	76 03                	jbe    0x5f39b3
5f39b0:	6a 26                	push   $0x26
5f39b2:	58                   	pop    %eax
5f39b3:	0f b6 0c 85 b6 31 6d 	movzbl 0x6d31b6(,%eax,4),%ecx
5f39ba:	00
5f39bb:	0f b6 34 85 b7 31 6d 	movzbl 0x6d31b7(,%eax,4),%esi
5f39c2:	00
5f39c3:	8b f9                	mov    %ecx,%edi
5f39c5:	89 85 d8 f6 ff ff    	mov    %eax,-0x928(%ebp)
5f39cb:	c1 e7 02             	shl    $0x2,%edi
5f39ce:	57                   	push   %edi
5f39cf:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
5f39d2:	89 85 ec f6 ff ff    	mov    %eax,-0x914(%ebp)
5f39d8:	8d 85 f0 f6 ff ff    	lea    -0x910(%ebp),%eax
5f39de:	6a 00                	push   $0x0
5f39e0:	50                   	push   %eax
5f39e1:	e8 1a 00 ff ff       	call   0x5e3a00
5f39e6:	8b c6                	mov    %esi,%eax
5f39e8:	c1 e0 02             	shl    $0x2,%eax
5f39eb:	50                   	push   %eax
5f39ec:	8b 85 d8 f6 ff ff    	mov    -0x928(%ebp),%eax
5f39f2:	0f b7 04 85 b4 31 6d 	movzwl 0x6d31b4(,%eax,4),%eax
5f39f9:	00
5f39fa:	8d 04 85 b0 28 6d 00 	lea    0x6d28b0(,%eax,4),%eax
5f3a01:	50                   	push   %eax
5f3a02:	8d 85 f0 f6 ff ff    	lea    -0x910(%ebp),%eax
5f3a08:	03 c7                	add    %edi,%eax
5f3a0a:	50                   	push   %eax
5f3a0b:	e8 f0 f4 fe ff       	call   0x5e2f00
5f3a10:	8b 85 ec f6 ff ff    	mov    -0x914(%ebp),%eax
5f3a16:	33 c9                	xor    %ecx,%ecx
5f3a18:	41                   	inc    %ecx
5f3a19:	83 c4 18             	add    $0x18,%esp
5f3a1c:	3b c1                	cmp    %ecx,%eax
5f3a1e:	0f 87 d5 00 00 00    	ja     0x5f3af9
5f3a24:	8b b5 f0 f6 ff ff    	mov    -0x910(%ebp),%esi
5f3a2a:	85 f6                	test   %esi,%esi
5f3a2c:	75 43                	jne    0x5f3a71
5f3a2e:	33 c0                	xor    %eax,%eax
5f3a30:	50                   	push   %eax
5f3a31:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
5f3a37:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
5f3a3d:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
5f3a43:	50                   	push   %eax
5f3a44:	68 cc 01 00 00       	push   $0x1cc
5f3a49:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
5f3a4f:	50                   	push   %eax
5f3a50:	e8 3c a7 ff ff       	call   0x5ee191
5f3a55:	83 c4 10             	add    $0x10,%esp
5f3a58:	8b 8d 2c fe ff ff    	mov    -0x1d4(%ebp),%ecx
5f3a5e:	b0 01                	mov    $0x1,%al
5f3a60:	89 8d e8 f6 ff ff    	mov    %ecx,-0x918(%ebp)
5f3a66:	8b 9d e8 f6 ff ff    	mov    -0x918(%ebp),%ebx
5f3a6c:	e9 b4 02 00 00       	jmp    0x5f3d25
5f3a71:	3b f1                	cmp    %ecx,%esi
5f3a73:	75 04                	jne    0x5f3a79
5f3a75:	8a c1                	mov    %cl,%al
5f3a77:	eb ed                	jmp    0x5f3a66
5f3a79:	85 db                	test   %ebx,%ebx
5f3a7b:	74 f8                	je     0x5f3a75
5f3a7d:	33 c9                	xor    %ecx,%ecx
5f3a7f:	33 ff                	xor    %edi,%edi
5f3a81:	8b c6                	mov    %esi,%eax
5f3a83:	f7 a4 bd 30 fe ff ff 	mull   -0x1d0(%ebp,%edi,4)
5f3a8a:	03 c1                	add    %ecx,%eax
5f3a8c:	89 84 bd 30 fe ff ff 	mov    %eax,-0x1d0(%ebp,%edi,4)
5f3a93:	83 d2 00             	adc    $0x0,%edx
5f3a96:	47                   	inc    %edi
5f3a97:	8b ca                	mov    %edx,%ecx