Function at 0x41dcc0
Capabilities:
Check if file exists
Delete file
Get common file path
Move file
Read .ini file
Terminate process

Disassembly:
push 0xffffffffffffffff
push 0x4381fb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x210
push ebx
push ebp
push esi
mov dword [esp + 0x10], ecx
push edi
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x11d]
mov byte [esp + 0x11c], 0
mov byte [esp + 0x18], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x19]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x18]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea ecx, [esp + 0x11c]
lea edx, [esp + 0x18]
push ecx
push 0x3048
push 0x441944
push edx
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
lea edx, [esp + 0x11c]
lea ecx, [esp + 0x18]
mov esi, 0x104
lea eax, [esp + 0x18]
sub edx, ecx
mov cl, byte [edx + eax]
test cl, cl
je 0x41dd65
mov byte [eax], cl
inc eax
dec esi
jne 0x41dd56
jmp 0x41dd69
test esi, esi
jne 0x41dd6a
dec eax
mov byte [eax], 0
mov ecx, 0x104
lea eax, [esp + 0x18]
cmp byte [eax], 0
je 0x41dd81
inc eax
dec ecx
jne 0x41dd76
jmp 0x41ddc5
test ecx, ecx
je 0x41ddc5
lea edx, [esp + 0x14]
test edx, edx
je 0x41dd96
mov eax, 0x104
sub eax, ecx
jmp 0x41dd9a
mov eax, dword [esp + 0x14]
mov edx, 0x104
sub edx, eax
lea eax, [esp + eax + 0x18]
je 0x41ddc5
mov esi, 0x4418a8
sub esi, eax
mov cl, byte [esi + eax]
test cl, cl
je 0x41ddbd
mov byte [eax], cl
inc eax
dec edx
jne 0x41ddae
jmp 0x41ddc1
test edx, edx
jne 0x41ddc2
dec eax
mov byte [eax], 0
mov esi, dword [sym.imp.KERNEL32.dll_MoveFileExA]
lea eax, [esp + 0x18]
push 1
lea ecx, [esp + 0x120]
push eax
push ecx
call esi
mov ebp, dword [sym.imp.USER32.dll_MessageBoxA]
test eax, eax
jne 0x41de34
lea edx, [esp + 0x11c]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x41de34
push 4
lea eax, [esp + 0x120]
push 0
push eax
call esi
push 0x1004
push 0x44114c
push 0x44a704
push 0
call ebp
cmp eax, 6
jne 0x41de25
call fcn.00405130
jmp 0x41de34
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
lea ecx, [esp + 0x18]
push 0x104
push ecx
call fcn.004039a0
add esp, 8
test eax, eax
je 0x41dfcb
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea edx, [esp + 0x18]
push edx
push 0
push 0x44a6fc
push 0x441828
call edi
mov esi, dword [esp + 0x14]
mov ebx, eax
mov ecx, esi
call fcn.00420b80
test eax, eax
je 0x41dfcb
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_4
push 0x104
push 0x104
lea ecx, [esp + 0x18]
mov dword [esp + 0x230], 0
call sub.MFC42.DLL_CString::GetBuffer
push eax
call fcn.00402c90
add esp, 8
lea ecx, [esp + 0x10]
push 0x104
call sub.MFC42.DLL_CString::GetBuffer
mov edx, 0x104
mov ecx, eax
cmp byte [ecx], 0
je 0x41decc
inc ecx
dec edx
jne 0x41dec1
jmp 0x41df13
test edx, edx
je 0x41df13
lea ecx, [esp + 0x14]
test ecx, ecx
je 0x41dee1
mov ecx, 0x104
sub ecx, edx
jmp 0x41dee5
mov ecx, dword [esp + 0x14]
mov edx, 0x104
lea eax, [ecx + eax]
sub edx, ecx
je 0x41df13
mov esi, 0x44190c
sub esi, eax
mov cl, byte [esi + eax]
test cl, cl
je 0x41df07
mov byte [eax], cl
inc eax
dec edx
jne 0x41def8
jmp 0x41df0b
test edx, edx
jne 0x41df0c
dec eax
mov esi, dword [esp + 0x14]
mov byte [eax], 0
push 0x104
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::GetBuffer
push eax
push 0
push 0x441840
push 0x441828
call edi
test eax, eax
je 0x41df4f
lea ecx, [esp + 0x10]
mov dword [esp + 0x228], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 1
jmp 0x41dfcd
mov ecx, esi
call fcn.00421980
test eax, eax
je 0x41df75
lea ecx, [esp + 0x10]
mov dword [esp + 0x228], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 1
jmp 0x41dfcd
mov edx, dword [esi + 0x20]
push 0x1024
push 0x44114c
push 0x44a6e4
push edx
call ebp
cmp eax, 7
jne 0x41dfe6
test ebx, ebx
je 0x41dfb7
mov eax, dword [esi + 0x20]
push 0x1000
push 0x44114c
push 0x44a6d4
push eax
call ebp
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
lea ecx, [esp + 0x10]
mov dword [esp + 0x228], 0xffffffff
call sub.MFC42.DLL_CString::CString
xor eax, eax
mov ecx, dword [esp + 0x220]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x21c
ret
cmp eax, 6
jne 0x41dfb7
lea ecx, [esp + 0x10]
mov dword [esp + 0x228], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 1
jmp 0x41dfcd