Function at 0x42fd80
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4844fb
mov eax, dword fs:[0]
push eax
sub esp, 0x494
mov eax, dword [0x4c33d0]
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 dword [ebp - 0x49c], edx
mov ebx, ecx
push 0x4a04ac
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov esi, eax
test esi, esi
je 0x42fde9
push str.Wow64DisableWow64FsRedirection
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x42fde6
lea ecx, [ebp - 0x4a0]
push ecx
call eax
push esi
call edi
xor eax, eax
push 0x206
mov dword [ebp - 4], 0
push eax
mov word [ebp - 0x290], ax
lea eax, [ebp - 0x28e]
push eax
call sub.MSVCR110.dll_memset
mov eax, dword [0x4c9770]
add esp, 0xc
test al, 1
jne 0x42fe2c
or eax, 1
push 0x488dc0
mov dword [0x4c9770], eax
call fcn.0047ce4d
add esp, 4
sub esp, 8
lea eax, [ebp - 0x290]
push eax
call fcn.0045a650
push 0x491ac0
lea eax, [ebp - 0x290]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov eax, dword [0x4c9770]
test al, 1
jne 0x42fe6b
or eax, 1
push 0x488dc0
mov dword [0x4c9770], eax
call fcn.0047ce4d
add esp, 4
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea eax, [ebp - 0x290]
push eax
call esi
test eax, eax
jne 0x42fec8
lea eax, [ebp - 0x290]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
test eax, eax
je 0x42fec8
mov eax, dword [0x4ca618]
test al, 1
jne 0x42feaf
or eax, 1
push 0x489110
mov dword [0x4ca618], eax
call fcn.0047ce4d
add esp, 4
lea eax, [ebp - 0x290]
push eax
push str.Failed_to_create_directory_:__s
push 0x4ca614
call fcn.00460e00
add esp, 0xc
xor eax, eax
push 0x76
push eax
mov word [ebp - 0x88], ax
lea eax, [ebp - 0x86]
push eax
call sub.MSVCR110.dll_memset
mov eax, dword [0x4c9770]
add esp, 0xc
test al, 1
jne 0x42ff01
or eax, 1
push 0x488dc0
mov dword [0x4c9770], eax
call fcn.0047ce4d
add esp, 4
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42ff06
sub ecx, edx
sar ecx, 1
je 0x42ff25
lea eax, [ebp - 0x88]
push eax
mov ecx, ebx
call fcn.0045a740
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x498], ax
lea eax, [ebp - 0x496]
push eax
call sub.MSVCR110.dll_memset
add esp, 0xc
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x290]
push eax
lea eax, [ebp - 0x498]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [ebp - 0x498]
push eax
call esi
test eax, eax
jne 0x42ff86
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x498]
push eax
push ebx
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::COUIManager____cdecl_OUI::COUIManager::GetUIManager_void_]
mov ecx, eax
call dword [sym.imp.ouilibx.dll_public:_bool___thiscall_OUI::COUIManager::ExtractImageFileIcon_wchar_t_const___wchar_t___struct_tagSIZE___bool_]
lea eax, [ebp - 0x498]
push eax
call esi
test eax, eax
je 0x42ffe8
mov esi, dword [ebp - 0x49c]
push 0
lea eax, [ebp - 0x498]
push esi
push eax
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::ORES_TABLE____cdecl_OUI::ORES_TABLE::GetResTable_void_]
mov ecx, eax
call dword [sym.imp.ouilibx.dll_public:_bool___thiscall_OUI::ORES_TABLE::LoadImageFromFile_wchar_t_const___struct_OUI::IImage____bool_]
test esi, esi
jne 0x42ffe4
lea eax, [ebp + 8]
push eax
call dword [sym.imp.ouilibx.dll_public:_static_struct_HICON______cdecl_OUI::ExtractIcons::ExtractSystemDefaultAppIcon_struct_tagSIZE__]
mov esi, eax
add esp, 4
test esi, esi
je 0x42ffe4
lea eax, [ebp + 8]
push eax
push 0
push esi
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::ORES_TABLE____cdecl_OUI::ORES_TABLE::GetResTable_void_]
mov ecx, eax
call dword [sym.imp.ouilibx.dll_public:_bool___thiscall_OUI::ORES_TABLE::LoadImageFromHICON_struct_HICON_____struct_OUI::IImage____struct_tagSIZE__]
push esi
call dword [sym.imp.USER32.dll_DestroyIcon]
mov bl, 1
jmp 0x42ffea
xor bl, bl
push 0x4a04ac
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x43001d
push str.Wow64RevertWow64FsRedirection
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x43001a
push dword [ebp - 0x4a0]
call eax
push esi
call edi
mov al, bl
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.0047cd06
mov esp, ebp
pop ebp
ret