Function at 0x40f7eb
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
and dword [ebp - 0x18], 0
and dword [ebp - 4], 0
mov dword [ebp - 0xc], 0x104
or dword [ebp - 0x10], 0xffffffff
and dword [ebp - 0x14], 0
and dword [ebp - 8], 0
cmp dword [ebp + 8], 0
je 0x40f83f
mov eax, dword [ebp + 8]
movzx eax, word [eax]
test eax, eax
je 0x40f83f
push 0
push dword [ebp + 8]
lea eax, [ebp - 4]
push eax
call fcn.0040be53
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jge 0x40f83d
jmp 0x40fa82
jmp 0x40f8ab
push dword [ebp - 0xc]
lea eax, [ebp - 4]
push eax
call fcn.0040bd4f
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jge 0x40f85e
jmp 0x40fa82
push dword [ebp - 4]
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
jne 0x40f8ab
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x18], eax
push dword [ebp - 0x18]
call fcn.00407c6d
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jl 0x40f88f
mov dword [ebp - 0x18], 0x80004005
push dword [ebp - 0x18]
push 0x1d7
push 0x405eb4
call fcn.0040e33f
jmp 0x40fa82
cmp dword [ebp + 0xc], 0
je 0x40f98d
mov eax, dword [ebp + 0xc]
movzx eax, word [eax]
test eax, eax
je 0x40f98d
mov dword [ebp - 0x1c], 1
jmp 0x40f8d3
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 0x10]
ja 0x40f98d
cmp dword [ebp - 0x10], 0xffffffff
jne 0x40f98d
push dword [ebp - 0x1c]
push dword [ebp + 0xc]
lea eax, [ebp - 0x14]
push eax
call fcn.0040c486
add esp, 0xc
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jge 0x40f90e
jmp 0x40fa82
push dword [ebp - 0x14]
push dword [ebp - 4]
push 0x405f04
lea eax, [ebp - 8]
push eax
call fcn.0040c486
add esp, 0x10
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jge 0x40f938
jmp 0x40fa82
push 0
push dword [ebp + 0x14]
push 1
push 0
push 5
push 0x40000000
push dword [ebp - 8]
call fcn.004103b7
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffff
jne 0x40f988
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00407c6d
mov dword [ebp - 0x18], eax
push 0x50
call fcn.00407c6d
cmp eax, dword [ebp - 0x18]
jne 0x40f978
and dword [ebp - 0x18], 0
cmp dword [ebp - 0x18], 0
jge 0x40f988
jmp 0x40fa82
jmp 0x40f8cc
cmp dword [ebp - 0x10], 0xffffffff
jne 0x40fa5e
push 0x104
lea eax, [ebp - 8]
push eax
call fcn.0040bd4f
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jge 0x40f9b8
jmp 0x40fa82
push dword [ebp - 8]
push 0
push 0x405f10
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
test eax, eax
jne 0x40fa06
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x18], eax
push dword [ebp - 0x18]
call fcn.00407c6d
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jl 0x40f9f0
mov dword [ebp - 0x18], 0x80004005
push dword [ebp - 0x18]
push 0x1fc
push 0x405eb4
call fcn.0040e33f
jmp 0x40fa82
push 0
push dword [ebp + 0x14]
push 3
push 0
push 5
push 0x40000000
push dword [ebp - 8]
call fcn.004103b7
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffff
jne 0x40fa5e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x18], eax
push dword [ebp - 0x18]
call fcn.00407c6d
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jl 0x40fa48
mov dword [ebp - 0x18], 0x80004005
push dword [ebp - 0x18]
push 0x202
push 0x405eb4
call fcn.0040e33f
jmp 0x40fa82
cmp dword [ebp + 0x18], 0
je 0x40fa70
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
mov dword [eax], ecx
and dword [ebp - 8], 0
cmp dword [ebp + 0x1c], 0
je 0x40fa82
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x10]
mov dword [eax], ecx
or dword [ebp - 0x10], 0xffffffff
cmp dword [ebp - 0x10], 0xffffffff
je 0x40fa91
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x14], 0
je 0x40fa9f
push dword [ebp - 0x14]
call fcn.0040c820
cmp dword [ebp - 8], 0
je 0x40faad
push dword [ebp - 8]
call fcn.0040c820
cmp dword [ebp - 4], 0
je 0x40fabb
push dword [ebp - 4]
call fcn.0040c820
mov eax, dword [ebp - 0x18]
leave
ret 0x18