Function at 0x40218f
Capabilities:
Create directory
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
push ebx
push esi
push edi
lea eax, [ebp - 4]
push dword [ebp + 8]
push eax
call fcn.004026ce
pop ecx
lea eax, [ebp - 4]
pop ecx
push str.sstini.xml
push eax
lea eax, [ebp + 8]
push eax
call sub.MFC42u.DLL_operator
push dword [eax]
mov esi, 0x406698
mov ecx, esi
call fcn.00402743
lea ecx, [ebp + 8]
call sub.MFC42u.DLL_CString::CString
mov ebx, str.sstupdate
lea eax, [ebp - 4]
push ebx
push eax
lea eax, [ebp + 8]
push eax
call sub.MFC42u.DLL_operator
mov eax, dword [eax]
xor edi, edi
push edi
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea ecx, [ebp + 8]
call sub.MFC42u.DLL_CString::CString
push str._sstlist.xml
lea ecx, [ebp - 0x10]
call sub.MFC42u.DLL_CString::CString_1
push eax
lea eax, [ebp - 4]
push ebx
push eax
lea eax, [ebp + 8]
push eax
call sub.MFC42u.DLL_operator
push eax
lea eax, [ebp - 0xc]
push eax
call sub.MFC42u.DLL_operator_1
lea ecx, [ebp + 8]
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x10]
call sub.MFC42u.DLL_CString::CString
lea eax, [ebp + 8]
mov ecx, esi
push eax
call fcn.00401360
push dword [ebp - 0xc]
mov eax, dword [eax]
push eax
call fcn.004020ca
pop ecx
pop ecx
test eax, eax
lea ecx, [ebp + 8]
setne bl
call sub.MFC42u.DLL_CString::CString
test bl, bl
je 0x40226c
push 0x40
push 0x4063c8
push 0x4063ac
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x4025a0
lea ecx, [ebp - 0x38]
call fcn.00401809
push dword [ebp - 0xc]
lea ecx, [ebp - 0x38]
call fcn.00402743
lea ecx, [ebp - 0x38]
call fcn.00401842
mov dword [ebp + 8], edi
mov dword [ebp - 8], eax
test eax, eax
mov edi, str.sstupdate_
jle 0x402352
push dword [ebp + 8]
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x38]
push eax
call fcn.00401a82
push eax
lea eax, [ebp - 4]
push edi
push eax
lea eax, [ebp - 0x20]
push eax
call sub.MFC42u.DLL_operator
push eax
lea eax, [ebp - 0x1c]
push eax
call sub.MFC42u.DLL_operator_1
mov ebx, dword [eax]
push dword [ebp + 8]
lea eax, [ebp - 0x18]
lea ecx, [ebp - 0x38]
push eax
call fcn.00401b86
push eax
lea eax, [ebp - 0x14]
push eax
mov ecx, esi
call fcn.00401039
push eax
lea eax, [ebp - 0x10]
push eax
call sub.MFC42u.DLL_operator_1
mov eax, dword [eax]
push ebx
push eax
call fcn.004020ca
pop ecx
pop ecx
test eax, eax
lea ecx, [ebp - 0x10]
setne bl
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x14]
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x18]
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x1c]
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x20]
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x24]
call sub.MFC42u.DLL_CString::CString
test bl, bl
jne 0x40233e
inc dword [ebp + 8]
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 8]
jl 0x40229a
jmp 0x402352
push 0x40
push 0x4063c8
push 0x4063ac
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
xor eax, eax
cmp dword [ebp - 8], eax
mov dword [ebp - 0x10], eax
mov dword [ebp + 8], eax
jle 0x40244f
mov ebx, 0x406690
push ebx
lea eax, [ebp - 0x24]
push dword [ebp + 8]
lea ecx, [ebp - 0x38]
push eax
call fcn.00401a82
push ecx
mov ecx, esp
mov dword [ebp - 0x28], esp
push eax
lea eax, [ebp - 4]
push eax
push ecx
call sub.MFC42u.DLL_operator_1
call fcn.00401e5a
pop ecx
mov dword [ebp - 0x20], eax
pop ecx
lea ecx, [ebp - 0x24]
call sub.MFC42u.DLL_CString::CString
cmp dword [ebp - 0x20], 0
je 0x4023a8
mov dword [ebp - 0x10], 1
inc dword [ebp + 8]
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 8]
jl 0x402368
cmp dword [ebp - 0x10], 0
je 0x40244f
push 0x4062ec
mov ecx, ebx
call sub.MFC42u.DLL_CString::operator
push 0x44
push 0x4062dc
push dword [0x406690]
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x40243a
and dword [0x4066a8], 0
push 0x4066ac
mov ecx, ebx
call sub.MFC42u.DLL_CString::operator
and dword [ebp + 8], 0
push ebx
lea eax, [ebp - 0x24]
push dword [ebp + 8]
lea ecx, [ebp - 0x38]
push eax
call fcn.00401a82
push ecx
mov ecx, esp
mov dword [ebp - 0x28], esp
push eax
lea eax, [ebp - 4]
push eax
push ecx
call sub.MFC42u.DLL_operator_1
call fcn.00401e5a
pop ecx
pop ecx
lea ecx, [ebp - 0x24]
call sub.MFC42u.DLL_CString::CString
inc dword [ebp + 8]
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 8]
jl 0x4023fa
call fcn.00401e30
push 0xffffffffffffffff
push 1
push 0x406490
push dword [0x4066a8]
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
and dword [ebp + 8], 0
cmp dword [ebp - 8], 0
jle 0x40252a
push dword [ebp + 8]
lea eax, [ebp - 0x20]
lea ecx, [ebp - 0x38]
push eax
call fcn.00401a82
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x24]
push eax
call sub.MFC42u.DLL_operator_1
push dword [eax]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x24]
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x20]
call sub.MFC42u.DLL_CString::CString
push dword [ebp + 8]
lea eax, [ebp - 0x28]
lea ecx, [ebp - 0x38]
push eax
call fcn.00401a82
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x10]
push eax
call sub.MFC42u.DLL_operator_1
mov ebx, dword [eax]
push dword [ebp + 8]
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x38]
push eax
call fcn.00401a82
push eax
lea eax, [ebp - 4]
push edi
push eax
lea eax, [ebp - 0x18]
push eax
call sub.MFC42u.DLL_operator
push eax
lea eax, [ebp - 0x1c]
push eax
call sub.MFC42u.DLL_operator_1
mov eax, dword [eax]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
mov ebx, eax
lea ecx, [ebp - 0x1c]
neg ebx
sbb bl, bl
inc bl
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x18]
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x14]
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x10]
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x28]
call sub.MFC42u.DLL_CString::CString
test bl, bl
jne 0x4025b9
inc dword [ebp + 8]
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 8]
jl 0x40245d
lea ecx, [ebp - 0x48]
call fcn.004025f6
lea eax, [ebp - 4]
push str.sstcheck.xml
push eax
lea eax, [ebp + 8]
mov ebx, 0x404160
push eax
mov dword [ebp - 0x48], ebx
call sub.MFC42u.DLL_operator
push dword [eax]
lea ecx, [ebp - 0x48]
call fcn.00402743
lea ecx, [ebp + 8]
call sub.MFC42u.DLL_CString::CString
push ecx
lea ecx, [ebp - 0x48]
mov eax, esp
mov dword [ebp + 8], esp
push eax
call fcn.0040162b
mov ecx, esi
call fcn.004014cd
push 0x40
push 0x4063c8
push 0x406290
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
call fcn.004020dd
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x48], ebx
call fcn.00402658
lea ecx, [ebp - 0x38]
call fcn.00401837
lea ecx, [ebp - 0xc]
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 4]
call sub.MFC42u.DLL_CString::CString
pop edi
pop esi
xor eax, eax
pop ebx
leave
ret 0x10
push 0x40
push 0x4063c8
push 0x406274
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x402598