Function at 0x405d90
Capabilities:
Create directory
Delete file
Get common file path
Read .ini file

Disassembly:
mov eax, 0x1178
call fcn.004153e0
mov eax, dword [0x420004]
xor eax, esp
mov dword [esp + 0x1174], eax
xor eax, eax
push 0x98
push eax
mov word [esp + 0xc], ax
lea eax, [esp + 0xe]
push eax
call fcn.00406fc0
add esp, 0xc
lea eax, [esp + 4]
push 0x422a40
push 0x4d
push eax
push 0x41c5ac
push str.Temp
push str.SYSFILES
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x405f27
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [esp + 8]
push eax
call ebp
cmp eax, 0x14
jl 0x405f26
push ebx
push esi
push edi
lea eax, [esp + 0x14]
push eax
call ebp
mov ecx, 0x235
lea edi, [esp + 0x8b0]
mov esi, str.SVN4586YPS5Y6P897SJLICDGUTRJLD8Y7G5L987Y6KDLJG94576DKG854J7L6DX9OE47H5JLDT7K45GYK6DO85JFY6KG564NS7Y6GOKS754Y6SOTIK867YTIJ5H7IUSD5J48YDT5J78HY678I5YH6DGT78I5YJ6TD57Y6IJKDGF57HJHSRSHTEF4EF6KDI754YJ6TIK7H5KDI687FYTJD75YGDKH57Y6DIJ756YHGKIDYJ56DGF7H54J6YGID857Y6KIDG754YJ67DH5KID876YJG5ID75K6UYT5G7R6YET58IE7YG458IJ67DYI847J5YGKID87Y56JKGED7Y5I8HD6Y5I8H8GY546I8DY56JTD8I7GY5G_t_tSY4567S9M8G68MJ4SYO956YJ7RTHJ78EH54G9TE3J57Y9DJ75YYGDJ7D57K6DCYJGO78DYHI587YRGJ58YFO587YK6GO9JY75DO9Y6OJ9DY75OG6KDY5OK756DO95Y6798D5OY8TKJ4Y5M7DKN5J6I87DY546YUMDOGKJ57YKIDEK47C54T327A8YRGM68KJDY5K8I67JDTGOM5Y6DLI58YM6GD8JY5G6DM5LI6YDGMI58Y6DONI578Y6IGHJ5NTYHG78HI56JFYHD7I4Y5GJ8OY564IG8JDYH5KG8JDY56IH8GDY5J8DY7H6IJ8GI57RYT6G7J6HFIR87Y5J6I78FYIMFJ75Y6GJ6GI8DY5JI86YDIJY5G6I8DY5_t_tTMJEG6UY85LYG6OL8D5Y6J78DEY5K9T876DYJ5O78Y6TDOJ7M5HF6DV75JYK6DG7YJ578D6H57G675JY67DY5K7J6GYDIJ756DH75Y6GDKI7J5YI6D75Y6IGJD75Y6D7IKG5YJMD6I7KY5KIJ6GY75KY6HT7RYJT578Y6FRGKIHNEC5T78M37KXRTJ75HIREU5YK7JHDFYTG5JNHDFY756GDJI7Y56GDJE567YD5J678HYGDT8H5Y6TJ5I7D6YHGKIYJ5HK7DY6GJK57YJKTUFYH56KYDJK756YKGJDKI7HT58I7DJH56I8DYJ5H867DYKJ6TYD756YGJDI5J78YGD75Y67DK5Y6JI7GDY547JT6YD8I57Y6GJDY5
mov ebx, eax
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x8b0]
call fcn.00404821
lea eax, [esp + ebx*2 - 4]
push eax
lea eax, [esp + 0x8b4]
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrW]
test eax, eax
jne 0x405e61
mov esi, str.rvsmr
xor edx, edx
mov ecx, esi
call fcn.00401d6b
test eax, eax
jne 0x405f23
mov ecx, esi
jmp 0x405f19
lea eax, [esp + 0x14]
push eax
call ebp
xor ecx, ecx
mov word [esp + eax*2 - 4], cx
lea eax, [esp + 0x14]
push eax
call ebp
lea esi, [esp + eax*2 + 0xe]
mov ecx, esi
call fcn.00404821
push esi
call fcn.00408b53
pop ecx
test eax, eax
je 0x405e9a
cmp eax, 0x6f
je 0x405e9a
cmp eax, 0x71
je 0x405e9a
xor eax, eax
jmp 0x405e9d
xor eax, eax
inc eax
test eax, eax
jne 0x405f14
lea eax, [esp + 0x10]
push eax
push 0x1a
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
mov esi, dword [sym.imp.SHLWAPI.dll_StrCatW]
test eax, eax
jne 0x405eeb
lea eax, [esp + 0xb0]
push eax
push dword [esp + 0x14]
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
push str.Godlike
lea eax, [esp + 0xb4]
push eax
call esi
push 0
lea eax, [esp + 0xb4]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push str._rvsmr.dll
lea eax, [esp + 0xb4]
push eax
call esi
lea eax, [esp + 0xb0]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov edx, 0x41c61c
mov ecx, str.rvsmr
jmp 0x405f1e
mov ecx, str.rvsmr
mov edx, 0x41c630
call fcn.00401e09
pop edi
pop esi
pop ebx
pop ebp
mov ecx, dword [esp + 0x1174]
xor ecx, esp
call fcn.0040606a
add esp, 0x1178
ret