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
5f3a2a:	0f 8c 2c 03 00 00    	jl     0x5f3d5c
5f3a30:	83 fe 01             	cmp    $0x1,%esi
5f3a33:	0f 8c 23 03 00 00    	jl     0x5f3d5c
5f3a39:	81 7b 18 ff ff ff 7f 	cmpl   $0x7fffffff,0x18(%ebx)
5f3a40:	0f 84 16 03 00 00    	je     0x5f3d5c
5f3a46:	81 7b 1c ff ff ff 7f 	cmpl   $0x7fffffff,0x1c(%ebx)
5f3a4d:	0f 84 09 03 00 00    	je     0x5f3d5c
5f3a53:	3b 7b 5c             	cmp    0x5c(%ebx),%edi
5f3a56:	75 05                	jne    0x5f3a5d
5f3a58:	3b 73 60             	cmp    0x60(%ebx),%esi
5f3a5b:	74 6b                	je     0x5f3ac8
5f3a5d:	89 7b 5c             	mov    %edi,0x5c(%ebx)
5f3a60:	89 73 60             	mov    %esi,0x60(%ebx)
5f3a63:	b9 20 00 00 00       	mov    $0x20,%ecx
5f3a68:	8b 53 0c             	mov    0xc(%ebx),%edx
5f3a6b:	8b c7                	mov    %edi,%eax
5f3a6d:	e8 6e d0 ff ff       	call   0x5f0ae0
5f3a72:	89 45 f4             	mov    %eax,-0xc(%ebp)
5f3a75:	8b 43 58             	mov    0x58(%ebx),%eax
5f3a78:	85 c0                	test   %eax,%eax
5f3a7a:	74 0d                	je     0x5f3a89
5f3a7c:	e8 4b ed e0 ff       	call   0x4027cc
5f3a81:	8b 43 64             	mov    0x64(%ebx),%eax
5f3a84:	e8 43 ed e0 ff       	call   0x4027cc
5f3a89:	8b 45 f4             	mov    -0xc(%ebp),%eax
5f3a8c:	f7 ee                	imul   %esi
5f3a8e:	e8 19 ed e0 ff       	call   0x4027ac
5f3a93:	89 43 58             	mov    %eax,0x58(%ebx)
5f3a96:	8b c6                	mov    %esi,%eax
5f3a98:	c1 e0 02             	shl    $0x2,%eax
5f3a9b:	e8 0c ed e0 ff       	call   0x4027ac
5f3aa0:	89 43 64             	mov    %eax,0x64(%ebx)
5f3aa3:	8b c6                	mov    %esi,%eax
5f3aa5:	48                   	dec    %eax
5f3aa6:	85 c0                	test   %eax,%eax
5f3aa8:	7c 1e                	jl     0x5f3ac8
5f3aaa:	40                   	inc    %eax
5f3aab:	89 45 cc             	mov    %eax,-0x34(%ebp)
5f3aae:	33 c0                	xor    %eax,%eax
5f3ab0:	8b 53 64             	mov    0x64(%ebx),%edx
5f3ab3:	8b ce                	mov    %esi,%ecx
5f3ab5:	2b c8                	sub    %eax,%ecx
5f3ab7:	49                   	dec    %ecx
5f3ab8:	0f af 4d f4          	imul   -0xc(%ebp),%ecx
5f3abc:	03 4b 58             	add    0x58(%ebx),%ecx
5f3abf:	89 0c 82             	mov    %ecx,(%edx,%eax,4)
5f3ac2:	40                   	inc    %eax
5f3ac3:	ff 4d cc             	decl   -0x34(%ebp)
5f3ac6:	75 e8                	jne    0x5f3ab0
5f3ac8:	56                   	push   %esi
5f3ac9:	8b 45 14             	mov    0x14(%ebp),%eax
5f3acc:	50                   	push   %eax
5f3acd:	8b 45 10             	mov    0x10(%ebp),%eax
5f3ad0:	50                   	push   %eax
5f3ad1:	8b 45 0c             	mov    0xc(%ebp),%eax
5f3ad4:	50                   	push   %eax
5f3ad5:	8b 45 08             	mov    0x8(%ebp),%eax
5f3ad8:	50                   	push   %eax
5f3ad9:	8b 43 14             	mov    0x14(%ebx),%eax
5f3adc:	50                   	push   %eax
5f3add:	8b 43 04             	mov    0x4(%ebx),%eax
5f3ae0:	50                   	push   %eax
5f3ae1:	8b 43 08             	mov    0x8(%ebx),%eax
5f3ae4:	50                   	push   %eax
5f3ae5:	8b 43 18             	mov    0x18(%ebx),%eax
5f3ae8:	50                   	push   %eax
5f3ae9:	8b 43 1c             	mov    0x1c(%ebx),%eax
5f3aec:	50                   	push   %eax
5f3aed:	8b 43 20             	mov    0x20(%ebx),%eax
5f3af0:	50                   	push   %eax
5f3af1:	8b 43 24             	mov    0x24(%ebx),%eax
5f3af4:	50                   	push   %eax
5f3af5:	8b cf                	mov    %edi,%ecx
5f3af7:	8b 53 58             	mov    0x58(%ebx),%edx
5f3afa:	8b 43 0c             	mov    0xc(%ebx),%eax
5f3afd:	e8 72 f6 ff ff       	call   0x5f3174
5f3b02:	db 45 0c             	fildl  0xc(%ebp)
5f3b05:	89 7d c4             	mov    %edi,-0x3c(%ebp)
5f3b08:	db 45 c4             	fildl  -0x3c(%ebp)
5f3b0b:	de f9                	fdivrp %st,%st(1)
5f3b0d:	d8 0d 68 3d 5f 00    	fmuls  0x5f3d68
5f3b13:	e8 b4 f1 e0 ff       	call   0x402ccc
5f3b18:	89 45 d8             	mov    %eax,-0x28(%ebp)
5f3b1b:	db 45 08             	fildl  0x8(%ebp)
5f3b1e:	89 75 c4             	mov    %esi,-0x3c(%ebp)
5f3b21:	db 45 c4             	fildl  -0x3c(%ebp)
5f3b24:	de f9                	fdivrp %st,%st(1)
5f3b26:	d8 0d 68 3d 5f 00    	fmuls  0x5f3d68
5f3b2c:	e8 9b f1 e0 ff       	call   0x402ccc
5f3b31:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5f3b34:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f3b37:	8b 10                	mov    (%eax),%edx
5f3b39:	ff 52 2c             	call   *0x2c(%edx)
5f3b3c:	89 45 f0             	mov    %eax,-0x10(%ebp)
5f3b3f:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f3b42:	8b 10                	mov    (%eax),%edx
5f3b44:	ff 52 20             	call   *0x20(%edx)
5f3b47:	89 45 ec             	mov    %eax,-0x14(%ebp)
5f3b4a:	8b 45 10             	mov    0x10(%ebp),%eax
5f3b4d:	f7 d8                	neg    %eax
5f3b4f:	c1 e0 0e             	shl    $0xe,%eax
5f3b52:	99                   	cltd
5f3b53:	f7 7d d4             	idivl  -0x2c(%ebp)
5f3b56:	33 d2                	xor    %edx,%edx
5f3b58:	e8 b7 58 fb ff       	call   0x5a9414
5f3b5d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5f3b60:	8b 43 08             	mov    0x8(%ebx),%eax
5f3b63:	2b 45 10             	sub    0x10(%ebp),%eax
5f3b66:	c1 e0 0e             	shl    $0xe,%eax
5f3b69:	99                   	cltd
5f3b6a:	f7 7d d4             	idivl  -0x2c(%ebp)
5f3b6d:	40                   	inc    %eax
5f3b6e:	8b d6                	mov    %esi,%edx
5f3b70:	4a                   	dec    %edx
5f3b71:	e8 a6 58 fb ff       	call   0x5a941c
5f3b76:	8b f0                	mov    %eax,%esi
5f3b78:	8b 55 ec             	mov    -0x14(%ebp),%edx
5f3b7b:	4a                   	dec    %edx
5f3b7c:	8b c6                	mov    %esi,%eax
5f3b7e:	e8 99 58 fb ff       	call   0x5a941c
5f3b83:	8b f0                	mov    %eax,%esi
5f3b85:	33 c0                	xor    %eax,%eax
5f3b87:	2b 45 14             	sub    0x14(%ebp),%eax
5f3b8a:	c1 e0 0e             	shl    $0xe,%eax
5f3b8d:	99                   	cltd
5f3b8e:	f7 7d d8             	idivl  -0x28(%ebp)
5f3b91:	33 d2                	xor    %edx,%edx
5f3b93:	e8 7c 58 fb ff       	call   0x5a9414
5f3b98:	89 45 e0             	mov    %eax,-0x20(%ebp)
5f3b9b:	8b 43 04             	mov    0x4(%ebx),%eax
5f3b9e:	2b 45 14             	sub    0x14(%ebp),%eax
5f3ba1:	c1 e0 0e             	shl    $0xe,%eax
5f3ba4:	99                   	cltd
5f3ba5:	f7 7d d8             	idivl  -0x28(%ebp)
5f3ba8:	40                   	inc    %eax
5f3ba9:	8b d7                	mov    %edi,%edx
5f3bab:	4a                   	dec    %edx
5f3bac:	e8 6b 58 fb ff       	call   0x5a941c
5f3bb1:	89 45 dc             	mov    %eax,-0x24(%ebp)
5f3bb4:	8b 55 f0             	mov    -0x10(%ebp),%edx
5f3bb7:	4a                   	dec    %edx
5f3bb8:	8b 45 dc             	mov    -0x24(%ebp),%eax
5f3bbb:	e8 5c 58 fb ff       	call   0x5a941c
5f3bc0:	89 45 dc             	mov    %eax,-0x24(%ebp)
5f3bc3:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5f3bc6:	2b f0                	sub    %eax,%esi
5f3bc8:	0f 8c 8e 01 00 00    	jl     0x5f3d5c
5f3bce:	46                   	inc    %esi
5f3bcf:	89 75 cc             	mov    %esi,-0x34(%ebp)
5f3bd2:	89 45 f4             	mov    %eax,-0xc(%ebp)
5f3bd5:	8b 43 64             	mov    0x64(%ebx),%eax
5f3bd8:	8b 55 f4             	mov    -0xc(%ebp),%edx
5f3bdb:	8b 04 90             	mov    (%eax,%edx,4),%eax
5f3bde:	89 45 e8             	mov    %eax,-0x18(%ebp)
5f3be1:	8b 55 f4             	mov    -0xc(%ebp),%edx
5f3be4:	03 55 20             	add    0x20(%ebp),%edx
5f3be7:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f3bea:	e8 19 9d e3 ff       	call   0x42d908
5f3bef:	89 45 d0             	mov    %eax,-0x30(%ebp)
5f3bf2:	8b 45 e0             	mov    -0x20(%ebp),%eax
5f3bf5:	03 45 f8             	add    -0x8(%ebp),%eax
5f3bf8:	8d 04 40             	lea    (%eax,%eax,2),%eax
5f3bfb:	01 45 d0             	add    %eax,-0x30(%ebp)
5f3bfe:	8b 43 0c             	mov    0xc(%ebx),%eax
5f3c01:	48                   	dec    %eax
5f3c02:	74 0e                	je     0x5f3c12
5f3c04:	83 e8 07             	sub    $0x7,%eax
5f3c07:	0f 84 fa 00 00 00    	je     0x5f3d07
5f3c0d:	e9 3e 01 00 00       	jmp    0x5f3d50
5f3c12:	8b 75 e0             	mov    -0x20(%ebp),%esi
5f3c15:	8b 7d dc             	mov    -0x24(%ebp),%edi
5f3c18:	2b fe                	sub    %esi,%edi
5f3c1a:	0f 8c 30 01 00 00    	jl     0x5f3d50
5f3c20:	47                   	inc    %edi
5f3c21:	83 7b 6c ff          	cmpl   $0xffffffff,0x6c(%ebx)