Function at 0x100081e1
Capabilities:
Get common file path

Disassembly:
push ebp
mov edx, 0xf
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x100081e7
call fcn.1001f500
push dword [esp + 0x50]
call fcn.10019220
mov edx, dword [esp + 0x44]
lea ecx, [esp]
call fcn.10018000
mov edx, dword [esp + 0x48]
lea ecx, [esp + 4]
call fcn.10018000
mov edx, dword [esp + 0x4c]
lea ecx, [esp + 8]
call fcn.10018000
push edx
call fcn.1001f360
pop edx
push eax
push edx
call fcn.1001f360
pop edx
push eax
push 0x104
call fcn.1001b630
lea eax, [esp + 0x10]
push eax
call fcn.1001f400
push 0x104
mov eax, dword [esp + 0x10]
push eax
call sub.KERNEL32.dll_GetSystemDirectoryW
push edx
call fcn.1001f360
pop edx
push eax
push edx
call fcn.1001f360
pop edx
push eax
lea eax, [0x100275d6]
push eax
push dword [esp + 0x18]
call fcn.1001bc70
lea edx, str._version.dll
push edx
call fcn.1001f3a0
lea eax, [esp + 0x10]
push eax
call fcn.1001f400
push dword [esp + 0xc]
push 0xffffffff
call fcn.1001cdf1
mov dword [esp + 0x10], eax
lea eax, str.GetFileVersionInfoW
push eax
push dword [esp + 0x14]
call fcn.1001ce4b
mov dword [esp + 0x14], eax
lea eax, str.GetFileVersionInfoSizeW
push eax
push dword [esp + 0x14]
call fcn.1001ce4b
mov dword [esp + 0x18], eax
lea eax, str.VerQueryValueW
push eax
push dword [esp + 0x14]
call fcn.1001ce4b
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 0x1000848d
push dword [esp + 0x34]
call fcn.1001f140
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 0x10008484
push dword [esp + 8]
lea edx, [0x10027028]
pop ecx
call fcn.100191b0
je 0x100083fb
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 0x100083fb
push edx
call fcn.1001f360
pop edx
push eax
push edx
call fcn.1001f360
pop edx
push eax
lea eax, [0x1002734c]
push eax
push 4
push edx
call fcn.1001f360
pop edx
push eax
push edx
call fcn.1001f360
pop edx
push eax
mov ebp, dword [esp + 0x50]
movsx eax, word [ebp]
cdq
push edx
push eax
call fcn.1001b460
call fcn.10019202
add dword [esp], edx
call fcn.1001bd10
push edx
call fcn.1001f360
pop edx
push eax
push edx
call fcn.1001f360
pop edx
push eax
lea eax, [0x1002734c]
push eax
push 4
push edx
call fcn.1001f360
pop edx
push eax
push edx
call fcn.1001f360
pop edx
push eax
mov ebp, dword [esp + 0x54]
movsx eax, word [ebp + 2]
cdq
push edx
push eax
call fcn.1001b460
call fcn.10019202
add dword [esp], edx
call fcn.1001bd10
pop eax
lea eax, [esp + 0xc]
push eax
call fcn.1001f400
mov edx, dword [esp + 8]
xor ecx, ecx
call fcn.100191b0
jne 0x10008484
push edx
call fcn.1001f360
pop edx
push eax
lea edx, str.StringFileInfo_
push edx
call fcn.1001f3a0
mov edx, dword [esp + 0xc]
push edx
call fcn.1001f3a0
lea edx, [0x100275d6]
push edx
call fcn.1001f3a0
mov edx, dword [esp + 8]
push edx
call fcn.1001f3a0
lea eax, [esp + 8]
push eax
call fcn.1001f400
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 0x10008484
push edx
call fcn.1001f360
pop edx
push eax
push edx
call fcn.1001f360
pop edx
push eax
push dword [esp + 0x34]
call fcn.1001ece0
lea eax, [esp + 0x34]
push eax
call fcn.1001f400
push dword [esp + 0x28]
call fcn.1001f160
push dword [esp + 0x10]
call fcn.1001cd31
mov edx, dword [esp + 0x30]
push edx
call fcn.1001f360
pop edx
push eax
push edx
call fcn.1001f3a0
pop eax
push eax
call fcn.100191f0
pop edx
add eax, edx
jmp 0x100084be
push dword [esp]
call fcn.1001f560
push dword [esp + 4]
call fcn.1001f560
push dword [esp + 0x30]
call fcn.1001f560
push dword [esp + 8]
call fcn.1001f560
push dword [esp + 0xc]
call fcn.1001f560
add esp, 0x3c
pop ebp
ret 0xc