Function at 0x44b1a6
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f7f4e
mov eax, dword fs:[0]
push eax
mov eax, 0x1438
call fcn.004e3d40
mov eax, dword [0x54b0c4]
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 0x5031a8
mov byte [ebp - 4], 1
call dword [0x4fe438]
cmp dword [ebp - 0x1018], 8
mov eax, dword [ebp - 0x102c]
jae 0x44b28f
lea eax, [ebp - 0x102c]
push eax
lea ecx, [ebp - 0x10cc]
call fcn.004602fb
cmp eax, ebx
jne 0x44b305
lea eax, [ebp - 0x814]
push eax
lea ebx, [ebp - 0x1338]
lea edi, [ebp - 0x10cc]
call fcn.00460787
test eax, eax
jne 0x44b303
lea eax, [ebp - 0x814]
push eax
call dword [sym.imp.MSVCR80.dll_wcslen]
test eax, eax
pop ecx
je 0x44b303
mov ecx, dword [ebp - 0x1334]
lea eax, [ebp - 0x814]
push eax
call dword [0x4fe438]
mov eax, edi
push eax
lea edi, [ebp - 0x132c]
lea ebx, [ebp - 0x1014]
call fcn.00460801
mov ecx, dword [ebp - 0x1320]
mov eax, ebx
push eax
call dword [0x4fe438]
xor ebx, ebx
lea eax, [ebp - 0x814]
push eax
call dword [sym.imp.MSVCR80.dll_wcslen]
test eax, eax
pop ecx
je 0x44b32c
lea eax, [ebp - 0x814]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x44b580
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 0x4fefcc
push 1
push ebx
push 0x4fefec
mov byte [ebp - 0x1325], 1
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov edi, eax
cmp edi, ebx
mov eax, dword [ebp - 0x1324]
jl 0x44b58d
cmp eax, ebx
je 0x44b58d
mov ecx, dword [eax]
lea edx, [ebp - 0x1320]
push edx
push 0x4ff01c
push eax
call dword [ecx]
mov edi, eax
cmp edi, ebx
jl 0x44b413
cmp dword [ebp - 0x1320], ebx
je 0x44b413
cmp dword [ebp - 0x1018], 8
mov eax, dword [ebp - 0x102c]
jae 0x44b3d7
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 0x44b3ff
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 0x44b458
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x132c]
cmp eax, ebx
je 0x44b427
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x1320]
cmp eax, ebx
je 0x44b43b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x1324]
cmp eax, ebx
je 0x44b5d7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x44b5d7
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 0x44b531
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 0x44b413
lea eax, [ebp - 0x1338]
push eax
lea eax, [ebp - 0x132c]
push eax
push 0x4fefdc
push dword [ebp - 0x1330]
call dword [sym.imp.SHELL32.dll_SHBindToParent]
mov edi, eax
cmp edi, ebx
mov eax, dword [ebp - 0x132c]
jne 0x44b584
cmp eax, ebx
je 0x44b584
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 0x44b413
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 0x44b413
mov ecx, dword [ebp - 0x1334]
lea eax, [ebp - 0x814]
push eax
call dword [0x4fe438]
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x132c]
cmp eax, ebx
je 0x44b558
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x1320]
cmp eax, ebx
je 0x44b56c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x1324]
cmp eax, ebx
je 0x44b580
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor edi, edi
jmp 0x44b5cf
mov byte [ebp - 4], 3
jmp 0x44b41d
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x132c]
cmp ecx, ebx
je 0x44b5a7
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 0x44b5c1
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x1324]
cmp eax, ebx
mov byte [ebp - 4], 1
je 0x44b5d7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp byte [ebp - 0x1325], bl
je 0x44b5dd
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.004606f9
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.004d0736
leave
ret 0xc