Function at 0x41e930
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x506d80
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1bc
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [sym.imp.MSVCP80.dll_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_std::operator_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___wchar_t_const__]
push str.Plugin_
add esi, 0xb8
lea eax, [ebp - 0x108]
push esi
push eax
mov ebx, ecx
call edi
push ebx
push eax
lea ecx, [ebp - 0x28]
push ecx
mov dword [ebp - 4], 0
call dword [sym.imp.MSVCP80.dll_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_std::operator_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
add esp, 0x18
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 2
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
push str.Plugin_
lea edx, [ebp - 0x44]
push esi
push edx
call edi
add esp, 0xc
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x40]
mov esi, 8
cmp dword [ebp - 0x2c], esi
jae 0x41e9ba
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x41ea32
cmp dword [ebp - 0x2c], esi
mov eax, dword [ebp - 0x40]
jae 0x41e9d0
lea eax, [ebp - 0x40]
push eax
call fcn.004f63c0
add esp, 4
test eax, eax
jne 0x41ea32
push 0x411
push str..PluginLogic.cpp
push str.bRes
push str.IF_NOT__s__in__s___d_n
push 0x11
push str..PluginLogic.cpp
call fcn.004f3ba0
add esp, 0x18
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 2
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebp + 8]
push 0x528e14
add eax, 0xf4
push eax
lea ecx, [ebp - 0xec]
push ecx
call edi
push ebx
push eax
lea edx, [ebp - 0x60]
push edx
mov byte [ebp - 4], 4
call dword [sym.imp.MSVCP80.dll_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_std::operator_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
add esp, 0x18
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 6
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
cmp dword [ebp - 0x10], esi
mov eax, dword [ebp - 0x24]
jae 0x41ea77
lea eax, [ebp - 0x24]
push eax
call fcn.004f6840
add esp, 4
test eax, eax
jne 0x41eb12
cmp dword [ebp - 0x10], esi
mov ecx, dword [ebp - 0x24]
jae 0x41ea93
lea ecx, [ebp - 0x24]
cmp dword [ebp - 0x48], esi
mov eax, dword [ebp - 0x5c]
jae 0x41ea9e
lea eax, [ebp - 0x5c]
push 0
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x41ecdb
push 0x419
push str..PluginLogic.cpp
push str.::CopyFile_strSrcFilePatch.c_str____strDestFilePatch.c_str____FALSE_
push str.IF_NOT__s__in__s___d_n
push 0x11
push str..PluginLogic.cpp
call fcn.004f3ba0
add esp, 0x18
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 3
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 2
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
xor edi, edi
push 0x5e
lea eax, [ebp - 0x166]
push edi
push eax
mov word [ebp - 0x168], di
call sub.MSVCR80.dll_memset
mov eax, dword [ebp - 0x5c]
add esp, 0xc
cmp dword [ebp - 0x48], esi
jae 0x41eb38
lea eax, [ebp - 0x5c]
lea ecx, [ebp - 0x168]
push ecx
push eax
call fcn.004f5930
push 0x5e
lea edx, [ebp - 0x1c6]
push edi
push edx
mov word [ebp - 0x1c8], di
call sub.MSVCR80.dll_memset
mov eax, dword [ebp - 0x24]
add esp, 0x14
cmp dword [ebp - 0x10], esi
jae 0x41eb69
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x1c8]
push ecx
push eax
call fcn.004f5930
add esp, 8
lea edx, [ebp - 0x168]
push edx
lea ecx, [ebp - 0xb4]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
push edi
lea eax, [ebp - 0xb4]
push eax
lea ecx, [ebp - 0x98]
push ecx
mov byte [ebp - 4], 7
call fcn.00457e20
add esp, 0xc
mov bl, 9
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], bl
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea edx, [ebp - 0x1c8]
push edx
lea ecx, [ebp - 0xd0]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
push edi
lea eax, [ebp - 0xd0]
push eax
lea ecx, [ebp - 0x7c]
push ecx
mov byte [ebp - 4], 0xa
call fcn.00457e20
add esp, 0xc
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0xc
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov ecx, dword [ebp - 0x78]
mov eax, 0x10
cmp dword [ebp - 0x64], eax
jae 0x41ec03
lea ecx, [ebp - 0x78]
cmp dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x94]
jae 0x41ec14
lea eax, [ebp - 0x94]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41ec34
test dl, dl
je 0x41ec30
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41ec34
add eax, 2
add ecx, 2
test dl, dl
jne 0x41ec14
xor eax, eax
jmp 0x41ec39
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
je 0x41ecbf
push 0x427
push str..PluginLogic.cpp
push str.__strcmp_strMd5Src.c_str____strMd5Des.c_str______0_
push str.IF_NOT__s__in__s___d_n
push 0x11
push str..PluginLogic.cpp
call fcn.004f3ba0
add esp, 0x18
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], bl
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 6
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 3
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 2
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], bl
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 6
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 3
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 2
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov eax, 1
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4