Function at 0x483df0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f8fb9
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0x564610]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
cmp dword [esi + 0x20], 0
mov edi, ecx
jne 0x483e2d
xor al, al
jmp 0x48440d
cmp dword [esi + 0x38], 0
je 0x483e26
mov ecx, esi
call dword [sym.imp.Common.dll_public:_bool___thiscall_CTXStringW::IsEmpty_void_const]
test al, al
jne 0x483e26
mov eax, dword [esi + 0x20]
push eax
lea ecx, [ebp - 0x58]
push ecx
mov ecx, edi
call fcn.004828f0
mov ebx, dword [ebp - 0x58]
test ebx, ebx
mov dword [ebp - 4], 0
je 0x483e26
lea ecx, [ebp - 0x2c]
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_void_]
lea ecx, [esi + 4]
mov byte [ebp - 4], 1
call dword [sym.imp.Common.dll_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x483e92
lea ecx, [esi + 4]
call dword [sym.imp.Common.dll_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const]
push eax
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator_wchar_t_const__]
jmp 0x483ea2
lea edx, [edi + 0x90]
push edx
lea ecx, [ebp - 0x2c]
call dword [0x5096b8]
mov dword [ebp - 0x3c], 0
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 2
call fcn.0047dc90
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
add esp, 4
push 0
push ebx
push eax
call edx
mov eax, dword [ebp - 0x3c]
mov ebx, dword [eax]
sub esp, 0x10
mov eax, esp
xor ecx, ecx
mov dword [eax], ecx
xor edx, edx
mov dword [eax + 4], edx
mov ecx, 0xa
mov dword [eax + 8], ecx
mov ecx, edx
mov dword [ebp - 0x48], edx
mov edx, dword [ebp - 0x3c]
mov dword [eax + 0xc], ecx
mov eax, dword [ebx + 0x1a0]
push edx
call eax
lea ecx, [ebp - 0x40]
call dword [sym.imp.Common.dll_public:_void___thiscall_CTXStringW::constructor_void_]
mov ecx, esi
mov byte [ebp - 4], 3
call dword [sym.imp.Common.dll_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const]
push eax
lea ecx, [ebp - 0x40]
push str.IDC_PLUGIN_FRAME__s
push ecx
call dword [sym.imp.Common.dll_public:_void___cdecl_CTXStringW::Format_wchar_t_const__]
mov eax, dword [ebp - 0x3c]
mov ebx, dword [eax]
add esp, 0xc
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x38], eax
add ebx, 0x74
call dword [sym.imp.Common.dll_public:_wchar_t____thiscall_CTXStringW::GetBSTR_void_const]
mov edx, dword [ebp - 0x38]
push eax
mov eax, dword [ebx]
push edx
call eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x118]
push 1
push eax
call edx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x110]
push 1
push eax
call edx
mov dword [ebp - 0x30], 0
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 4
call fcn.00467460
add esp, 4
push 0x34
push 0x34
lea ecx, [esi + 4]
call dword [sym.imp.Common.dll_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const]
push eax
call fcn.00425490
add esp, 0xc
mov ebx, 0x54
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1b0]
push str.CENTER
push eax
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x64], 0
call edx
mov eax, dword [ebp - 0x30]
mov edx, dword [eax]
xor ecx, ecx
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, 6
mov dword [eax + 4], ecx
mov ecx, 8
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x64]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0x30]
mov ecx, dword [edx + 0x1a0]
push eax
call ecx
mov eax, dword [ebp - 0x30]
mov edx, dword [eax]
mov edx, dword [edx + 0x180]
mov ecx, ebx
push ecx
push ebx
push eax
call edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x350]
push 1
push eax
call edx
mov ebx, dword [ebp - 0x30]
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP80.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
lea ecx, [ebp - 0x48]
call dword [sym.imp.Common.dll_public:_void___thiscall_CTXBSTR::constructor_wchar_t_const__]
mov ecx, dword [ebx]
mov dword [ebp - 0x38], ecx
mov ecx, eax
mov byte [ebp - 4], 5
call dword [sym.imp.Common.dll_public:_wchar_t____thiscall_CTXBSTR::operator_wchar_t__void_const]
mov edx, dword [ebp - 0x38]
push eax
mov eax, dword [edx + 0x330]
push ebx
call eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 4
call dword [sym.imp.Common.dll_public:_void___thiscall_CTXBSTR::destructor_void_]
mov ebx, dword [ebp - 0x30]
push esi
lea ecx, [ebp - 0x38]
call dword [sym.imp.Common.dll_public:_void___thiscall_CTXBSTR::constructor_class_CTXStringW_const__]
mov ecx, dword [ebx]
mov dword [ebp - 0x48], ecx
mov ecx, eax
mov byte [ebp - 4], 6
call dword [sym.imp.Common.dll_public:_wchar_t____thiscall_CTXBSTR::operator_wchar_t__void_const]
mov edx, dword [ebp - 0x48]
push eax
mov eax, dword [edx + 0x2d0]
push ebx
call eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 4
call dword [sym.imp.Common.dll_public:_void___thiscall_CTXBSTR::destructor_void_]
mov al, 0x38
mov byte [ebp - 0x35], 0xff
mov byte [ebp - 0x36], al
mov byte [ebp - 0x37], al
mov byte [ebp - 0x38], al
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x38]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x2e0]
call eax
mov ecx, esi
call dword [sym.imp.Common.dll_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const]
push eax
lea ecx, [ebp - 0x40]
push str.IDC_PLUGIN_BTN__s
push ecx
call dword [sym.imp.Common.dll_public:_void___cdecl_CTXStringW::Format_wchar_t_const__]
mov ebx, dword [ebp - 0x30]
add esp, 0xc
lea edx, [ebp - 0x40]
push edx
lea ecx, [ebp - 0x38]
call dword [sym.imp.Common.dll_public:_void___thiscall_CTXBSTR::constructor_class_CTXStringW_const__]
mov ecx, dword [ebx]
mov dword [ebp - 0x48], ecx
mov ecx, eax
mov byte [ebp - 4], 7
call dword [sym.imp.Common.dll_public:_wchar_t____thiscall_CTXBSTR::operator_wchar_t__void_const]
mov edx, dword [ebp - 0x48]
push eax
mov eax, dword [edx + 0x74]
push ebx
call eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 4
call dword [sym.imp.Common.dll_public:_void___thiscall_CTXBSTR::destructor_void_]
push esi
lea ecx, [ebp - 0x48]
call dword [sym.imp.Common.dll_public:_void___thiscall_CTXStringW::constructor_class_CTXStringW_const__]
push eax
lea ecx, [edi + 0x1a0]
mov byte [ebp - 4], 8
call fcn.00483150
mov ecx, dword [ebp - 0x30]
cmp dword [eax], ecx
je 0x484112
push ecx
push eax
call dword [sym.imp.ATL80.DLL_Ordinal_30]
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 4
call dword [sym.imp.Common.dll_public:_void___thiscall_CTXStringW::destructor_void_]
mov ecx, dword [ebp - 0x30]
push 1
push ecx
mov ecx, edi
call fcn.0047e140
mov ebx, dword [ebp - 0x30]
lea ecx, [esi + 0xc]
call dword [sym.imp.Common.dll_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const]
push eax
push ebx
mov ecx, edi
call fcn.0047da10
mov dword [ebp - 0x44], 0
lea edx, [ebp - 0x44]
push edx
mov byte [ebp - 4], 9
call dword [sym.imp.Common.dll_int___cdecl_Util::Data::CreateTXData_struct_ITXData___]
add esp, 4
push esi
lea ecx, [ebp - 0x5c]
call dword [sym.imp.Common.dll_public:_void___thiscall_CTXBSTR::constructor_class_CTXStringW_const__]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xa
call dword [sym.imp.MSVCP80.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::data_void_const]
push eax
lea ecx, [ebp - 0x60]
call dword [sym.imp.Common.dll_public:_void___thiscall_CTXBSTR::constructor_wchar_t_const__]
mov eax, dword [ebp - 0x44]
mov ebx, dword [eax]
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x48], eax
add ebx, 0xe8
call dword [sym.imp.Common.dll_public:_wchar_t____thiscall_CTXBSTR::operator_wchar_t__void_const]
mov ecx, dword [ebx]
push eax
mov eax, dword [ebp - 0x48]
push 0x523570
push eax
call ecx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x44]
mov edx, dword [eax]
mov edx, dword [edx + 0x80]
push ecx
push eax
call edx
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [eax]
push 0
push edx
push eax
mov eax, dword [ecx + 0x1c]
call eax
xor ecx, ecx
push ecx
mov ecx, dword [ebp - 0x30]
mov eax, 0x47e530
push eax
push 0x1003
lea ebx, [edi + 4]
push ecx
mov ecx, ebx
call fcn.00483c50
mov edx, dword [ebp - 0x30]
xor ecx, ecx
push ecx
mov eax, 0x480770
push eax
push 0x1005
push edx
mov ecx, ebx
call fcn.00483c50
mov eax, 0x47e8b0
xor ecx, ecx
push ecx
push eax
mov eax, dword [ebp - 0x30]
push 0x1007
push eax
mov ecx, ebx
call fcn.00483c50
xor ecx, ecx
push ecx
mov ecx, dword [ebp - 0x30]
mov eax, 0x47eb10
push eax
push 0x1008
push ecx
mov ecx, ebx
call fcn.00483c50
mov dword [ebp - 0x34], 0
lea edx, [ebp - 0x34]
push edx
mov byte [ebp - 4], 0xc
call fcn.00467460
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1b0]
add esp, 4
push str.TOPRIGHT
push eax
call edx
mov eax, dword [edi + 0x100]
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x36c]
push ecx
call eax
mov eax, dword [edi + 0x104]
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x374]
push ecx
call eax
mov eax, dword [ebp - 0x34]
mov edi, dword [edi + 0x108]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x394]
push edi
push eax
call edx
mov edx, dword [ebp - 0x34]
mov edi, dword [edx]
mov eax, 0x10
mov ecx, eax
push ecx
push eax
mov eax, dword [edi + 0x180]
push edx
call eax
mov ecx, esi
call dword [sym.imp.Common.dll_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const]
push eax
lea ecx, [ebp - 0x40]
push str.IDC_PLUGIN_BTN_ADD_TO_QDESK__s
push ecx
call dword [sym.imp.Common.dll_public:_void___cdecl_CTXStringW::Format_wchar_t_const__]
mov esi, dword [ebp - 0x34]
add esp, 0xc
lea edx, [ebp - 0x40]
push edx
lea ecx, [ebp - 0x48]
call dword [sym.imp.Common.dll_public:_void___thiscall_CTXBSTR::constructor_class_CTXStringW_const__]
mov edi, dword [esi]
mov ecx, eax
mov byte [ebp - 4], 0xd
call dword [sym.imp.Common.dll_public:_wchar_t____thiscall_CTXBSTR::operator_wchar_t__void_const]
push eax
mov eax, dword [edi + 0x74]
push esi
call eax
mov esi, dword [sym.imp.Common.dll_public:_void___thiscall_CTXBSTR::destructor_void_]
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xc
call esi
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xe4]
push 1
push str.state
push eax
call edx
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x44]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x80]
call eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x14c]
push 0x50db60
push eax
call edx
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [eax]
push 0
push edx
push eax
mov eax, dword [ecx + 0x1c]
call eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xf0]
push 1
push eax
call edx
xor ecx, ecx
push ecx
mov eax, 0x47eb10
push eax
mov eax, dword [ebp - 0x34]
push 0x1008
push eax
mov ecx, ebx
call fcn.00483c50
xor ecx, ecx
push ecx
mov ecx, dword [ebp - 0x34]
mov eax, 0x47e650
push eax
push 0x1003
push ecx
mov ecx, ebx
call fcn.00483c50
mov eax, dword [ebp - 0x34]
test eax, eax
mov byte [ebp - 4], 0xb
je 0x48439c
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
lea ecx, [ebp - 0x60]
call esi
lea ecx, [ebp - 0x5c]
call esi
mov eax, dword [ebp - 0x44]
test eax, eax
mov byte [ebp - 4], 4
je 0x4843b9
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x30]
test eax, eax
mov byte [ebp - 4], 3
je 0x4843cc
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 2
call dword [sym.imp.Common.dll_public:_void___thiscall_CTXStringW::destructor_void_]
mov eax, dword [ebp - 0x3c]
test eax, eax
mov byte [ebp - 4], 1
je 0x4843ec
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0
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 eax, dword [ebp - 0x58]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
mov dword [ebp - 4], 0xffffffff
call edx
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004f019a
mov esp, ebp
pop ebp
ret 4