Here is your answer.
How Rinzwind said, you need a maximum of 664. Therefore 777-664=113
local_umask=0113
I quote:
In case you are wondering where to set your umask, it can be set in
the vsftpd config file (/etc/vsftpd.conf) as anon_umask for anonymous
access and local_umask for users.
For the mask to work properly (even without anonymous access) it seems
necessary to set anon_upload_enable=YES and
anon_mkdir_write_enable=YES. If these are not set, writing, reading
and executing will not be allowed for groups or others on files
uploaded via ftp (even though the standard privileges may be set for
something else).
In your case, if you need user-authenticated access, you should set
the following:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=0002
anon_upload_enable=YES
anon_mkdir_write_enable=YES
file_open_mode=0777
Here, file_open_mode sets the default setting of files. 777 makes it
readable, writeable and executable for anyone. With local_umask set to
002, this gives you 775, as you requested.
Notice that local_umask defaults to 077, disabling groups and others
to access files in any way (hence it is set here).