Function at 0x46c600
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50385f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x98
push esi
push edi
push ecx
lea edi, [ebp - 0xa4]
mov ecx, 0x26
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x50]
call fcn.0040d480
mov dword [ebp - 4], 0
mov esi, esp
lea ecx, [ebp - 0x5c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_5]
cmp esi, esp
call fcn.004f90e1
mov byte [ebp - 4], 1
mov esi, esp
lea ecx, [ebp - 0x68]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_5]
cmp esi, esp
call fcn.004f90e1
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x10]
add eax, 0x8d0
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
push eax
call fcn.0040d440
lea ecx, [ebp - 0x50]
call fcn.004e8980
movzx ecx, al
test ecx, ecx
je 0x46c82d
push ecx
mov ecx, esp
mov dword [ebp - 0x74], esp
push 0x518d38
call fcn.0040d420
lea ecx, [ebp - 0x50]
call fcn.004e9200
movzx edx, al
test edx, edx
je 0x46c82d
lea ecx, [ebp - 0x50]
call fcn.0040d5c0
push ecx
mov ecx, esp
mov dword [ebp - 0x78], esp
push str.NewVersionNumber
call fcn.0040d420
lea ecx, [ebp - 0x50]
call fcn.004e9290
movzx eax, al
test eax, eax
je 0x46c744
lea ecx, [ebp - 0x50]
call fcn.004eafd0
lea ecx, [ebp - 0x7c]
push ecx
lea ecx, [ebp - 0x50]
call fcn.0040d5f0
mov dword [ebp - 0x90], eax
mov edx, dword [ebp - 0x90]
mov dword [ebp - 0x94], edx
mov byte [ebp - 4], 3
mov esi, esp
mov eax, dword [ebp - 0x94]
push eax
lea ecx, [ebp - 0x68]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator]
cmp esi, esp
call fcn.004f90e1
mov byte [ebp - 4], 2
mov esi, esp
lea ecx, [ebp - 0x7c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
cmp esi, esp
call fcn.004f90e1
lea ecx, [ebp - 0x50]
call fcn.004eb020
mov ecx, dword [ebp - 0x10]
add ecx, 0x8cc
push ecx
mov edx, esp
mov dword [ebp - 0x80], esp
mov esi, esp
push ecx
mov ecx, edx
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_3]
cmp esi, esp
call fcn.004f90e1
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x9c], eax
mov byte [ebp - 4], 4
push ecx
mov ecx, esp
mov dword [ebp - 0x84], esp
mov esi, esp
lea edx, [ebp - 0x68]
push edx
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_3]
cmp esi, esp
call fcn.004f90e1
mov dword [ebp - 0xa0], eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x10]
call fcn.0046cb60
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0
je 0x46c82d
mov ecx, dword [ebp - 0x10]
add ecx, 0x8d0
mov esi, esp
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
cmp esi, esp
call fcn.004f90e1
mov esi, esp
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp esi, esp
call fcn.004f90e1
mov dword [ebp - 0x88], 1
mov byte [ebp - 4], 1
mov esi, esp
lea ecx, [ebp - 0x68]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
cmp esi, esp
call fcn.004f90e1
mov byte [ebp - 4], 0
mov esi, esp
lea ecx, [ebp - 0x5c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
cmp esi, esp
call fcn.004f90e1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.0040d530
mov eax, dword [ebp - 0x88]
jmp 0x46c8a0
mov ecx, dword [ebp - 0x10]
add ecx, 0x8d0
mov esi, esp
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
cmp esi, esp
call fcn.004f90e1
mov esi, esp
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp esi, esp
call fcn.004f90e1
mov dword [ebp - 0x8c], 0
mov byte [ebp - 4], 1
mov esi, esp
lea ecx, [ebp - 0x68]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
cmp esi, esp
call fcn.004f90e1
mov byte [ebp - 4], 0
mov esi, esp
lea ecx, [ebp - 0x5c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
cmp esi, esp
call fcn.004f90e1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.0040d530
mov eax, dword [ebp - 0x8c]
push edx
mov ecx, ebp
push eax
lea edx, [0x46c8ce]
call fcn.004f9104
pop eax
pop edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0xa4
cmp ebp, esp
call fcn.004f90e1
mov esp, ebp
pop ebp
ret