Function at 0x67151be0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x672993b6
mov eax, dword fs:[0]
push eax
sub esp, 0x38
push ebx
push esi
push edi
mov eax, dword [0x674c7008]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x10], sym.Qt5Core.dll_struct_QArrayData_const__const_const_QArrayData::shared_null
mov dword [ebp - 4], 0
mov eax, dword [0x674e274c]
cmp eax, 0xfffffffe
jle 0x67151c2c
call fcn.6714d7e0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push ecx
push 8
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x67151cf5
mov esi, dword [sym.imp.USERENV.dll_GetUserProfileDirectoryW]
lea eax, [ebp - 0x18]
push eax
push 0
push dword [ebp - 0x14]
mov dword [ebp - 0x18], 0
call esi
test eax, eax
jne 0x67151ce7
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x67151ce7
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.6728531a
add esp, 4
mov edi, eax
lea eax, [ebp - 0x18]
push eax
push edi
push dword [ebp - 0x14]
call esi
test eax, eax
je 0x67151cd0
push 0xffffffffffffffff
lea eax, [ebp - 0x40]
push edi
push eax
call sym.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromWCharArray_wchar_t_const___int_
add esp, 0xc
lea ecx, [ebp - 0x40]
mov esi, dword [eax]
mov dword [ebp - 0x10], esi
mov dword [eax], sym.Qt5Core.dll_struct_QArrayData_const__const_const_QArrayData::shared_null
call sym.Qt5Core.dll_public:_void___thiscall_QVector_class_QPoint_::destructor_void_
push edi
call fcn.67285397
add esp, 4
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x67151cf8
mov esi, dword [ebp - 0x10]
push edi
call fcn.67285397
add esp, 4
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x67151cf8
push dword [ebp - 0x14]
mov esi, dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x67151cf8
mov esi, dword [ebp - 0x10]
mov edi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
or ebx, 0xffffffff
cmp dword [esi + 4], 0
je 0x67151d1b
lea eax, [ebp - 0x10]
push eax
call sym.Qt5Core.dll_public:_static_bool___cdecl_QFileInfo::exists_class_QString_const__
add esp, 4
test al, al
jne 0x6715201e
lea eax, [ebp - 0x20]
push str.USERPROFILE
push eax
call sym.Qt5Core.dll_class_QByteArray___cdecl_qgetenv_char_const__
push eax
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 1
push eax
call sym.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromLocal8Bit_class_QByteArray_const__
add esp, 0x10
mov ecx, dword [eax]
mov dword [eax], esi
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], ecx
mov eax, dword [eax]
test eax, eax
je 0x67151d60
cmp eax, 0xffffffff
je 0x67151d70
mov eax, dword [ebp - 0x1c]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
setne al
test al, al
jne 0x67151d70
mov eax, dword [ebp - 0x1c]
cmp eax, 0x674c7cb4
je 0x67151d70
push eax
call edi
add esp, 4
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
test eax, eax
je 0x67151d93
cmp eax, 0xffffffff
je 0x67151da3
mov eax, dword [ebp - 0x20]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
setne al
test al, al
jne 0x67151da3
mov eax, dword [ebp - 0x20]
cmp eax, 0x674c7cb4
je 0x67151da3
push eax
call edi
add esp, 4
mov esi, dword [ebp - 0x10]
cmp dword [esi + 4], 0
je 0x67151dc0
lea eax, [ebp - 0x10]
push eax
call sym.Qt5Core.dll_public:_static_bool___cdecl_QFileInfo::exists_class_QString_const__
add esp, 4
test al, al
jne 0x6715201e
lea eax, [ebp - 0x30]
push str.HOMEPATH
push eax
call sym.Qt5Core.dll_class_QByteArray___cdecl_qgetenv_char_const__
push eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 2
push eax
call sym.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromLocal8Bit_class_QByteArray_const__
mov esi, eax
lea eax, [ebp - 0x28]
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 - 0x24]
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 byte [ebp - 4], 6
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [eax]
test eax, eax
je 0x67151e1b
cmp eax, 0xffffffff
je 0x67151e1b
mov eax, dword [ebp - 0x20]
lock inc dword [eax]
push esi
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x44], 2
call sym.Qt5Core.dll_public:_class_QString____thiscall_QString::append_class_QString_const__
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], eax
mov eax, dword [ecx]
test eax, eax
je 0x67151e4d
cmp eax, 0xffffffff
je 0x67151e5b
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
setne al
test al, al
jne 0x67151e5b
cmp ecx, 0x674c7cb4
je 0x67151e5b
push ecx
call edi
add esp, 4
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
test eax, eax
je 0x67151e7a
cmp eax, 0xffffffff
je 0x67151e8a
mov eax, dword [ebp - 0x24]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
setne al
test al, al
jne 0x67151e8a
mov eax, dword [ebp - 0x24]
cmp eax, 0x674c7cb4
je 0x67151e8a
push eax
call edi
add esp, 4
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
test eax, eax
je 0x67151ea9
cmp eax, 0xffffffff
je 0x67151eb9
mov eax, dword [ebp - 0x28]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
setne al
test al, al
jne 0x67151eb9
mov eax, dword [ebp - 0x28]
cmp eax, 0x674c7cb4
je 0x67151eb9
push eax
call edi
add esp, 4
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
test eax, eax
je 0x67151ed8
cmp eax, 0xffffffff
je 0x67151ee8
mov eax, dword [ebp - 0x2c]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
setne al
test al, al
jne 0x67151ee8
mov eax, dword [ebp - 0x2c]
cmp eax, 0x674c7cb4
je 0x67151ee8
push eax
call edi
add esp, 4
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
test eax, eax
je 0x67151f0b
cmp eax, 0xffffffff
je 0x67151f1b
mov eax, dword [ebp - 0x30]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
setne al
test al, al
jne 0x67151f1b
mov eax, dword [ebp - 0x30]
cmp eax, 0x674c7cb4
je 0x67151f1b
push eax
call edi
add esp, 4
mov esi, dword [ebp - 0x10]
cmp dword [esi + 4], 0
je 0x67151f38
lea eax, [ebp - 0x10]
push eax
call sym.Qt5Core.dll_public:_static_bool___cdecl_QFileInfo::exists_class_QString_const__
add esp, 4
test al, al
jne 0x6715201e
lea eax, [ebp - 0x38]
push str.HOME
push eax
call sym.Qt5Core.dll_class_QByteArray___cdecl_qgetenv_char_const__
push eax
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 7
push eax
call sym.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromLocal8Bit_class_QByteArray_const__
add esp, 0x10
mov ecx, dword [eax]
mov dword [eax], esi
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x10], ecx
mov eax, dword [eax]
test eax, eax
je 0x67151f7d
cmp eax, 0xffffffff
je 0x67151f8d
mov eax, dword [ebp - 0x34]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
setne al
test al, al
jne 0x67151f8d
mov eax, dword [ebp - 0x34]
cmp eax, 0x674c7cb4
je 0x67151f8d
push eax
call edi
add esp, 4
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
test eax, eax
je 0x67151fb0
cmp eax, 0xffffffff
je 0x67151fc0
mov eax, dword [ebp - 0x38]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
setne al
test al, al
jne 0x67151fc0
mov eax, dword [ebp - 0x38]
cmp eax, 0x674c7cb4
je 0x67151fc0
push eax
call edi
add esp, 4
mov esi, dword [ebp - 0x10]
cmp dword [esi + 4], 0
je 0x67151fd9
lea eax, [ebp - 0x10]
push eax
call sym.Qt5Core.dll_public:_static_bool___cdecl_QFileInfo::exists_class_QString_const__
add esp, 4
test al, al
jne 0x6715201e
lea eax, [ebp - 0x3c]
push eax
call sym.Qt5Core.dll_public:_static_class_QString___cdecl_QFileSystemEngine::rootPath_void_
add esp, 4
mov ecx, dword [eax]
mov dword [eax], esi
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x10], ecx
mov eax, dword [eax]
test eax, eax
je 0x6715200b
cmp eax, 0xffffffff
je 0x6715201b
mov eax, dword [ebp - 0x3c]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
setne al
test al, al
jne 0x6715201b
mov eax, dword [ebp - 0x3c]
cmp eax, 0x674c7cb4
je 0x6715201b
push eax
call edi
add esp, 4
mov esi, dword [ebp - 0x10]
lea eax, [ebp - 0x10]
push eax
push dword [ebp + 8]
call sym.Qt5Core.dll_public:_static_class_QString___cdecl_QDir::fromNativeSeparators_class_QString_const__
mov eax, dword [esi]
add esp, 8
mov ecx, dword [ebp - 0x10]
test eax, eax
je 0x67152047
cmp eax, 0xffffffff
je 0x67152055
lock xadd dword [ecx], ebx
dec ebx
setne dl
test dl, dl
jne 0x67152055
cmp ecx, 0x674c7cb4
je 0x67152055
push ecx
call edi
add esp, 4
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret