Function at 0x10007c3a
Capabilities:
Get common file path

Disassembly:
push ebp
mov edx, 0xf
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x10007c40
call fcn.1001c490
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.1001c2f0
pop edx
push eax
push edx
call fcn.1001c2f0
pop edx
push eax
push 0x104
call fcn.100185c0
lea eax, [esp + 0x10]
push eax
call fcn.1001c390
push 0x104
mov eax, dword [esp + 0x10]
push eax
call sub.KERNEL32.dll_GetSystemDirectoryW
push edx
call fcn.1001c2f0
pop edx
push eax
push edx
call fcn.1001c2f0
pop edx
push eax
lea eax, [0x1001f5d6]
push eax
push dword [esp + 0x18]
call fcn.10018cf0
lea edx, str._version.dll
push edx
call fcn.1001c330
lea eax, [esp + 0x10]
push eax
call fcn.1001c390
push dword [esp + 0xc]
push 0xffffffff
call fcn.10019d81
mov dword [esp + 0x10], eax
lea eax, str.GetFileVersionInfoW
push eax
push dword [esp + 0x14]
call fcn.10019ddb
mov dword [esp + 0x14], eax
lea eax, str.GetFileVersionInfoSizeW
push eax
push dword [esp + 0x14]
call fcn.10019ddb
mov dword [esp + 0x18], eax
lea eax, str.VerQueryValueW
push eax
push dword [esp + 0x14]
call fcn.10019ddb
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 0x10007ee6
push dword [esp + 0x34]
call fcn.1001c0d0
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 0x10007edd
push dword [esp + 8]
lea edx, [0x1001f028]
pop ecx
call fcn.10016130
je 0x10007e54
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 0x10007e54
push edx
call fcn.1001c2f0
pop edx
push eax
push edx
call fcn.1001c2f0
pop edx
push eax
lea eax, [0x1001f34c]
push eax
push 4
push edx
call fcn.1001c2f0
pop edx
push eax
push edx
call fcn.1001c2f0
pop edx
push eax
mov ebp, dword [esp + 0x50]
movsx eax, word [ebp]
cdq
push edx
push eax
call fcn.100183f0
call fcn.10016182
add dword [esp], edx
call fcn.10018610
push edx
call fcn.1001c2f0
pop edx
push eax
push edx
call fcn.1001c2f0
pop edx
push eax
lea eax, [0x1001f34c]
push eax
push 4
push edx
call fcn.1001c2f0
pop edx
push eax
push edx
call fcn.1001c2f0
pop edx
push eax
mov ebp, dword [esp + 0x54]
movsx eax, word [ebp + 2]
cdq
push edx
push eax
call fcn.100183f0
call fcn.10016182
add dword [esp], edx
call fcn.10018610
pop eax
lea eax, [esp + 0xc]
push eax
call fcn.1001c390
mov edx, dword [esp + 8]
xor ecx, ecx
call fcn.10016130
jne 0x10007edd
push edx
call fcn.1001c2f0
pop edx
push eax
lea edx, str.StringFileInfo_
push edx
call fcn.1001c330
mov edx, dword [esp + 0xc]
push edx
call fcn.1001c330
lea edx, [0x1001f5d6]
push edx
call fcn.1001c330
mov edx, dword [esp + 8]
push edx
call fcn.1001c330
lea eax, [esp + 8]
push eax
call fcn.1001c390
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 0x10007edd
push edx
call fcn.1001c2f0
pop edx
push eax
push edx
call fcn.1001c2f0
pop edx
push eax
push dword [esp + 0x34]
call fcn.1001bc70
lea eax, [esp + 0x34]
push eax
call fcn.1001c390
push dword [esp + 0x28]
call fcn.1001c0f0
push dword [esp + 0x10]
call fcn.10019cc1
mov edx, dword [esp + 0x30]
push edx
call fcn.1001c2f0
pop edx
push eax
push edx
call fcn.1001c330
pop eax
push eax
call fcn.10016170
pop edx
add eax, edx
jmp 0x10007f17
push dword [esp]
call fcn.1001c4f0
push dword [esp + 4]
call fcn.1001c4f0
push dword [esp + 0x30]
call fcn.1001c4f0
push dword [esp + 8]
call fcn.1001c4f0
push dword [esp + 0xc]
call fcn.1001c4f0
add esp, 0x3c
pop ebp
ret 0xc