Function at 0x4037f9
Capabilities:
Check if file exists
Delete file
Read .ini file

Disassembly:
push 0x234
mov eax, 0x43fccb
call fcn.004253f8
mov edi, ecx
call fcn.0043dc00
push eax
push 0
push str.Packup
push str.Operation
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
test eax, eax
jne 0x403ad8
call fcn.0043d550
mov esi, 0x44655c
push esi
test al, al
jne 0x40384e
call fcn.0043d9c0
push eax
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineA]
jmp 0x403873
call fcn.0043d9c0
mov ebx, dword [sym.imp.SHLWAPI.dll_PathCombineA]
push eax
lea eax, [ebp - 0x220]
push eax
call ebx
push esi
call fcn.0043d980
push eax
lea eax, [ebp - 0x118]
push eax
call ebx
cmp byte [edi + 0x9d], 0
je 0x4038ba
lea ebx, [edi + 0xa0]
mov eax, dword [ebx]
push dword [eax - 0xc]
mov ecx, ebx
call fcn.00401d13
lea ecx, [ebp - 0x118]
mov dl, byte [eax]
inc eax
mov byte [ecx], dl
inc ecx
test dl, dl
jne 0x403894
lea edi, [ebp - 0x118]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4038a5
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0xffffffffffffffff
mov ecx, ebx
movsb byte es:[edi], byte [esi]
call fcn.00408d89
lea eax, [ebp - 0x240]
push eax
call fcn.004079c4
lea eax, [ebp - 0x220]
xor ebx, ebx
push eax
mov dword [ebp - 4], ebx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x4039cb
lea eax, [ebp - 0x240]
call fcn.00407a75
lea eax, [ebp - 0x240]
push eax
push dword [ebx + 0x452758]
lea eax, [ebp - 0x220]
push dword [ebx + 0x452754]
push eax
call fcn.0040300b
mov eax, dword [ebp - 0x230]
sub eax, dword [ebp - 0x234]
and dword [ebp - 0x224], 0
sar eax, 2
add esp, 0x10
test eax, eax
jbe 0x4039bf
mov edi, dword [ebp - 0x224]
lea esi, [ebp - 0x240]
call fcn.004079fd
mov edi, eax
call fcn.0040764d
push eax
lea ecx, [ebp - 0x228]
call fcn.00408cb1
push str.ncstudio
xor ecx, ecx
lea esi, [ebp - 0x228]
call fcn.0040761f
cmp eax, 0xffffffff
je 0x403977
push str._0000_00_00_00_00_00
xor ecx, ecx
call fcn.0040761f
cmp eax, 0xffffffff
jne 0x403990
mov edi, dword [ebp - 0x224]
lea esi, [ebp - 0x240]
call fcn.004079fd
push dword [eax]
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [ebp - 0x228]
add ecx, 0xfffffff0
call fcn.00401c0b
mov eax, dword [ebp - 0x230]
sub eax, dword [ebp - 0x234]
inc dword [ebp - 0x224]
sar eax, 2
cmp dword [ebp - 0x224], eax
jb 0x40392b
add ebx, 8
cmp ebx, 0x28
jb 0x4038e0
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x403acd
xor ebx, ebx
lea eax, [ebp - 0x240]
call fcn.00407a75
lea eax, [ebp - 0x240]
push eax
push dword [ebx + 0x452758]
lea eax, [ebp - 0x118]
push dword [ebx + 0x452754]
push eax
call fcn.0040300b
mov eax, dword [ebp - 0x230]
sub eax, dword [ebp - 0x234]
and dword [ebp - 0x224], 0
sar eax, 2
add esp, 0x10
test eax, eax
jbe 0x403ac1
mov edi, dword [ebp - 0x224]
lea esi, [ebp - 0x240]
call fcn.004079fd
mov edi, eax
call fcn.0040764d
push eax
lea ecx, [ebp - 0x228]
call fcn.00408cb1
push str.ncstudio
xor ecx, ecx
lea esi, [ebp - 0x228]
call fcn.0040761f
cmp eax, 0xffffffff
je 0x403a79
push str._0000_00_00_00_00_00
xor ecx, ecx
call fcn.0040761f
cmp eax, 0xffffffff
jne 0x403a92
mov edi, dword [ebp - 0x224]
lea esi, [ebp - 0x240]
call fcn.004079fd
push dword [eax]
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [ebp - 0x228]
add ecx, 0xfffffff0
call fcn.00401c0b
mov eax, dword [ebp - 0x230]
sub eax, dword [ebp - 0x234]
inc dword [ebp - 0x224]
sar eax, 2
cmp dword [ebp - 0x224], eax
jb 0x403a2d
add ebx, 8
cmp ebx, 0x28
jb 0x4039e2
lea esi, [ebp - 0x240]
call fcn.00402331
call fcn.0042547b
ret