Function at 0x401d80
Capabilities:
Delete file
Enumerate files on windows
Get common file path
Read .ini file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x403491
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x1178
call fcn.00403120
push edi
mov dword [ebp - 0x1184], ecx
push 0x3e9
mov ecx, dword [ebp - 0x1184]
call sub.MFC42.DLL_CWnd::GetDlgItem
mov dword [ebp - 0x117c], eax
push 0
push 0
push 0xf0
mov eax, dword [ebp - 0x117c]
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 0x14], eax
mov ecx, 0x41
xor eax, eax
lea edi, [ebp - 0x21c]
rep stosd dword es:[edi], eax
mov ecx, 0x41
xor eax, eax
lea edi, [ebp - 0x320]
rep stosd dword es:[edi], eax
mov ecx, 0x41
xor eax, eax
lea edi, [ebp - 0x118]
rep stosd dword es:[edi], eax
mov ecx, 0x41
xor eax, eax
lea edi, [ebp - 0x42c]
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x430]
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x10]
call sub.MFC42.DLL_CString::CString_1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x328]
call sub.MFC42.DLL_CString::CString_1
mov byte [ebp - 4], 2
mov dword [ebp - 0x324], 1
mov edx, dword [ebp - 0x1184]
add edx, 0x1e8
push edx
push str._s_setup.ini
lea eax, [ebp - 0x320]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
push str.JDVR
lea ecx, [ebp - 0x430]
call sub.MFC42.DLL_CString::operator_1
mov ecx, 1
test ecx, ecx
je 0x401fb0
push str.FileCount
lea ecx, [ebp - 0x10]
call sub.MFC42.DLL_CString::operator_1
lea edx, [ebp - 0x320]
push edx
push 0x104
lea eax, [ebp - 0x21c]
push eax
push 0
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x430]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
add esp, 4
mov dword [ebp - 0x434], eax
mov ecx, dword [ebp - 0x324]
push ecx
push str.File_d
lea edx, [ebp - 0x10]
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea eax, [ebp - 0x320]
push eax
push 0x104
lea ecx, [ebp - 0x21c]
push ecx
push 0
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x430]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x21c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jne 0x401f2a
jmp 0x401fb0
lea edx, [ebp - 0x21c]
push edx
mov eax, dword [ebp - 0x1184]
add eax, 0x1e8
push eax
push str._s_s
lea ecx, [ebp - 0x118]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
push 0x80
lea edx, [ebp - 0x118]
push edx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0
mov eax, dword [ebp - 0x324]
imul eax, eax, 0x64
cdq
idiv dword [ebp - 0x434]
push eax
push 0x402
mov ecx, dword [ebp - 0x1184]
mov edx, dword [ecx + 0xc0]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp - 0x324]
add eax, 1
mov dword [ebp - 0x324], eax
jmp 0x401e80
push 0
push 0
lea ecx, [ebp - 0x42c]
push ecx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
mov edx, dword [ebp - 0x1184]
add edx, 0x2ec
push edx
lea eax, [ebp - 0x42c]
push eax
push str._s_s.lnk
lea ecx, [ebp - 0x118]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
push 0x80
lea edx, [ebp - 0x118]
push edx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0
push 0
lea ecx, [ebp - 0x42c]
push ecx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
mov edx, dword [ebp - 0x1184]
add edx, 0xe4
push edx
lea eax, [ebp - 0x42c]
push eax
push str._s_s
lea ecx, [ebp - 0x118]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
push 0x80
lea edx, [ebp - 0x118]
push edx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0
push 0x17
lea ecx, [ebp - 0x42c]
push ecx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
mov edx, dword [ebp - 0x1184]
add edx, 0x2ec
push edx
lea eax, [ebp - 0x42c]
push eax
push str._s_s
lea ecx, [ebp - 0x118]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
lea edx, [ebp - 0x118]
push edx
mov ecx, dword [ebp - 0x1184]
call fcn.00402670
cmp dword [ebp - 0x14], 0
je 0x4024ce
mov eax, dword [ebp - 0x1184]
add eax, 0x1e8
push eax
push str._sGroup.cfg
lea ecx, [ebp - 0x978]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov dword [ebp - 0x438], 0xffffffff
lea edx, [ebp - 0x578]
push edx
lea eax, [ebp - 0x978]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x438], eax
cmp dword [ebp - 0x438], 0xffffffff
je 0x4021a3
lea ecx, [ebp - 0x54c]
push ecx
mov edx, dword [ebp - 0x1184]
add edx, 0x1e8
push edx
push str._s_s
lea eax, [ebp - 0xd78]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
lea ecx, [ebp - 0xd78]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea edx, [ebp - 0x578]
push edx
mov eax, dword [ebp - 0x438]
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x402196
lea ecx, [ebp - 0x54c]
push ecx
mov edx, dword [ebp - 0x1184]
add edx, 0x1e8
push edx
push str._s_s
lea eax, [ebp - 0xd78]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
lea ecx, [ebp - 0xd78]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x402146
mov edx, dword [ebp - 0x438]
push edx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [ebp - 0x1184]
add eax, 0x1e8
push eax
push str._sDecoder.cfg
lea ecx, [ebp - 0x978]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea edx, [ebp - 0x578]
push edx
lea eax, [ebp - 0x978]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x438], eax
cmp dword [ebp - 0x438], 0xffffffff
je 0x40227e
lea ecx, [ebp - 0x54c]
push ecx
mov edx, dword [ebp - 0x1184]
add edx, 0x1e8
push edx
push str._s_s
lea eax, [ebp - 0x1178]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
lea ecx, [ebp - 0x1178]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea edx, [ebp - 0x578]
push edx
mov eax, dword [ebp - 0x438]
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x402271
lea ecx, [ebp - 0x54c]
push ecx
mov edx, dword [ebp - 0x1184]
add edx, 0x1e8
push edx
push str._s_s
lea eax, [ebp - 0x1178]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
lea ecx, [ebp - 0x1178]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x402221
mov edx, dword [ebp - 0x438]
push edx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [ebp - 0x1184]
add eax, 0x1e8
push eax
push str._s_realtime.ini
lea ecx, [ebp - 0x118]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea edx, [ebp - 0x118]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [ebp - 0x1184]
add eax, 0x1e8
push eax
push str._sJdvrCfg.ini
lea ecx, [ebp - 0x118]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea edx, [ebp - 0x118]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [ebp - 0x1184]
add eax, 0x1e8
push eax
push str._sJdvrUser.dat
lea ecx, [ebp - 0x118]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea edx, [ebp - 0x118]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [ebp - 0x1184]
add eax, 0x1e8
push eax
push str._syst.dat
lea ecx, [ebp - 0x118]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea edx, [ebp - 0x118]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [ebp - 0x1184]
add eax, 0x1e8
push eax
push str._supdate.set
lea ecx, [ebp - 0x118]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea edx, [ebp - 0x118]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [ebp - 0x1184]
add eax, 0x1e8
push eax
push str._sDriverjvm
lea ecx, [ebp - 0x118]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea edx, [ebp - 0x118]
push edx
mov ecx, dword [ebp - 0x1184]
call fcn.00402670
mov eax, dword [ebp - 0x1184]
add eax, 0x1e8
push eax
push str._sSysLogs
lea ecx, [ebp - 0x118]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea edx, [ebp - 0x118]
push edx
mov ecx, dword [ebp - 0x1184]
call fcn.00402670
mov eax, dword [ebp - 0x1184]
add eax, 0x1e8
push eax
push str._sDriver
lea ecx, [ebp - 0x118]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea edx, [ebp - 0x118]
push edx
mov ecx, dword [ebp - 0x1184]
call fcn.00402670
mov eax, dword [ebp - 0x1184]
add eax, 0x1e8
push eax
push str._sEmap
lea ecx, [ebp - 0x118]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea edx, [ebp - 0x118]
push edx
mov ecx, dword [ebp - 0x1184]
call fcn.00402670
mov eax, dword [ebp - 0x1184]
add eax, 0x1e8
push eax
push str._spic
lea ecx, [ebp - 0x118]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea edx, [ebp - 0x118]
push edx
mov ecx, dword [ebp - 0x1184]
call fcn.00402670
mov eax, dword [ebp - 0x1184]
add eax, 0x1e8
push eax
push str._s_Temp
lea ecx, [ebp - 0x118]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea edx, [ebp - 0x118]
push edx
mov ecx, dword [ebp - 0x1184]
call fcn.00402670
mov eax, dword [ebp - 0x1184]
add eax, 0x1e8
push eax
push str._sUpdate
lea ecx, [ebp - 0x118]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea edx, [ebp - 0x118]
push edx
mov ecx, dword [ebp - 0x1184]
call fcn.00402670
jmp 0x4025fb
mov eax, dword [ebp - 0x1184]
add eax, 0x1e8
push eax
push str._sDriver
lea ecx, [ebp - 0x118]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea edx, [ebp - 0x118]
push edx
mov ecx, dword [ebp - 0x1184]
call fcn.00402670
mov eax, dword [ebp - 0x1184]
add eax, 0x1e8
push eax
push str._sEmap
lea ecx, [ebp - 0x118]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea edx, [ebp - 0x118]
push edx
mov ecx, dword [ebp - 0x1184]
call fcn.00402670
mov eax, dword [ebp - 0x1184]
add eax, 0x1e8
push eax
push str._spic
lea ecx, [ebp - 0x118]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea edx, [ebp - 0x118]
push edx
mov ecx, dword [ebp - 0x1184]
call fcn.00402670
mov eax, dword [ebp - 0x1184]
add eax, 0x1e8
push eax
push str._s_Temp
lea ecx, [ebp - 0x118]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea edx, [ebp - 0x118]
push edx
mov ecx, dword [ebp - 0x1184]
call fcn.00402670
mov eax, dword [ebp - 0x1184]
add eax, 0x1e8
push eax
push str._sUpdate
lea ecx, [ebp - 0x118]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea edx, [ebp - 0x118]
push edx
mov ecx, dword [ebp - 0x1184]
call fcn.00402670
mov eax, dword [ebp - 0x1184]
add eax, 0x1e8
push eax
push str._supdate.set
lea ecx, [ebp - 0x118]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea edx, [ebp - 0x118]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov dword [ebp - 0x1180], 0x64
push 0
mov eax, dword [ebp - 0x1180]
push eax
push 0x402
mov ecx, dword [ebp - 0x1184]
mov edx, dword [ecx + 0xc0]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0x40
push 0x4060b8
call sub.MFC42.DLL_AfxMessageBox
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x328]
call fcn.00403042
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x10]
call fcn.00403042
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x430]
call fcn.00403042
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
mov esp, ebp
pop ebp
ret