5f366f:	8b 58 b8             	mov    -0x48(%eax),%ebx
5f3672:	8b 45 08             	mov    0x8(%ebp),%eax
5f3675:	8b 70 b4             	mov    -0x4c(%eax),%esi
5f3678:	2b f3                	sub    %ebx,%esi
5f367a:	0f 8c b4 00 00 00    	jl     0x5f3734
5f3680:	46                   	inc    %esi
5f3681:	8b 45 08             	mov    0x8(%ebp),%eax
5f3684:	8b 40 d8             	mov    -0x28(%eax),%eax
5f3687:	8b 40 64             	mov    0x64(%eax),%eax
5f368a:	8b 04 98             	mov    (%eax,%ebx,4),%eax
5f368d:	8b 55 08             	mov    0x8(%ebp),%edx
5f3690:	8b 52 fc             	mov    -0x4(%edx),%edx
5f3693:	4a                   	dec    %edx
5f3694:	03 c2                	add    %edx,%eax
5f3696:	8b 55 08             	mov    0x8(%ebp),%edx
5f3699:	89 42 b0             	mov    %eax,-0x50(%edx)
5f369c:	8b 45 08             	mov    0x8(%ebp),%eax
5f369f:	8b 40 b0             	mov    -0x50(%eax),%eax
5f36a2:	80 38 00             	cmpb   $0x0,(%eax)
5f36a5:	75 21                	jne    0x5f36c8
5f36a7:	8b 45 08             	mov    0x8(%ebp),%eax
5f36aa:	8b 40 e4             	mov    -0x1c(%eax),%eax
5f36ad:	50                   	push   %eax
5f36ae:	8b 45 08             	mov    0x8(%ebp),%eax
5f36b1:	8b 40 e8             	mov    -0x18(%eax),%eax
5f36b4:	50                   	push   %eax
5f36b5:	8b 45 08             	mov    0x8(%ebp),%eax
5f36b8:	8b 40 f4             	mov    -0xc(%eax),%eax
5f36bb:	50                   	push   %eax
5f36bc:	8b 45 08             	mov    0x8(%ebp),%eax
5f36bf:	8b 40 d4             	mov    -0x2c(%eax),%eax
5f36c2:	50                   	push   %eax
5f36c3:	e8 88 40 e1 ff       	call   0x407750
5f36c8:	8b 45 08             	mov    0x8(%ebp),%eax
5f36cb:	ff 40 b0             	incl   -0x50(%eax)
5f36ce:	8b 45 08             	mov    0x8(%ebp),%eax
5f36d1:	8b 40 b0             	mov    -0x50(%eax),%eax
5f36d4:	80 38 00             	cmpb   $0x0,(%eax)
5f36d7:	75 21                	jne    0x5f36fa
5f36d9:	8b 45 08             	mov    0x8(%ebp),%eax
5f36dc:	8b 40 e4             	mov    -0x1c(%eax),%eax
5f36df:	50                   	push   %eax
5f36e0:	8b 45 08             	mov    0x8(%ebp),%eax
5f36e3:	8b 40 e8             	mov    -0x18(%eax),%eax
5f36e6:	50                   	push   %eax
5f36e7:	8b 45 08             	mov    0x8(%ebp),%eax
5f36ea:	8b 40 f4             	mov    -0xc(%eax),%eax
5f36ed:	50                   	push   %eax
5f36ee:	8b 45 08             	mov    0x8(%ebp),%eax
5f36f1:	8b 40 d4             	mov    -0x2c(%eax),%eax
5f36f4:	50                   	push   %eax
5f36f5:	e8 56 40 e1 ff       	call   0x407750
5f36fa:	8b 45 08             	mov    0x8(%ebp),%eax
5f36fd:	ff 40 b0             	incl   -0x50(%eax)
5f3700:	8b 45 08             	mov    0x8(%ebp),%eax
5f3703:	8b 40 b0             	mov    -0x50(%eax),%eax
5f3706:	80 38 00             	cmpb   $0x0,(%eax)
5f3709:	75 21                	jne    0x5f372c
5f370b:	8b 45 08             	mov    0x8(%ebp),%eax
5f370e:	8b 40 e4             	mov    -0x1c(%eax),%eax
5f3711:	50                   	push   %eax
5f3712:	8b 45 08             	mov    0x8(%ebp),%eax
5f3715:	8b 40 e8             	mov    -0x18(%eax),%eax
5f3718:	50                   	push   %eax
5f3719:	8b 45 08             	mov    0x8(%ebp),%eax
5f371c:	8b 40 f4             	mov    -0xc(%eax),%eax
5f371f:	50                   	push   %eax
5f3720:	8b 45 08             	mov    0x8(%ebp),%eax
5f3723:	8b 40 d4             	mov    -0x2c(%eax),%eax
5f3726:	50                   	push   %eax
5f3727:	e8 24 40 e1 ff       	call   0x407750
5f372c:	43                   	inc    %ebx
5f372d:	4e                   	dec    %esi
5f372e:	0f 85 4d ff ff ff    	jne    0x5f3681
5f3734:	5e                   	pop    %esi
5f3735:	5b                   	pop    %ebx
5f3736:	5d                   	pop    %ebp
5f3737:	c3                   	ret
5f3738:	55                   	push   %ebp
5f3739:	8b ec                	mov    %esp,%ebp
5f373b:	83 c4 a8             	add    $0xffffffa8,%esp
5f373e:	53                   	push   %ebx
5f373f:	56                   	push   %esi
5f3740:	57                   	push   %edi
5f3741:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5f3744:	8b fa                	mov    %edx,%edi
5f3746:	89 45 d8             	mov    %eax,-0x28(%ebp)
5f3749:	8b 5d 30             	mov    0x30(%ebp),%ebx
5f374c:	83 fb 01             	cmp    $0x1,%ebx
5f374f:	0f 8c ab 02 00 00    	jl     0x5f3a00
5f3755:	83 7d 2c 01          	cmpl   $0x1,0x2c(%ebp)
5f3759:	0f 8c a1 02 00 00    	jl     0x5f3a00
5f375f:	8b 45 d8             	mov    -0x28(%ebp),%eax
5f3762:	81 78 18 ff ff ff 7f 	cmpl   $0x7fffffff,0x18(%eax)
5f3769:	0f 84 91 02 00 00    	je     0x5f3a00
5f376f:	8b 45 d8             	mov    -0x28(%ebp),%eax
5f3772:	81 78 1c ff ff ff 7f 	cmpl   $0x7fffffff,0x1c(%eax)
5f3779:	0f 84 81 02 00 00    	je     0x5f3a00
5f377f:	8b 45 14             	mov    0x14(%ebp),%eax
5f3782:	e8 51 3e e3 ff       	call   0x4275d8
5f3787:	89 45 ec             	mov    %eax,-0x14(%ebp)
5f378a:	8b 45 10             	mov    0x10(%ebp),%eax
5f378d:	e8 46 3e e3 ff       	call   0x4275d8
5f3792:	89 45 f0             	mov    %eax,-0x10(%ebp)
5f3795:	8b 45 d8             	mov    -0x28(%ebp),%eax
5f3798:	3b 58 5c             	cmp    0x5c(%eax),%ebx
5f379b:	75 0f                	jne    0x5f37ac
5f379d:	8b 45 d8             	mov    -0x28(%ebp),%eax
5f37a0:	8b 40 60             	mov    0x60(%eax),%eax
5f37a3:	3b 45 2c             	cmp    0x2c(%ebp),%eax
5f37a6:	0f 84 8c 00 00 00    	je     0x5f3838
5f37ac:	8b 45 d8             	mov    -0x28(%ebp),%eax
5f37af:	89 58 5c             	mov    %ebx,0x5c(%eax)
5f37b2:	8b 45 d8             	mov    -0x28(%ebp),%eax
5f37b5:	8b 55 2c             	mov    0x2c(%ebp),%edx
5f37b8:	89 50 60             	mov    %edx,0x60(%eax)
5f37bb:	8b 45 d8             	mov    -0x28(%ebp),%eax
5f37be:	8b 50 0c             	mov    0xc(%eax),%edx
5f37c1:	b9 20 00 00 00       	mov    $0x20,%ecx
5f37c6:	8b c3                	mov    %ebx,%eax
5f37c8:	e8 13 d3 ff ff       	call   0x5f0ae0
5f37cd:	89 45 cc             	mov    %eax,-0x34(%ebp)
5f37d0:	8b 45 d8             	mov    -0x28(%ebp),%eax
5f37d3:	8b 40 58             	mov    0x58(%eax),%eax
5f37d6:	85 c0                	test   %eax,%eax
5f37d8:	74 10                	je     0x5f37ea
5f37da:	e8 ed ef e0 ff       	call   0x4027cc
5f37df:	8b 45 d8             	mov    -0x28(%ebp),%eax
5f37e2:	8b 40 64             	mov    0x64(%eax),%eax
5f37e5:	e8 e2 ef e0 ff       	call   0x4027cc
5f37ea:	8b 45 cc             	mov    -0x34(%ebp),%eax
5f37ed:	f7 6d 2c             	imull  0x2c(%ebp)
5f37f0:	e8 b7 ef e0 ff       	call   0x4027ac
5f37f5:	8b 55 d8             	mov    -0x28(%ebp),%edx
5f37f8:	89 42 58             	mov    %eax,0x58(%edx)
5f37fb:	8b 45 2c             	mov    0x2c(%ebp),%eax
5f37fe:	c1 e0 02             	shl    $0x2,%eax
5f3801:	e8 a6 ef e0 ff       	call   0x4027ac
5f3806:	8b 55 d8             	mov    -0x28(%ebp),%edx
5f3809:	89 42 64             	mov    %eax,0x64(%edx)
5f380c:	8b 75 2c             	mov    0x2c(%ebp),%esi
5f380f:	4e                   	dec    %esi
5f3810:	85 f6                	test   %esi,%esi
5f3812:	7c 24                	jl     0x5f3838
5f3814:	46                   	inc    %esi
5f3815:	33 c0                	xor    %eax,%eax
5f3817:	8b 55 d8             	mov    -0x28(%ebp),%edx
5f381a:	8b 52 58             	mov    0x58(%edx),%edx
5f381d:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
5f3820:	2b c8                	sub    %eax,%ecx
5f3822:	49                   	dec    %ecx
5f3823:	0f af 4d cc          	imul   -0x34(%ebp),%ecx
5f3827:	03 d1                	add    %ecx,%edx
5f3829:	52                   	push   %edx
5f382a:	8b 55 d8             	mov    -0x28(%ebp),%edx
5f382d:	8b 52 64             	mov    0x64(%edx),%edx
5f3830:	59                   	pop    %ecx
5f3831:	89 0c 82             	mov    %ecx,(%edx,%eax,4)
5f3834:	40                   	inc    %eax
5f3835:	4e                   	dec    %esi
5f3836:	75 df                	jne    0x5f3817
5f3838:	8b 45 2c             	mov    0x2c(%ebp),%eax
5f383b:	50                   	push   %eax
5f383c:	8b 45 28             	mov    0x28(%ebp),%eax
5f383f:	50                   	push   %eax
5f3840:	8b 45 24             	mov    0x24(%ebp),%eax
5f3843:	50                   	push   %eax
5f3844:	8b 45 20             	mov    0x20(%ebp),%eax
5f3847:	50                   	push   %eax
5f3848:	8b 45 1c             	mov    0x1c(%ebp),%eax
5f384b:	50                   	push   %eax
5f384c:	8b 45 d8             	mov    -0x28(%ebp),%eax
5f384f:	8b 40 14             	mov    0x14(%eax),%eax
5f3852:	50                   	push   %eax
5f3853:	8b 45 d8             	mov    -0x28(%ebp),%eax
5f3856:	8b 40 04             	mov    0x4(%eax),%eax
5f3859:	50                   	push   %eax
5f385a:	8b 45 d8             	mov    -0x28(%ebp),%eax
5f385d:	8b 40 08             	mov    0x8(%eax),%eax
5f3860:	50                   	push   %eax
5f3861:	8b 45 d8             	mov    -0x28(%ebp),%eax
5f3864:	8b 40 18             	mov    0x18(%eax),%eax
5f3867:	50                   	push   %eax
5f3868:	8b 45 d8             	mov    -0x28(%ebp),%eax
5f386b:	8b 40 1c             	mov    0x1c(%eax),%eax
5f386e:	50                   	push   %eax
5f386f:	8b 45 d8             	mov    -0x28(%ebp),%eax
5f3872:	8b 40 20             	mov    0x20(%eax),%eax
5f3875:	50                   	push   %eax
5f3876:	8b 45 d8             	mov    -0x28(%ebp),%eax
5f3879:	8b 40 24             	mov    0x24(%eax),%eax
5f387c:	50                   	push   %eax
5f387d:	8b 45 d8             	mov    -0x28(%ebp),%eax
5f3880:	8b 50 58             	mov    0x58(%eax),%edx
5f3883:	8b 45 d8             	mov    -0x28(%ebp),%eax
5f3886:	8b 40 0c             	mov    0xc(%eax),%eax
5f3889:	8b cb                	mov    %ebx,%ecx
5f388b:	e8 e4 f8 ff ff       	call   0x5f3174
5f3890:	db 45 20             	fildl  0x20(%ebp)
5f3893:	89 5d a8             	mov    %ebx,-0x58(%ebp)
5f3896:	db 45 a8             	fildl  -0x58(%ebp)
5f3899:	de f9                	fdivrp %st,%st(1)
5f389b:	d8 0d 0c 3a 5f 00    	fmuls  0x5f3a0c
5f38a1:	e8 26 f4 e0 ff       	call   0x402ccc
5f38a6:	89 45 e0             	mov    %eax,-0x20(%ebp)
5f38a9:	db 45 1c             	fildl  0x1c(%ebp)
5f38ac:	db 45 2c             	fildl  0x2c(%ebp)
5f38af:	de f9                	fdivrp %st,%st(1)
5f38b1:	d8 0d 0c 3a 5f 00    	fmuls  0x5f3a0c
5f38b7:	e8 10 f4 e0 ff       	call   0x402ccc
5f38bc:	89 45 c8             	mov    %eax,-0x38(%ebp)
5f38bf:	8b 45 d8             	mov    -0x28(%ebp),%eax
5f38c2:	8b 40 1c             	mov    0x1c(%eax),%eax
5f38c5:	2b 45 24             	sub    0x24(%ebp),%eax
5f38c8:	c1 e0 0e             	shl    $0xe,%eax
5f38cb:	99                   	cltd
5f38cc:	f7 7d c8             	idivl  -0x38(%ebp)
5f38cf:	33 d2                	xor    %edx,%edx
5f38d1:	e8 3e 5b fb ff       	call   0x5a9414
5f38d6:	8b f0                	mov    %eax,%esi
5f38d8:	8b 45 d8             	mov    -0x28(%ebp),%eax
5f38db:	8b 40 24             	mov    0x24(%eax),%eax
5f38de:	2b 45 24             	sub    0x24(%ebp),%eax
5f38e1:	40                   	inc    %eax
5f38e2:	c1 e0 0e             	shl    $0xe,%eax
5f38e5:	99                   	cltd
5f38e6:	f7 7d c8             	idivl  -0x38(%ebp)
5f38e9:	40                   	inc    %eax
5f38ea:	8b 55 2c             	mov    0x2c(%ebp),%edx
5f38ed:	4a                   	dec    %edx
5f38ee:	e8 29 5b fb ff       	call   0x5a941c
5f38f3:	89 45 c4             	mov    %eax,-0x3c(%ebp)
5f38f6:	8b 45 d8             	mov    -0x28(%ebp),%eax
5f38f9:	8b 40 18             	mov    0x18(%eax),%eax
5f38fc:	2b 45 28             	sub    0x28(%ebp),%eax
5f38ff:	c1 e0 0e             	shl    $0xe,%eax
5f3902:	99                   	cltd
5f3903:	f7 7d e0             	idivl  -0x20(%ebp)
5f3906:	33 d2                	xor    %edx,%edx
5f3908:	e8 07 5b fb ff       	call   0x5a9414
5f390d:	89 45 ac             	mov    %eax,-0x54(%ebp)
5f3910:	8b 45 d8             	mov    -0x28(%ebp),%eax
5f3913:	8b 40 20             	mov    0x20(%eax),%eax
5f3916:	2b 45 28             	sub    0x28(%ebp),%eax
5f3919:	40                   	inc    %eax
5f391a:	c1 e0 0e             	shl    $0xe,%eax
5f391d:	99                   	cltd
5f391e:	f7 7d e0             	idivl  -0x20(%ebp)
5f3921:	40                   	inc    %eax
5f3922:	8b d3                	mov    %ebx,%edx
5f3924:	4a                   	dec    %edx
5f3925:	e8 f2 5a fb ff       	call   0x5a941c
5f392a:	89 45 d0             	mov    %eax,-0x30(%ebp)
5f392d:	8b 47 10             	mov    0x10(%edi),%eax
5f3930:	33 d2                	xor    %edx,%edx
5f3932:	e8 49 47 e3 ff       	call   0x428080
5f3937:	8b 47 10             	mov    0x10(%edi),%eax
5f393a:	b2 04                	mov    $0x4,%dl
5f393c:	e8 23 47 e3 ff       	call   0x428064
5f3941:	8b c7                	mov    %edi,%eax
5f3943:	e8 78 53 e3 ff       	call   0x428cc0
5f3948:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5f394b:	8b 45 c4             	mov    -0x3c(%ebp),%eax
5f394e:	2b c6                	sub    %esi,%eax
5f3950:	0f 8c aa 00 00 00    	jl     0x5f3a00
5f3956:	40                   	inc    %eax
5f3957:	96                   	xchg   %eax,%esi
5f3958:	89 45 cc             	mov    %eax,-0x34(%ebp)
5f395b:	8b 45 d8             	mov    -0x28(%ebp),%eax
5f395e:	8b 40 64             	mov    0x64(%eax),%eax
5f3961:	8b 55 cc             	mov    -0x34(%ebp),%edx
5f3964:	8b 3c 90             	mov    (%eax,%edx,4),%edi
5f3967:	8b 45 cc             	mov    -0x34(%ebp),%eax
5f396a:	03 45 34             	add    0x34(%ebp),%eax
5f396d:	89 45 e8             	mov    %eax,-0x18(%ebp)
5f3970:	8b 45 cc             	mov    -0x34(%ebp),%eax
5f3973:	48                   	dec    %eax
5f3974:	33 d2                	xor    %edx,%edx
5f3976:	e8 99 5a fb ff       	call   0x5a9414
5f397b:	89 45 b8             	mov    %eax,-0x48(%ebp)
5f397e:	8b 55 2c             	mov    0x2c(%ebp),%edx
5f3981:	4a                   	dec    %edx
5f3982:	8b 45 cc             	mov    -0x34(%ebp),%eax
5f3985:	40                   	inc    %eax
5f3986:	e8 91 5a fb ff       	call   0x5a941c
5f398b:	89 45 b4             	mov    %eax,-0x4c(%ebp)
5f398e:	8b 45 d8             	mov    -0x28(%ebp),%eax
5f3991:	8b 40 0c             	mov    0xc(%eax),%eax
5f3994:	48                   	dec    %eax
5f3995:	74 07                	je     0x5f399e
5f3997:	83 e8 07             	sub    $0x7,%eax
5f399a:	74 36                	je     0x5f39d2
5f399c:	eb 58                	jmp    0x5f39f6
5f399e:	8b 45 ac             	mov    -0x54(%ebp),%eax
5f39a1:	8b 5d d0             	mov    -0x30(%ebp),%ebx
5f39a4:	2b d8                	sub    %eax,%ebx
5f39a6:	7c 4e                	jl     0x5f39f6
5f39a8:	43                   	inc    %ebx
5f39a9:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f39ac:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f39af:	c1 e8 03             	shr    $0x3,%eax
5f39b2:	8a 04 07             	mov    (%edi,%eax,1),%al
5f39b5:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f39b8:	83 e2 07             	and    $0x7,%edx
5f39bb:	22 82 ec 54 6a 00    	and    0x6a54ec(%edx),%al
5f39c1:	74 07                	je     0x5f39ca
5f39c3:	55                   	push   %ebp
5f39c4:	e8 13 fa ff ff       	call   0x5f33dc
5f39c9:	59                   	pop    %ecx
5f39ca:	ff 45 fc             	incl   -0x4(%ebp)
5f39cd:	4b                   	dec    %ebx
5f39ce:	75 dc                	jne    0x5f39ac
5f39d0:	eb 24                	jmp    0x5f39f6
5f39d2:	8b 45 ac             	mov    -0x54(%ebp),%eax
5f39d5:	8b 5d d0             	mov    -0x30(%ebp),%ebx
5f39d8:	2b d8                	sub    %eax,%ebx
5f39da:	7c 1a                	jl     0x5f39f6
5f39dc:	43                   	inc    %ebx
5f39dd:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f39e0:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f39e3:	80 3c 07 00          	cmpb   $0x0,(%edi,%eax,1)
5f39e7:	74 07                	je     0x5f39f0
5f39e9:	55                   	push   %ebp
5f39ea:	e8 ed f9 ff ff       	call   0x5f33dc
5f39ef:	59                   	pop    %ecx
5f39f0:	ff 45 fc             	incl   -0x4(%ebp)
5f39f3:	4b                   	dec    %ebx
5f39f4:	75 ea                	jne    0x5f39e0
5f39f6:	ff 45 cc             	incl   -0x34(%ebp)
5f39f9:	4e                   	dec    %esi
5f39fa:	0f 85 5b ff ff ff    	jne    0x5f395b
5f3a00:	5f                   	pop    %edi
5f3a01:	5e                   	pop    %esi
5f3a02:	5b                   	pop    %ebx
5f3a03:	8b e5                	mov    %ebp,%esp
5f3a05:	5d                   	pop    %ebp
5f3a06:	c2 30 00             	ret    $0x30
5f3a09:	00 00                	add    %al,(%eax)
5f3a0b:	00 00                	add    %al,(%eax)
5f3a0d:	00 80 46 55 8b ec    	add    %al,-0x1374aaba(%eax)
5f3a13:	83 c4 c4             	add    $0xffffffc4,%esp
5f3a16:	53                   	push   %ebx
5f3a17:	56                   	push   %esi
5f3a18:	57                   	push   %edi
5f3a19:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5f3a1c:	89 55 fc             	mov    %edx,-0x4(%ebp)
5f3a1f:	8b d8                	mov    %eax,%ebx
5f3a21:	8b 75 18             	mov    0x18(%ebp),%esi
5f3a24:	8b 7d 1c             	mov    0x1c(%ebp),%edi
5f3a27:	83 ff 01             	cmp    $0x1,%edi