Function at 0x4653f0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f8298
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x12c
mov eax, dword [0x540cc0]
mov dword [ebp - 0x14], eax
push edi
mov dword [ebp - 0x128], ecx
mov dword [ebp - 4], 0
push 0x50fa48
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
jne 0x46545d
mov dword [ebp - 0xf0], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov eax, dword [ebp - 0xf0]
jmp 0x465be5
push 0x50fa55
lea ecx, [ebp - 0x60]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_2]
mov byte [ebp - 4], 1
push 0x50fa56
lea ecx, [ebp - 0x6c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_2]
mov byte [ebp - 4], 2
cmp dword [ebp + 0xc], 0
je 0x4654e7
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x60]
push ecx
mov ecx, dword [ebp - 0x128]
call fcn.00465190
test eax, eax
jne 0x4654e7
mov edx, dword [ebp - 0x58]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp - 0xf4], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x60]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov eax, dword [ebp - 0xf4]
jmp 0x465be5
push str.IsPocoMaker
mov eax, dword [ebp - 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0
jne 0x46554e
mov ecx, dword [ebp - 0x58]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp - 0xf8], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x60]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov eax, dword [ebp - 0xf8]
jmp 0x465be5
lea ecx, [ebp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
call dword [ebp - 0x90]
add esp, 4
test eax, eax
jne 0x4655ae
mov edx, dword [ebp - 0x58]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp - 0xfc], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x60]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov eax, dword [ebp - 0xfc]
jmp 0x465be5
push str.GetFrontFile
mov eax, dword [ebp - 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jne 0x46560f
mov ecx, dword [ebp - 0x58]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp - 0x100], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x60]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov eax, dword [ebp - 0x100]
jmp 0x465be5
push 0x50fa74
mov edx, dword [ebp - 0x58]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x465670
mov eax, dword [ebp - 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp - 0x104], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x60]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov eax, dword [ebp - 0x104]
jmp 0x465be5
mov byte [ebp - 0xb4], 0
xor ecx, ecx
mov dword [ebp - 0xb3], ecx
mov dword [ebp - 0xaf], ecx
mov dword [ebp - 0xab], ecx
mov dword [ebp - 0xa7], ecx
mov dword [ebp - 0xa3], ecx
mov dword [ebp - 0x9f], ecx
mov dword [ebp - 0x9b], ecx
mov dword [ebp - 0x97], ecx
mov word [ebp - 0x93], cx
mov byte [ebp - 0x91], cl
mov byte [ebp - 0x8c], 0
xor edx, edx
mov dword [ebp - 0x8b], edx
mov dword [ebp - 0x87], edx
mov dword [ebp - 0x83], edx
mov dword [ebp - 0x7f], edx
mov dword [ebp - 0x7b], edx
mov dword [ebp - 0x77], edx
mov dword [ebp - 0x73], edx
mov word [ebp - 0x6f], dx
mov byte [ebp - 0x6d], dl
mov dword [ebp - 0x64], 0
mov byte [ebp - 0x54], 0
mov ecx, 0xf
xor eax, eax
lea edi, [ebp - 0x53]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ebp - 0x128]
add eax, 0x180
push eax
lea ecx, [ebp - 0x8c]
push ecx
lea edx, [ebp - 0xb4]
push edx
lea ecx, [ebp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
call dword [ebp - 0x10]
add esp, 0x10
test eax, eax
jne 0x465775
mov eax, dword [ebp - 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp - 0x108], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x60]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov eax, dword [ebp - 0x108]
jmp 0x465be5
lea ecx, [ebp - 0x8c]
push ecx
push 0x50fa80
mov edx, dword [ebp - 0x128]
add edx, 0x184
push edx
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format]
add esp, 0xc
push 0x20
lea eax, [ebp - 0x10c]
push eax
mov ecx, dword [ebp - 0x128]
add ecx, 0x184
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Left]
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x130], ecx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x130]
push edx
mov ecx, dword [ebp - 0x128]
add ecx, 0x184
call dword [0x502474]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x10c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea eax, [ebp - 0xb4]
push eax
push 0x50fa84
mov ecx, dword [ebp - 0x128]
add ecx, 0x148
push ecx
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format]
add esp, 0xc
push 0x24
lea edx, [ebp - 0x110]
push edx
mov ecx, dword [ebp - 0x128]
add ecx, 0x148
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Left]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x138], eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x138]
push ecx
mov ecx, dword [ebp - 0x128]
add ecx, 0x148
call dword [0x502474]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x110]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
cmp dword [ebp + 0xc], 0
je 0x465940
lea ecx, [ebp - 0x6c]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
lea ecx, [ebp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
call dword [ebp - 0x5c]
add esp, 8
test eax, eax
jne 0x4658de
mov edx, dword [ebp - 0x58]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp - 0x114], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x60]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov eax, dword [ebp - 0x114]
jmp 0x465be5
lea ecx, [ebp - 0x6c]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
mov ecx, dword [ebp - 0x128]
call fcn.00465330
test eax, eax
jne 0x465940
mov eax, dword [ebp - 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp - 0x118], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x60]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov eax, dword [ebp - 0x118]
jmp 0x465be5
push str.PmkGetFileSize
mov ecx, dword [ebp - 0x58]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x68], eax
mov edx, dword [ebp - 0x128]
mov dword [edx + 0x17c], 0
mov eax, dword [ebp - 0x128]
add eax, 0x17c
push eax
lea ecx, [ebp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
call dword [ebp - 0x68]
add esp, 8
test eax, eax
jne 0x4659cb
mov ecx, dword [ebp - 0x58]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp - 0x11c], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x60]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov eax, dword [ebp - 0x11c]
jmp 0x465be5
cmp dword [ebp + 0xc], 0
je 0x465b91
lea ecx, [ebp - 0xec]
call fcn.00402670
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x6c]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
lea ecx, [ebp - 0xec]
call fcn.00405f30
lea edx, [ebp - 0xec]
push edx
mov ecx, dword [ebp - 0x128]
call fcn.00465390
test eax, eax
jne 0x465a67
mov eax, dword [ebp - 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp - 0x120], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xec]
call fcn.00401e50
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x60]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov eax, dword [ebp - 0x120]
jmp 0x465be5
push 0x5219a0
lea ecx, [ebp - 0x60]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
lea ecx, [ebp - 0xec]
call fcn.00407740
lea ecx, [ebp - 0xec]
call fcn.00401f20
lea ecx, [ebp - 0xbc]
call dword [0x502480]
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x128]
mov edx, dword [ecx + 0x144]
push edx
mov eax, dword [ebp - 0x128]
mov ecx, dword [eax + 0x130]
push ecx
mov edx, dword [ebp - 0x128]
mov eax, dword [edx + 0x138]
push eax
mov ecx, dword [ebp - 0x128]
mov edx, dword [ecx + 0x134]
push edx
push str.ftp:___s:_s__s__s
lea eax, [ebp - 0xbc]
push eax
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format]
add esp, 0x18
lea ecx, [ebp - 0xb8]
call dword [0x502480]
mov byte [ebp - 4], 7
push 0x50faac
mov ecx, dword [ebp - 0x128]
mov edx, dword [ecx + 0x170]
push edx
call fcn.00461400
push eax
push str._spmup__d__s
lea eax, [ebp - 0xb8]
push eax
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format]
add esp, 0x14
push 0
lea ecx, [ebp - 0xbc]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
lea ecx, [ebp - 0xb8]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
call fcn.004dd920
add esp, 0xc
mov ecx, dword [ebp - 0x128]
mov dword [ecx + 0x11c], eax
lea ecx, [ebp - 0x6c]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xb8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xbc]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xec]
call fcn.00401e50
mov edx, dword [ebp - 0x58]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp - 0x128]
mov dword [eax + 0x188], 1
mov dword [ebp - 0x124], 1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x60]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x14]
call fcn.004f2f91
pop edi
mov esp, ebp
pop ebp
ret 8