Function at 0x4dfea0
Capabilities:
Copy file

Disassembly:
push 0xffffffffffffffff
push 0x55259c
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5c403c]
xor eax, esp
push eax
lea eax, [esp + 0x34]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x44]
mov esi, ecx
lea edi, [ebp + 0x54]
call fcn.004dd4b0
test eax, eax
jne 0x4dfefe
mov eax, dword [ebp + 0x50]
push eax
push str.WARNING:_Plugin__s_has_no_valid_GUID
push 0xffffffffffffffff
mov ecx, str.PLMG
call fcn.004151b0
add esp, 0xc
lea ecx, [esp + 0x44]
push ecx
lea eax, [esi + 0xc]
jmp 0x4e0328
mov edx, dword [esi + 0x28]
lea edi, [esi + 0xc]
mov esi, dword [edi + 0x18]
add edx, esi
mov dword [esp + 0x24], edi
cmp esi, edx
jbe 0x4dff17
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov ebx, dword [edi]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], esi
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x1c]
add esi, eax
cmp eax, esi
jbe 0x4dff33
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [edi]
test ebx, ebx
je 0x4dff3d
cmp ebx, eax
je 0x4dff43
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp dword [esp + 0x2c], esi
je 0x4e0321
lea eax, [esp + 0x28]
call fcn.004a8ec0
mov ecx, dword [eax]
mov eax, dword [ebp + 0x54]
add ecx, 0x54
push eax
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Compare]
test eax, eax
je 0x4dff95
test ebx, ebx
jne 0x4dff8f
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
add ecx, dword [eax + 0x18]
cmp dword [esp + 0x2c], ecx
jb 0x4dff89
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
inc dword [esp + 0x2c]
jmp 0x4dff21
mov eax, dword [ebx]
mov ecx, eax
jmp 0x4dff77
lea eax, [esp + 0x28]
call fcn.004a8ec0
mov ecx, eax
mov esi, dword [ecx]
mov eax, 4
call fcn.004de860
lea eax, [esp + 0x28]
call fcn.004a8ec0
mov eax, dword [eax]
mov edx, dword [eax + 0x9c]
cmp edx, dword [ebp + 0x9c]
jb 0x4e01a2
ja 0x4dffdd
mov eax, dword [eax + 0x98]
cmp eax, dword [ebp + 0x98]
jbe 0x4e01a2
mov eax, 4
mov esi, ebp
call fcn.004de860
mov esi, dword [ebp + 0x3c]
lea eax, [esp + 0x28]
call fcn.004a8ec0
mov ecx, dword [eax]
mov eax, dword [ecx + 0x3c]
push 0
push esi
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x4e00cd
cmp dword [0x5c7004], 0
je 0x4e0190
push 0x55ae9c
lea ecx, [esp + 0x1c]
call dword [0x55a504]
mov dword [esp + 0x3c], 0
push str.PLMG
lea ecx, [esp + 0x18]
call dword [0x55a504]
mov byte [esp + 0x3c], 1
lea edx, [esp + 0x20]
lea ecx, [ebp + 0x50]
push edx
mov ebx, str.Plugin_
call fcn.004393e0
add esp, 4
mov byte [esp + 0x3c], 2
push eax
lea eax, [esp + 0x20]
push eax
mov edi, str.__updated
call fcn.0040f2b0
add esp, 8
mov byte [esp + 0x3c], 3
mov esi, dword [0x5c7004]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x18]
push edx
xor ecx, ecx
mov ebx, eax
call fcn.00433ab0
mov byte [esp + 0x3c], 2
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0x3c], 1
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0x3c], 0
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov dword [esp + 0x3c], 0xffffffff
lea ecx, [esp + 0x18]
jmp 0x4e018a
cmp dword [0x5c7004], 0
je 0x4e0190
push 0x55ae9c
lea ecx, [esp + 0x18]
call dword [0x55a504]
mov dword [esp + 0x3c], 4
push str.PLMG
lea ecx, [esp + 0x1c]
call dword [0x55a504]
mov byte [esp + 0x3c], 5
lea eax, [esp + 0x1c]
lea ecx, [ebp + 0x50]
push eax
mov ebx, str.Plugin
call fcn.004393e0
add esp, 4
mov byte [esp + 0x3c], 6
push eax
lea ecx, [esp + 0x24]
push ecx
mov edi, str._requires_update__automatic_update_FAILED
call fcn.0040f2b0
add esp, 8
mov byte [esp + 0x3c], 7
mov esi, dword [0x5c7004]
lea edx, [esp + 0x14]
push edx
lea ecx, [esp + 0x1c]
push ecx
or ecx, 0xffffffff
mov ebx, eax
call fcn.00433ab0
mov byte [esp + 0x3c], 6
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0x3c], 5
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0x3c], 4
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov dword [esp + 0x3c], 0xffffffff
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea edi, [ebp + 0x3c]
mov esi, ebp
call fcn.004ddaf0
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
lea eax, [esp + 0x28]
call fcn.004a8ec0
mov edx, dword [eax]
test byte [edx + 0xa4], 8
lea eax, [esp + 0x28]
je 0x4e01ed
call fcn.004a8ec0
mov eax, dword [eax]
mov ecx, dword [eax + 0x50]
push ecx
push str.Plugin__s_cannot_be_placed_in_started_from_local_profile_directory
push 0xffffffffffffffff
mov ecx, str.PLMG
call fcn.004151b0
add esp, 0xc
push ebp
call fcn.004dd8d0
push ebp
call sub.mfc90u.dll_delete
add esp, 4
jmp 0x4e032d
call fcn.004a8ec0
mov edx, dword [eax]
test byte [edx + 0xa4], 4
je 0x4e0220
lea eax, [esp + 0x28]
call fcn.004a8ec0
mov eax, dword [eax]
mov ecx, dword [eax + 0x50]
push ecx
push str.Plugin__s_should_not_be_placed_in_local_profile_directory
push 0xffffffffffffffff
mov ecx, str.PLMG
call fcn.004151b0
add esp, 0xc
lea eax, [esp + 0x28]
call fcn.004a8ec0
mov esi, dword [eax]
test esi, esi
je 0x4e023e
push esi
call fcn.004dd8d0
push esi
call sub.mfc90u.dll_delete
add esp, 4
mov edx, dword [esp + 0x2c]
push edx
push ebx
push edi
lea ebx, [esp + 0x34]
call fcn.004261d0
lea eax, [esp + 0x44]
push eax
mov eax, edi
call fcn.004c8c40
cmp dword [0x5c7004], 0
je 0x4e032d
push 0x55ae9c
lea ecx, [esp + 0x1c]
call dword [0x55a504]
mov dword [esp + 0x3c], 8
push str.PLMG
lea ecx, [esp + 0x48]
call dword [0x55a504]
mov byte [esp + 0x3c], 9
lea edx, [esp + 0x20]
lea ecx, [ebp + 0x50]
push edx
mov ebx, str.Plugin_
call fcn.004393e0
add esp, 4
mov byte [esp + 0x3c], 0xa
push eax
lea eax, [esp + 0x28]
push eax
mov edi, str._replaced_by_local_copy
call fcn.0040f2b0
add esp, 8
mov byte [esp + 0x3c], 0xb
mov esi, dword [0x5c7004]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x48]
push edx
mov ecx, 5
mov ebx, eax
call fcn.00433ab0
mov byte [esp + 0x3c], 0xa
lea ecx, [esp + 0x24]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0x3c], 9
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0x3c], 8
lea ecx, [esp + 0x44]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov dword [esp + 0x3c], 0xffffffff
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
jmp 0x4e032d
lea eax, [esp + 0x44]
push eax
mov eax, edi
call fcn.004c8c40
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 4