Function at 0x41fbb0
Capabilities:
Delete file
Move file

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x576a48
push eax
mov dword fs:[0], esp
sub esp, 0x41c
push ebp
push esi
mov esi, ecx
push edi
mov edi, dword [esi + 0xf830]
cmp dword [edi + 0x5c], 0xffffffff
je 0x41ffc4
mov eax, dword [esp + 0x438]
xor ebp, ebp
cmp eax, ebp
je 0x41fc31
mov eax, dword [edi + 0x30]
push ebp
cdq
add eax, 0xb6109100
push 0x989680
adc edx, 2
push edx
push eax
call fcn.00573bc0
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
cmp dword [edi + 8], ebp
jne 0x41fc1c
test dword [edi + 0x30], 0xffffff00
je 0x41fc31
mov edx, dword [edi + 0x5c]
lea eax, [esp + 0x18]
lea ecx, [esp + 0x18]
push eax
push ecx
push ebp
push edx
call dword [sym.imp.KERNEL32.dll_SetFileTime]
mov eax, dword [esi + 0xf830]
mov ecx, dword [eax + 0x48]
mov edi, dword [eax + 0x78]
mov edx, dword [eax + 0x4c]
add edi, ecx
mov dword [eax + 0x78], edi
mov ecx, dword [eax + 0x7c]
adc ecx, edx
mov dword [eax + 0x7c], ecx
mov eax, dword [esi + 0xf830]
mov ecx, dword [eax + 0x48]
mov edi, dword [eax + 0x70]
mov edx, dword [eax + 0x4c]
add edi, ecx
mov dword [eax + 0x70], edi
mov edi, dword [eax + 0x74]
adc edi, edx
mov dword [eax + 0x74], edi
mov eax, dword [esi + 0xf830]
mov ecx, dword [eax + 0x88]
inc ecx
mov dword [eax + 0x88], ecx
mov eax, dword [esi + 0xf830]
mov edi, dword [eax + 0x8c]
inc edi
mov dword [eax + 0x8c], edi
mov eax, dword [esi + 0xf830]
mov dword [eax + 0x50], ebp
mov dword [eax + 0x54], ebp
mov ecx, dword [esi + 0xf830]
mov dword [ecx + 0x48], ebp
mov dword [ecx + 0x4c], ebp
mov edx, dword [esi + 0xf830]
mov eax, dword [edx + 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [esi + 0xf830]
mov dword [ecx + 0x5c], 0xffffffff
mov eax, dword [esi + 0xf830]
mov ecx, dword [eax + 8]
lea edx, [eax + 0x198]
cmp ecx, ebp
jne 0x41fcdd
lea edx, [eax + 0x94]
mov ecx, dword [eax + 0x1c]
cmp ecx, ebp
je 0x41fce8
mov eax, ecx
jmp 0x41fceb
mov eax, dword [eax + 0x20]
push eax
push edx
lea edx, [esp + 0x30]
push edx
call fcn.0043c340
add esp, 0xc
cmp eax, 0x104
jl 0x41fd1a
push ebp
lea eax, [esp + 0x2c]
push 0x5e2498
push eax
mov ecx, esi
call sub.MFC42.DLL_CWnd::MessageBoxA
xor eax, eax
jmp 0x41ffc9
mov eax, dword [esi + 0xf830]
add eax, 0x10
mov ecx, dword [eax + 0xc]
cmp ecx, ebp
je 0x41fd2e
mov eax, ecx
jmp 0x41fd31
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x28]
push eax
push ecx
call fcn.0043c2c0
add esp, 8
test eax, eax
jne 0x41fd5c
push ebp
lea edx, [esp + 0x2c]
push 0x5e2488
push edx
mov ecx, esi
call sub.MFC42.DLL_CWnd::MessageBoxA
xor eax, eax
jmp 0x41ffc9
lea eax, [esp + 0x28]
lea ecx, [esp + 0x10]
push eax
call sub.MFC42.DLL_CString::CString_3
push str..fiq
lea ecx, [esp + 0x14]
mov dword [esp + 0x434], ebp
call sub.MFC42.DLL_CString::operator_1
mov eax, dword [esi + 0xf830]
mov ecx, dword [eax + 0x90]
cmp ecx, 8
je 0x41fda3
cmp ecx, 7
je 0x41fda3
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
or ecx, edx
jne 0x41ffb0
lea ecx, [esp + 0x28]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [esp + 0x10]
mov edi, dword [sym.imp.MSVCRT.dll_rename]
lea edx, [esp + 0x28]
push edx
push eax
call edi
add esp, 8
test eax, eax
je 0x41ffb0
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_5
lea ecx, [esp + 0x28]
lea edx, [esp + 0x24]
push ecx
push edx
mov byte [esp + 0x438], 1
call fcn.004e07e0
add esp, 8
mov eax, dword [esi + 0xf830]
mov byte [esp + 0x430], 2
add eax, 0x10
mov ecx, dword [eax + 0xc]
cmp ecx, ebp
je 0x41fe0a
mov eax, ecx
jmp 0x41fe0d
mov eax, dword [eax + 0x10]
push eax
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_3
lea eax, [esp + 0x24]
push str._feiq_
lea ecx, [esp + 0x1c]
push eax
push ecx
mov byte [esp + 0x43c], 3
call sub.MFC42.DLL_operator
lea edx, [esp + 0x20]
mov byte [esp + 0x430], 4
push edx
push eax
lea eax, [esp + 0x14]
push eax
call sub.MFC42.DLL_operator_1
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x434], 5
call fcn.00572d3c
lea ecx, [esp + 0xc]
mov byte [esp + 0x430], 4
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x430], 3
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
call edi
add esp, 8
test eax, eax
je 0x41ff06
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::CString_5
mov eax, dword [esi + 0xf830]
mov byte [esp + 0x430], 6
mov ecx, dword [eax + 0x1c]
cmp ecx, ebp
jne 0x41feb3
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
cmp edx, ebp
je 0x41febe
mov eax, edx
jmp 0x41fec1
mov eax, dword [eax + 0x20]
push ecx
push eax
lea eax, [esp + 0x30]
lea ecx, [esp + 0x14]
push eax
push 0x5e241c
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x14
lea edx, [esp + 0xc]
push 0xff
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
call sub.MFC42.DLL_CString::CString_4
mov ecx, esi
call fcn.00425730
mov byte [esp + 0x430], 3
lea ecx, [esp + 0xc]
jmp 0x41ff78
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::CString_5
mov eax, dword [esi + 0xf830]
mov byte [esp + 0x430], 7
mov ecx, dword [eax + 0x1c]
cmp ecx, ebp
jne 0x41ff27
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
cmp edx, ebp
je 0x41ff32
mov eax, edx
jmp 0x41ff35
mov eax, dword [eax + 0x20]
push ecx
push eax
lea eax, [esp + 0x30]
lea ecx, [esp + 0x14]
push eax
push 0x5e23bc
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x14
lea edx, [esp + 0xc]
push 0xff
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
call sub.MFC42.DLL_CString::CString_4
mov ecx, esi
call fcn.00425730
mov byte [esp + 0x430], 3
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x430], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x24]
mov byte [esp + 0x430], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x430], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov dword [esp + 0x430], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 1
mov ecx, dword [esp + 0x428]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebp
add esp, 0x428
ret 4