Function at 0x10007d1b
Capabilities:
Get common file path

Disassembly:
push ebp
mov edx, 0xf
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x10007d21
call fcn.1001c480
push dword [esp + 0x50]
call fcn.100161a0
mov edx, dword [esp + 0x44]
lea ecx, [esp]
call fcn.10016000
mov edx, dword [esp + 0x48]
lea ecx, [esp + 4]
call fcn.10016000
mov edx, dword [esp + 0x4c]
lea ecx, [esp + 8]
call fcn.10016000
push edx
call fcn.1001c2e0
pop edx
push eax
push edx
call fcn.1001c2e0
pop edx
push eax
push 0x104
call fcn.100185b0
lea eax, [esp + 0x10]
push eax
call fcn.1001c380
push 0x104
mov eax, dword [esp + 0x10]
push eax
call sub.KERNEL32.dll_GetSystemDirectoryW
push edx
call fcn.1001c2e0
pop edx
push eax
push edx
call fcn.1001c2e0
pop edx
push eax
lea eax, [0x1001f5d6]
push eax
push dword [esp + 0x18]
call fcn.10018bf0
lea edx, str._version.dll
push edx
call fcn.1001c320
lea eax, [esp + 0x10]
push eax
call fcn.1001c380
push dword [esp + 0xc]
push 0xffffffff
call fcn.10019d71
mov dword [esp + 0x10], eax
lea eax, str.GetFileVersionInfoW
push eax
push dword [esp + 0x14]
call fcn.10019dcb
mov dword [esp + 0x14], eax
lea eax, str.GetFileVersionInfoSizeW
push eax
push dword [esp + 0x14]
call fcn.10019dcb
mov dword [esp + 0x18], eax
lea eax, str.VerQueryValueW
push eax
push dword [esp + 0x14]
call fcn.10019dcb
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 4]
push eax
call dword [esp + 0x20]
mov dword [esp + 0x34], eax
cmp dword [esp + 0x34], 0
je 0x10007fc7
push dword [esp + 0x34]
call fcn.1001c0c0
mov dword [esp + 0x28], eax
push dword [esp + 0x28]
push dword [esp + 0x38]
push 0
mov eax, dword [esp + 0xc]
push eax
call dword [esp + 0x24]
and eax, eax
je 0x10007fbe
push dword [esp + 8]
lea edx, [0x1001f028]
pop ecx
call fcn.10016130
je 0x10007f35
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, str.VarFileInfoTranslation
push eax
push dword [esp + 0x34]
call dword [esp + 0x2c]
and eax, eax
je 0x10007f35
push edx
call fcn.1001c2e0
pop edx
push eax
push edx
call fcn.1001c2e0
pop edx
push eax
lea eax, [0x1001f34c]
push eax
push 4
push edx
call fcn.1001c2e0
pop edx
push eax
push edx
call fcn.1001c2e0
pop edx
push eax
mov ebp, dword [esp + 0x50]
movsx eax, word [ebp]
cdq
push edx
push eax
call fcn.100183e0
call fcn.10016182
add dword [esp], edx
call fcn.10018c90
push edx
call fcn.1001c2e0
pop edx
push eax
push edx
call fcn.1001c2e0
pop edx
push eax
lea eax, [0x1001f34c]
push eax
push 4
push edx
call fcn.1001c2e0
pop edx
push eax
push edx
call fcn.1001c2e0
pop edx
push eax
mov ebp, dword [esp + 0x54]
movsx eax, word [ebp + 2]
cdq
push edx
push eax
call fcn.100183e0
call fcn.10016182
add dword [esp], edx
call fcn.10018c90
pop eax
lea eax, [esp + 0xc]
push eax
call fcn.1001c380
mov edx, dword [esp + 8]
xor ecx, ecx
call fcn.10016130
jne 0x10007fbe
push edx
call fcn.1001c2e0
pop edx
push eax
lea edx, str.StringFileInfo_
push edx
call fcn.1001c320
mov edx, dword [esp + 0xc]
push edx
call fcn.1001c320
lea edx, [0x1001f5d6]
push edx
call fcn.1001c320
mov edx, dword [esp + 8]
push edx
call fcn.1001c320
lea eax, [esp + 8]
push eax
call fcn.1001c380
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0xc]
push eax
push dword [esp + 0x34]
call dword [esp + 0x2c]
and eax, eax
je 0x10007fbe
push edx
call fcn.1001c2e0
pop edx
push eax
push edx
call fcn.1001c2e0
pop edx
push eax
push dword [esp + 0x34]
call fcn.1001bc60
lea eax, [esp + 0x34]
push eax
call fcn.1001c380
push dword [esp + 0x28]
call fcn.1001c0e0
push dword [esp + 0x10]
call fcn.10019cb1
mov edx, dword [esp + 0x30]
push edx
call fcn.1001c2e0
pop edx
push eax
push edx
call fcn.1001c320
pop eax
push eax
call fcn.10016170
pop edx
add eax, edx
jmp 0x10007ff8
push dword [esp]
call fcn.1001c4e0
push dword [esp + 4]
call fcn.1001c4e0
push dword [esp + 0x30]
call fcn.1001c4e0
push dword [esp + 8]
call fcn.1001c4e0
push dword [esp + 0xc]
call fcn.1001c4e0
add esp, 0x3c
pop ebp
ret 0xc