Function at 0x1000f7c0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b51dc
mov eax, dword fs:[0]
push eax
mov eax, 0x1154
call fcn.100b3c30
mov eax, dword [0x1011b92c]
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
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
mov edi, ecx
call sub.MSVCR100.dll_memset
mov eax, dword [ebp + 8]
add esp, 0xc
sub eax, 0
je 0x1000f988
dec eax
jne 0x1000f9a8
lea ecx, [ebp - 0x218]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov esi, eax
test esi, esi
je 0x1000f968
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call fcn.1001ba80
add esp, 4
cmp eax, 0x1000
ja 0x1000f941
lea ecx, [ebp - 0x730]
call fcn.1000f720
lea edx, [ebp - 0x218]
mov ebx, 2
push edx
lea ecx, [ebp - 0xc48]
mov dword [ebp - 4], ebx
call fcn.1000f770
lea eax, [ebp - 0x730]
push eax
lea ecx, [ebp - 0xc48]
mov byte [ebp - 4], 3
call fcn.1000f600
test al, al
jne 0x1000f8cb
push 0x4674
push 0x101175c4
call fcn.1001b880
add esp, 8
lea ecx, [ebp - 0xc48]
mov byte [ebp - 4], bl
call fcn.1000f4b0
lea ecx, [ebp - 0x730]
mov dword [ebp - 4], 0xffffffff
call fcn.1000f4b0
xor al, al
jmp 0x1000fadf
lea eax, [ebp - 0x730]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x1000f8d4
sub eax, edx
sar eax, 1
lea ecx, [ebp + eax*2 - 0xc48]
push str.Low_
push ecx
call dword [sym.imp.MSVCR100.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x1000f921
add esi, 4
cmp esi, 0x104
jae 0x1000f892
push str.Low_
lea edx, [ebp - 0x218]
push edx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
test eax, eax
je 0x1000f892
lea ecx, [ebp - 0xc48]
mov byte [ebp - 4], bl
call fcn.1000f4b0
lea ecx, [ebp - 0x730]
mov dword [ebp - 4], 0xffffffff
call fcn.1000f4b0
cmp esi, 0xf6
jae 0x1000f9a8
lea eax, [ebp - 0x218]
push eax
push 0
push 0x100b9bc8
mov ecx, eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
test eax, eax
jne 0x1000facf
push 0x4674
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x101175c4
call fcn.1001b8e0
add esp, 0xc
xor al, al
jmp 0x1000fadf
lea edx, [ebp - 0x218]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov esi, eax
test esi, esi
je 0x1000f968
cmp esi, 0x104
jb 0x1000f9c1
push 0x4674
push 0x101175c4
call fcn.1001b880
add esp, 8
xor al, al
jmp 0x1000fadf
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call fcn.1001ba80
add esp, 4
cmp eax, 0x1000
ja 0x1000facf
lea ecx, [ebp - 0x1160]
call fcn.1000f720
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x730]
mov dword [ebp - 4], 0
call fcn.1000f770
lea ecx, [ebp - 0x1160]
push ecx
lea ecx, [ebp - 0x730]
mov byte [ebp - 4], 1
call fcn.1000f600
test al, al
jne 0x1000fa53
push 0x4674
push 0x101175c4
call fcn.1001b880
add esp, 8
lea ecx, [ebp - 0x730]
mov byte [ebp - 4], 0
call fcn.1000f4b0
lea ecx, [ebp - 0x1160]
mov dword [ebp - 4], 0xffffffff
call fcn.1000f4b0
xor al, al
jmp 0x1000fadf
lea eax, [ebp - 0x1160]
lea edx, [eax + 2]
mov ebx, 2
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x1000fa61
sub eax, edx
sar eax, 1
lea edx, [ebp + eax*2 - 0x730]
push str.Low_
push edx
call dword [sym.imp.MSVCR100.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x1000faae
add esi, 4
cmp esi, 0x104
jae 0x1000fa19
push str.Low_
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
test eax, eax
je 0x1000fa19
lea ecx, [ebp - 0x730]
mov byte [ebp - 4], 0
call fcn.1000f4b0
lea ecx, [ebp - 0x1160]
mov dword [ebp - 4], 0xffffffff
call fcn.1000f4b0
lea ecx, [ebp - 0x218]
push ecx
mov ecx, edi
call fcn.1000f510
mov al, 1
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.100b3ac1
mov esp, ebp
pop ebp
ret 4