Function at 0x44ad8e
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a4c54
mov eax, dword fs:[0]
push eax
mov eax, 0x1438
call fcn.0049a390
mov eax, dword [0x4dc0a8]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1330], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1334], eax
mov eax, dword [ebp + 0x10]
xor ebx, ebx
mov edi, 0x7fe
push edi
mov dword [ebp - 0x1320], eax
lea eax, [ebp - 0x812]
push ebx
push eax
mov byte [ebp - 0x1325], bl
mov word [ebp - 0x814], bx
call sub.MSVCR80.dll_memset
push edi
lea eax, [ebp - 0x1012]
push ebx
mov esi, 0x400
push eax
mov dword [ebp - 0x1338], esi
mov word [ebp - 0x1014], bx
call sub.MSVCR80.dll_memset
push 0x94
lea eax, [ebp - 0x10cc]
push ebx
push eax
mov dword [ebp - 0x132c], esi
call sub.MSVCR80.dll_memset
add esp, 0x24
mov dword [ebp - 4], ebx
push dword [ebp - 0x1330]
lea ecx, [ebp - 0x1030]
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__]
mov ecx, dword [ebp - 0x1334]
push 0x4ae5c8
mov byte [ebp - 4], 1
call dword [0x4a9398]
cmp dword [ebp - 0x1018], 8
mov eax, dword [ebp - 0x102c]
jae 0x44ae77
lea eax, [ebp - 0x102c]
push eax
lea ecx, [ebp - 0x10cc]
call fcn.0045c5e9
cmp eax, ebx
jne 0x44aeed
lea eax, [ebp - 0x814]
push eax
lea ebx, [ebp - 0x1338]
lea edi, [ebp - 0x10cc]
call fcn.0045ca75
test eax, eax
jne 0x44aeeb
lea eax, [ebp - 0x814]
push eax
call dword [sym.imp.MSVCR80.dll_wcslen]
test eax, eax
pop ecx
je 0x44aeeb
mov ecx, dword [ebp - 0x1334]
lea eax, [ebp - 0x814]
push eax
call dword [0x4a9398]
mov eax, edi
push eax
lea edi, [ebp - 0x132c]
lea ebx, [ebp - 0x1014]
call fcn.0045caef
mov ecx, dword [ebp - 0x1320]
mov eax, ebx
push eax
call dword [0x4a9398]
xor ebx, ebx
lea eax, [ebp - 0x814]
push eax
call dword [sym.imp.MSVCR80.dll_wcslen]
test eax, eax
pop ecx
je 0x44af14
lea eax, [ebp - 0x814]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x44b168
mov dword [ebp - 0x1324], ebx
mov dword [ebp - 0x1320], ebx
mov dword [ebp - 0x132c], ebx
push 0x24c
lea eax, [ebp - 0x1318]
push ebx
mov byte [ebp - 4], 4
push eax
mov dword [ebp - 0x131c], ebx
call sub.MSVCR80.dll_memset
add esp, 0xc
push ebx
mov dword [ebp - 0x1338], ebx
call dword [sym.imp.ole32.dll_CoInitialize]
lea eax, [ebp - 0x1324]
push eax
push 0x4aa144
push 1
push ebx
push 0x4aa164
mov byte [ebp - 0x1325], 1
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov edi, eax
cmp edi, ebx
mov eax, dword [ebp - 0x1324]
jl 0x44b175
cmp eax, ebx
je 0x44b175
mov ecx, dword [eax]
lea edx, [ebp - 0x1320]
push edx
push 0x4aa194
push eax
call dword [ecx]
mov edi, eax
cmp edi, ebx
jl 0x44affb
cmp dword [ebp - 0x1320], ebx
je 0x44affb
cmp dword [ebp - 0x1018], 8
mov eax, dword [ebp - 0x102c]
jae 0x44afbf
lea eax, [ebp - 0x102c]
push esi
push eax
lea eax, [ebp - 0x814]
push esi
push eax
call dword [sym.imp.MSVCR80.dll_wcsncpy_s]
mov ecx, dword [ebp - 0x102c]
add esp, 0x10
cmp dword [ebp - 0x1018], 8
jae 0x44afe7
lea ecx, [ebp - 0x102c]
mov eax, dword [ebp - 0x1320]
mov edx, dword [eax]
push ebx
push ecx
push eax
call dword [edx + 0x14]
mov edi, eax
cmp edi, ebx
jge 0x44b040
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x132c]
cmp eax, ebx
je 0x44b00f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x1320]
cmp eax, ebx
je 0x44b023
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x1324]
cmp eax, ebx
je 0x44b1bf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x44b1bf
mov eax, dword [ebp - 0x1324]
mov ecx, dword [eax]
push 2
lea edx, [ebp - 0x131c]
push edx
push 0x104
lea edx, [ebp - 0x814]
push edx
push eax
call dword [ecx + 0xc]
cmp eax, ebx
je 0x44b119
mov eax, dword [ebp - 0x1324]
mov ecx, dword [eax]
lea edx, [ebp - 0x1330]
push edx
push eax
call dword [ecx + 0x10]
mov edi, eax
cmp edi, ebx
jne 0x44affb
lea eax, [ebp - 0x1338]
push eax
lea eax, [ebp - 0x132c]
push eax
push 0x4aa154
push dword [ebp - 0x1330]
call dword [sym.imp.SHELL32.dll_SHBindToParent]
mov edi, eax
cmp edi, ebx
mov eax, dword [ebp - 0x132c]
jne 0x44b16c
cmp eax, ebx
je 0x44b16c
mov ecx, dword [eax]
lea edx, [ebp - 0x1444]
push edx
push 0x8000
push dword [ebp - 0x1338]
push eax
call dword [ecx + 0x2c]
mov edi, eax
cmp edi, ebx
jne 0x44affb
push 0x800
lea eax, [ebp - 0x814]
push ebx
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
push esi
lea eax, [ebp - 0x814]
push eax
push dword [ebp - 0x1330]
lea eax, [ebp - 0x1444]
push eax
call dword [sym.imp.SHLWAPI.dll_StrRetToBufW]
mov edi, eax
cmp edi, ebx
jne 0x44affb
mov ecx, dword [ebp - 0x1334]
lea eax, [ebp - 0x814]
push eax
call dword [0x4a9398]
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x132c]
cmp eax, ebx
je 0x44b140
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x1320]
cmp eax, ebx
je 0x44b154
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x1324]
cmp eax, ebx
je 0x44b168
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor edi, edi
jmp 0x44b1b7
mov byte [ebp - 4], 3
jmp 0x44b005
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x132c]
cmp ecx, ebx
je 0x44b18f
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x1324]
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x1320]
cmp ecx, ebx
je 0x44b1a9
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x1324]
cmp eax, ebx
mov byte [ebp - 4], 1
je 0x44b1bf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp byte [ebp - 0x1325], bl
je 0x44b1c5
call dword [sym.imp.ole32.dll_CoUninitialize]
lea ecx, [ebp - 0x1030]
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 esi, [ebp - 0x10cc]
call fcn.0045c9e7
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00486d86
leave
ret 0xc