Function at 0x7f2e373a
Capabilities:
Get common file path

Disassembly:
push ebp
lea ebp, [esp - 0x9c]
sub esp, 0x11c
cmp dword [0x7f307acc], 0
mov eax, dword [0x7f307090]
push ebx
push esi
mov dword [ebp + 0x98], eax
push edi
je 0x7f2e3782
push dword [ebp + 0xb0]
push dword [ebp + 0xac]
push dword [ebp + 0xa8]
push dword [ebp + 0xa4]
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
jmp 0x7f2e397d
mov eax, dword [ebp + 0xa4]
cmp eax, 0xffff
mov edi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ebx, 0x7f2d2c28
jbe 0x7f2e384a
push eax
call fcn.7f2da99a
mov esi, eax
mov eax, dword [0x7f307088]
inc esi
imul eax, esi
pop ecx
push eax
call fcn.7f2d53a1
test eax, eax
je 0x7f2e37d6
mov eax, dword [0x7f307088]
imul eax, esi
test eax, eax
je 0x7f2e37d6
add eax, 3
and eax, 0xfffffffc
call fcn.7f2fd060
mov dword [ebp - 0x78], esp
jmp 0x7f2e37da
and dword [ebp - 0x78], 0
cmp dword [ebp - 0x78], 0
je 0x7f2e384d
xor eax, eax
cmp dword [0x7f307acc], eax
mov dword [ebp - 0x7c], eax
jne 0x7f2e37f8
cmp byte [0x7f30708d], al
mov dword [ebp - 0x74], eax
je 0x7f2e37ff
mov dword [ebp - 0x74], 0x400
call dword [sym.imp.KERNEL32.dll_AreFileApisANSI]
test eax, eax
mov eax, dword [0x7f307ac8]
jne 0x7f2e3813
mov eax, dword [0x7f307084]
lea ecx, [ebp - 0x7c]
push ecx
mov ecx, dword [0x7f307088]
imul ecx, esi
push ebx
push ecx
push dword [ebp - 0x78]
push esi
push dword [ebp + 0xa4]
push dword [ebp - 0x74]
push eax
call edi
cmp dword [ebp - 0x7c], 0
jne 0x7f2e3846
test eax, eax
je 0x7f2e3846
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x7f2e384d
push 0x7b
jmp 0x7f2e383e
mov dword [ebp - 0x78], eax
mov eax, dword [ebp + 0xa8]
cmp eax, 0xffff
jbe 0x7f2e390a
push eax
call fcn.7f2da99a
mov esi, eax
mov eax, dword [0x7f307088]
inc esi
imul eax, esi
pop ecx
push eax
call fcn.7f2d53a1
test eax, eax
je 0x7f2e3896
mov eax, dword [0x7f307088]
imul eax, esi
test eax, eax
je 0x7f2e3896
add eax, 3
and eax, 0xfffffffc
call fcn.7f2fd060
mov dword [ebp - 0x74], esp
jmp 0x7f2e389a
and dword [ebp - 0x74], 0
cmp dword [ebp - 0x74], 0
je 0x7f2e3913
xor eax, eax
cmp dword [0x7f307acc], eax
mov dword [ebp - 0x80], eax
jne 0x7f2e38b8
cmp byte [0x7f30708d], al
mov dword [ebp - 0x7c], eax
je 0x7f2e38bf
mov dword [ebp - 0x7c], 0x400
call dword [sym.imp.KERNEL32.dll_AreFileApisANSI]
test eax, eax
mov eax, dword [0x7f307ac8]
jne 0x7f2e38d3
mov eax, dword [0x7f307084]
lea ecx, [ebp - 0x80]
push ecx
mov ecx, dword [0x7f307088]
imul ecx, esi
push ebx
push ecx
push dword [ebp - 0x74]
push esi
push dword [ebp + 0xa8]
push dword [ebp - 0x7c]
push eax
call edi
cmp dword [ebp - 0x80], 0
jne 0x7f2e3906
test eax, eax
je 0x7f2e3906
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x7f2e390d
push 0x7b
jmp 0x7f2e38fe
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
jne 0x7f2e391c
cmp dword [ebp + 0xa8], 0
jne 0x7f2e392b
cmp dword [ebp - 0x78], 0
jne 0x7f2e392f
cmp dword [ebp + 0xa4], 0
je 0x7f2e392f
xor eax, eax
jmp 0x7f2e397d
lea eax, [ebp - 0x70]
push eax
push dword [ebp + 0xac]
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
mov esi, eax
test esi, esi
je 0x7f2e397b
call dword [sym.imp.KERNEL32.dll_AreFileApisANSI]
test eax, eax
mov ecx, dword [0x7f307ac8]
jne 0x7f2e3961
mov ecx, dword [0x7f307084]
mov eax, 0x104
push eax
push dword [ebp + 0xb0]
push eax
lea eax, [ebp - 0x70]
push eax
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, esi
lea esp, [ebp - 0x8c]
mov ecx, dword [ebp + 0x98]
call fcn.7f2fd123
pop edi
pop esi
pop ebx
add ebp, 0x9c
leave
ret 0x10