Function at 0x10035605
Capabilities:
Check if file exists
Get common file path

Disassembly:
push 0x518
mov eax, 0x101dcf5c
call fcn.1005dbe7
mov edi, ecx
mov edx, dword [ebp + 8]
xor ebx, ebx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov dword [ebp - 0x43c], 7
mov dword [ebp - 0x440], ebx
mov word [ebp - 0x450], cx
push eax
push edx
mov ecx, edi
mov dword [ebp - 4], ebx
call fcn.100350bc
mov esi, eax
test esi, esi
je 0x100359ba
mov edx, dword [esi]
lea eax, [ebp - 0x51c]
push eax
mov ecx, esi
call dword [edx + 0x28]
mov ecx, eax
mov byte [ebp - 4], 1
call dword [sym.imp.DuiLib32.dll_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const]
mov ebx, eax
xor eax, eax
cmp word [ebx], ax
je 0x10035677
push ebx
call fcn.100812ef
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x450]
call fcn.10002750
xor ebx, ebx
lea ecx, [ebp - 0x51c]
mov byte [ebp - 4], bl
call dword [sym.imp.DuiLib32.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_]
push 0x10270400
lea ecx, [ebp - 0x450]
call fcn.10021996
test eax, eax
jne 0x100356f4
mov eax, dword [esi]
lea ecx, [ebp - 0x51c]
push ecx
mov ecx, esi
call dword [eax + 0x98]
mov ecx, eax
mov byte [ebp - 4], 2
call dword [sym.imp.DuiLib32.dll_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const]
mov ebx, eax
xor eax, eax
cmp word [ebx], ax
je 0x100356d6
push ebx
call fcn.100812ef
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x450]
call fcn.10002750
xor ebx, ebx
lea ecx, [ebp - 0x51c]
mov byte [ebp - 4], bl
call dword [sym.imp.DuiLib32.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_]
mov eax, dword [edi + 0x3b8]
cmp eax, 1
je 0x1003598f
test eax, eax
je 0x1003598f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc4]
mov ecx, eax
call dword [sym.imp.DuiLib32.dll_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const]
push eax
lea ecx, [ebp - 0x468]
call fcn.100025f0
mov ebx, 0x208
mov byte [ebp - 4], 3
push ebx
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.10079700
push ebx
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.10079700
add esp, 0x18
lea eax, [ebp - 0x420]
mov ebx, 0x104
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push ebx
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.dll_GetLongPathNameW]
and dword [ebp - 0x428], 0
xor eax, eax
mov dword [ebp - 0x424], 7
mov word [ebp - 0x438], ax
cmp word [ebp - 0x218], ax
je 0x100357ab
lea eax, [ebp - 0x218]
push eax
call fcn.100812ef
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x438]
call fcn.10002750
mov ebx, str.Face_
mov byte [ebp - 4], 4
push ebx
call fcn.100812ef
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x438]
call fcn.10004340
push 0xffffffffffffffff
xor ebx, ebx
lea eax, [ebp - 0x468]
push ebx
push eax
lea ecx, [ebp - 0x438]
call fcn.10004470
cmp dword [ebp - 0x424], 8
lea eax, [ebp - 0x438]
cmovae eax, dword [ebp - 0x438]
push eax
call fcn.10061cda
cmp dword [ebp - 0x424], 8
lea eax, [ebp - 0x438]
pop ecx
cmovae eax, dword [ebp - 0x438]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x10035847
cmp dword [ebp - 0x424], 8
lea eax, [ebp - 0x438]
cmovae eax, dword [ebp - 0x438]
push eax
call fcn.10073264
pop ecx
cmp dword [ebp - 0x424], 8
lea ecx, [ebp - 0x438]
cmovae ecx, dword [ebp - 0x438]
push ecx
mov eax, esp
mov dword [eax], ecx
lea ecx, [ebp - 0x468]
cmp dword [ebp - 0x454], 8
cmovae ecx, dword [ebp - 0x468]
push ecx
mov eax, esp
mov dword [eax], ecx
call dword [sym.imp.DuiLib32.dll_public:_static_int___cdecl_DuiLib::CRenderEngine::SaveFileFrmZip_class_DuiLib::STRINGorID__class_DuiLib::STRINGorID_]
pop ecx
pop ecx
test eax, eax
je 0x10035971
lea ecx, [ebp - 0x51d]
call fcn.10076047
push 1
lea ecx, [ebp - 0x51d]
mov byte [ebp - 4], 5
call fcn.10041595
mov eax, dword [esi]
lea ecx, [ebp - 0x51c]
push ecx
mov ecx, esi
call dword [eax + 0x98]
mov ecx, eax
mov byte [ebp - 4], 6
call dword [sym.imp.DuiLib32.dll_public:_wchar_t_const____thiscall_DuiLib::CDuiString::GetData_void_const]
push eax
lea ecx, [ebp - 0x498]
call fcn.100025f0
cmp dword [ebp - 0x424], 8
lea eax, [ebp - 0x438]
lea ecx, [ebp - 0x480]
mov byte [ebp - 4], 7
cmovae eax, dword [ebp - 0x438]
push eax
call fcn.100025f0
lea eax, [ebp - 0x498]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x480]
push eax
lea ecx, [ebp - 0x51d]
call fcn.10076684
push ebx
push 1
lea ecx, [ebp - 0x480]
call fcn.10002690
push ebx
push 1
lea ecx, [ebp - 0x498]
call fcn.10002690
lea ecx, [ebp - 0x51c]
call dword [sym.imp.DuiLib32.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_]
mov esi, dword [sym.imp.USER32.dll_keybd_event]
push ebx
push ebx
push ebx
mov ebx, 0xa2
push ebx
call esi
xor eax, eax
push eax
push eax
push eax
push 0x56
call esi
xor eax, eax
push eax
push 2
push eax
push 0x56
call esi
xor eax, eax
push eax
push 2
push eax
push ebx
call esi
lea ecx, [ebp - 0x51d]
call sym.Plugin.dll_CleanUpPluginSystemManager
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x438]
call fcn.10002690
push ebx
push 1
lea ecx, [ebp - 0x468]
call fcn.10002690
jmp 0x100359a7
sub esp, 0x18
lea eax, [ebp - 0x450]
mov ecx, esp
push eax
call fcn.10004160
mov ecx, edi
call fcn.100385a9
mov eax, dword [edi + 0x39c]
test eax, eax
je 0x100359ba
push 1
push eax
call dword [sym.imp.USER32.dll_SwitchToThisWindow]
push ebx
push 1
lea ecx, [ebp - 0x450]
call fcn.10002690
call fcn.1005dba2
ret 8