Function at 0x670db0e0
Capabilities:
Get common file path

Disassembly:
push 0x40
mov eax, 0x671b15fc
call fcn.671a2b02
mov dword [ebp - 0x10], sym.Qt5Core.dll_struct_QArrayData_const__const_const_QArrayData::shared_null
mov eax, dword [0x67535f5c]
xor ebx, ebx
mov dword [ebp - 4], ebx
cmp eax, 0xfffffffe
jle 0x670db107
call fcn.670db4ad
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], ebx
push ecx
push 8
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x670db197
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], ebx
push eax
push ebx
push dword [ebp - 0x14]
call dword [sym.imp.USERENV.dll_GetUserProfileDirectoryW]
test eax, eax
jne 0x670db18e
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x670db18e
xor ecx, ecx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.671a37a1
pop ecx
mov esi, eax
lea eax, [ebp - 0x18]
push eax
push esi
push dword [ebp - 0x14]
call dword [sym.imp.USERENV.dll_GetUserProfileDirectoryW]
test eax, eax
je 0x670db187
push 0xffffffffffffffff
lea eax, [ebp - 0x1c]
push esi
push eax
call sym.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromWCharArray_wchar_t_const___int_
mov edx, dword [ebp - 0x10]
add esp, 0xc
mov ecx, dword [eax]
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x1c]
mov dword [eax], edx
call sym.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_
push esi
call fcn.671a37aa
pop ecx
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x10]
cmp dword [eax + 4], ebx
je 0x670db1b1
lea eax, [ebp - 0x10]
push eax
call sym.Qt5Core.dll_public:_static_bool___cdecl_QFile::exists_class_QString_const__
pop ecx
test al, al
jne 0x670db319
lea eax, [ebp - 0x24]
push str.USERPROFILE
push eax
call sym.Qt5Core.dll_class_QByteArray___cdecl_qgetenv_char_const__
push eax
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 1
push eax
call sym.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromLocal8Bit_class_QByteArray_const__
mov edx, dword [ebp - 0x10]
add esp, 0x10
mov ecx, dword [eax]
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x20]
mov dword [eax], edx
call sym.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], bl
call sym.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_
mov eax, dword [ebp - 0x10]
cmp dword [eax + 4], ebx
je 0x670db207
lea eax, [ebp - 0x10]
push eax
call sym.Qt5Core.dll_public:_static_bool___cdecl_QFile::exists_class_QString_const__
pop ecx
test al, al
jne 0x670db319
lea eax, [ebp - 0x38]
push str.HOMEPATH
push eax
call sym.Qt5Core.dll_class_QByteArray___cdecl_qgetenv_char_const__
push 2
pop ecx
push eax
lea eax, [ebp - 0x34]
mov byte [ebp - 4], cl
push eax
call sym.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromLocal8Bit_class_QByteArray_const__
mov esi, eax
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 3
push str.HOMEDRIVE
push eax
call sym.Qt5Core.dll_class_QByteArray___cdecl_qgetenv_char_const__
push eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 4
push eax
call sym.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromLocal8Bit_class_QByteArray_const__
add esp, 0x20
mov dword [ebp - 0x4c], eax
lea ecx, [ebp - 0x4c]
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 5
push eax
mov dword [ebp - 0x48], esi
call fcn.6701102b
mov edx, dword [ebp - 0x10]
mov ecx, dword [eax]
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x28]
mov dword [eax], edx
call sym.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_
lea ecx, [ebp - 0x2c]
call sym.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_
lea ecx, [ebp - 0x30]
call sym.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_
lea ecx, [ebp - 0x34]
call sym.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], bl
call sym.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_
mov eax, dword [ebp - 0x10]
cmp dword [eax + 4], ebx
je 0x670db2ab
lea eax, [ebp - 0x10]
push eax
call sym.Qt5Core.dll_public:_static_bool___cdecl_QFile::exists_class_QString_const__
pop ecx
test al, al
jne 0x670db319
lea eax, [ebp - 0x40]
push str.HOME
push eax
call sym.Qt5Core.dll_class_QByteArray___cdecl_qgetenv_char_const__
push eax
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 6
push eax
call sym.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromLocal8Bit_class_QByteArray_const__
mov edx, dword [ebp - 0x10]
add esp, 0x10
mov ecx, dword [eax]
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x3c]
mov dword [eax], edx
call sym.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], bl
call sym.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_
mov eax, dword [ebp - 0x10]
cmp dword [eax + 4], ebx
je 0x670db2fd
lea eax, [ebp - 0x10]
push eax
call sym.Qt5Core.dll_public:_static_bool___cdecl_QFile::exists_class_QString_const__
pop ecx
test al, al
jne 0x670db319
lea eax, [ebp - 0x44]
push eax
call fcn.670dc489
mov edx, dword [ebp - 0x10]
pop ecx
mov ecx, dword [eax]
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x44]
mov dword [eax], edx
call sym.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_
lea eax, [ebp - 0x10]
push eax
push dword [ebp + 8]
call sym.Qt5Core.dll_public:_static_class_QString___cdecl_QDir::fromNativeSeparators_class_QString_const__
pop ecx
pop ecx
lea ecx, [ebp - 0x10]
call sym.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_
mov eax, dword [ebp + 8]
call fcn.671a2adc
ret