Function at 0x100111eb
Capabilities:
Get common file path

Disassembly:
push 0x910
mov eax, 0x100166be
call fcn.10015554
mov dword [ebp - 0x87c], edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x898], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x874], eax
xor eax, eax
mov edi, eax
mov dword [ebp - 0x890], ecx
mov esi, eax
mov dword [ebp - 0x88c], edi
mov dword [ebp - 0x880], eax
mov dword [ebp - 0x884], eax
mov byte [ebp - 0x86d], al
mov dword [ebp - 0x878], edi
mov dword [ebp - 0x888], esi
mov dword [ebp - 4], 2
mov esi, dword [ebp - 0x874]
mov eax, esi
or dword [ebp - 0x894], 0xffffffff
and eax, 0xf0
mov dword [ebp - 0x89c], eax
cmp eax, 0x30
je 0x10011274
cmp eax, 0x10
jne 0x100114d6
mov eax, esi
and al, 0xf
cmp al, 2
jne 0x100114d6
test esi, 0xff00
jne 0x100114d6
xor ebx, ebx
inc ebx
cmp dword [0x1001a524], ebx
je 0x100114df
push 7
xor eax, eax
mov dword [ebp - 0x8bc], 0x20
pop ecx
lea edi, [ebp - 0x8b8]
rep stosd dword es:[edi], eax
xor edi, edi
mov dword [ebp - 0x8b8], edi
mov dword [ebp - 0x23c], edi
mov dword [ebp - 0x238], edi
mov dword [ebp - 0x234], edi
mov dword [ebp - 0x230], edi
lea eax, [ebp - 0x22c]
mov dword [ebp - 0x238], 0x200
mov dword [ebp - 0x230], eax
mov byte [ebp - 4], 3
mov dword [ebp - 0x23c], 2
mov eax, dword [ebp - 0x230]
xor ecx, ecx
mov word [eax], cx
mov byte [ebp - 4], 5
push ecx
push ecx
lea ecx, [ebp - 0x23c]
call fcn.1000bbd6
push 0x104
push dword [ebp - 0x230]
call dword [sym.imp.kernel32.dll_GetWindowsDirectoryW]
test eax, eax
je 0x100114cb
cmp eax, 0x104
jae 0x100114cb
push eax
lea ecx, [ebp - 0x23c]
call fcn.10012e2c
lea ecx, [ebp - 0x23c]
call fcn.1000a12c
mov ecx, dword [ebp - 0x234]
mov esi, dword [ebp - 0x23c]
not ecx
and ecx, ebx
shr esi, cl
sub esi, 2
lea ecx, [ebp - 0x23c]
call fcn.1000bc4f
mov ecx, dword [ebp - 0x234]
test cl, 0x10
je 0x10011390
push ebx
push dword [ebp - 0x238]
lea ecx, [ebp - 0x23c]
call fcn.10012e2c
mov ecx, dword [ebp - 0x234]
mov eax, dword [ebp - 0x230]
not ecx
and ecx, ebx
jne 0x100113a6
movsx ax, byte [eax + esi]
movzx eax, ax
jmp 0x100113ac
shl esi, cl
movzx eax, word [esi + eax]
push 0x5c
pop ecx
cmp ax, cx
je 0x100113c0
push ecx
lea ecx, [ebp - 0x23c]
call fcn.10010c5d
push 0x10007828
lea ecx, [ebp - 0x23c]
call fcn.1000de7f
lea ecx, [ebp - 0x23c]
call fcn.1000c91a
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x8b4], eax
lea eax, [ebp - 0x8bc]
push eax
call dword [sym.imp.kernel32.dll_CreateActCtxW]
mov dword [ebp - 0x894], eax
cmp eax, 0xffffffff
je 0x10011417
lea ecx, [ebp - 0x884]
push ecx
push eax
call dword [sym.imp.kernel32.dll_ActivateActCtx]
test eax, eax
jne 0x10011462
mov dword [ebp - 0x884], edi
mov edi, dword [ebp - 0x878]
mov esi, dword [ebp - 0x874]
mov ecx, dword [ebp - 0x880]
xor eax, eax
test ecx, ecx
setne al
inc eax
test ecx, ecx
mov dword [0x1001a524], eax
sete byte [ebp - 0x86e]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x23c]
call fcn.10012e2c
mov al, byte [ebp - 0x86e]
mov ecx, dword [ebp - 0x890]
mov edx, dword [ebp - 0x87c]
jmp 0x100114db
push edi
push edi
push 0x10007854
mov byte [ebp - 0x86d], bl
call dword [sym.imp.kernel32.dll_LoadLibraryExW]
mov edi, eax
mov dword [ebp - 0x88c], edi
test edi, edi
je 0x1001148b
mov esi, ebx
mov dword [ebp - 0x888], esi
jmp 0x10011491
mov esi, dword [ebp - 0x888]
cmp edi, 0xffffffff
je 0x1001141d
push 0x10007870
push edi
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [ebp - 0x880], eax
test eax, eax
jne 0x1001141d
test esi, esi
je 0x1001141d
push edi
call dword [sym.imp.kernel32.dll_FreeLibrary]
and dword [ebp - 0x888], 0
jmp 0x1001141d
mov edi, dword [ebp - 0x878]
jmp 0x10011423
xor ebx, ebx
inc ebx
mov al, bl
test al, al
je 0x100114ed
push esi
push ecx
call fcn.10012e2c
mov esi, eax
jmp 0x10011771
and dword [ebp - 0x878], 0
push 0x5c
pop eax
push eax
lea eax, [ebp - 0x918]
push 0
push eax
call sub.VCRUNTIME140_CLR0400.dll_memset
mov ecx, dword [ebp - 0x890]
xor edx, edx
shr esi, 7
xor eax, eax
and esi, 0x2000
mov dword [ebp - 0x91c], 0x60
add esp, 0xc
mov dword [ebp - 0x918], edx
cmp dword [ebp - 0x89c], 0x30
mov dword [ebp - 0x90c], edx
sete al
mov dword [ebp - 0x908], ecx
add eax, 0xfffe
mov dword [ebp - 0x910], esi
mov dword [ebp - 0x904], eax
mov eax, dword [ebp - 0x87c]
mov dword [ebp - 0x8fc], eax
mov eax, dword [ebp - 0x898]
mov dword [ebp - 0x900], ecx
mov dword [ebp - 0x8dc], eax
mov dword [ebp - 0x86c], edx
mov dword [ebp - 0x868], edx
mov dword [ebp - 0x864], edx
mov dword [ebp - 0x860], edx
lea eax, [ebp - 0x85c]
mov esi, 0x200
mov dword [ebp - 0x860], eax
mov dword [ebp - 0x868], esi
mov byte [ebp - 4], 7
mov dword [ebp - 0x86c], 2
mov eax, dword [ebp - 0x860]
xor ecx, ecx
mov word [eax], cx
mov byte [ebp - 4], 9
mov dword [ebp - 0x65c], edx
mov dword [ebp - 0x658], edx
mov dword [ebp - 0x654], edx
mov dword [ebp - 0x650], edx
lea eax, [ebp - 0x64c]
mov dword [ebp - 0x658], esi
mov dword [ebp - 0x650], eax
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x65c], 2
mov eax, dword [ebp - 0x650]
mov word [eax], cx
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x44c], edx
mov dword [ebp - 0x448], edx
mov dword [ebp - 0x444], edx
mov dword [ebp - 0x440], edx
lea eax, [ebp - 0x43c]
mov dword [ebp - 0x448], esi
mov dword [ebp - 0x440], eax
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x44c], 2
mov eax, dword [ebp - 0x440]
mov word [eax], cx
mov byte [ebp - 4], 0xf
push 0x2602
push 4
push ecx
lea ecx, [ebp - 0x86c]
call fcn.10010e4a
test eax, eax
js 0x10011677
lea ecx, [ebp - 0x86c]
call fcn.1000c91a
mov esi, dword [ebp - 0x860]
mov dword [ebp - 0x87c], esi
jmp 0x10011681
mov dword [ebp - 0x87c], 0x10007884
push 0x2603
push 4
push ecx
lea ecx, [ebp - 0x65c]
call fcn.10010e4a
test eax, eax
js 0x100116ab
lea ecx, [ebp - 0x65c]
call fcn.1000c91a
mov esi, dword [ebp - 0x650]
jmp 0x100116b0
mov esi, 0x10007894
push 0x2604
push 4
push ecx
lea ecx, [ebp - 0x44c]
call fcn.10010e4a
test eax, eax
js 0x100116da
lea ecx, [ebp - 0x44c]
call fcn.1000c91a
mov eax, dword [ebp - 0x440]
jmp 0x100116df
mov eax, 0x100078a4
mov ecx, dword [ebp - 0x87c]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x2c]
push 0
mov dword [ebp - 0x8f4], eax
lea eax, [ebp - 0x878]
push 0
push eax
lea eax, [ebp - 0x91c]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], esi
mov esi, dword [ebp - 0x880]
mov ecx, esi
push eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x24], 4
mov dword [ebp - 0x1c], 5
mov dword [ebp - 0x8f8], 3
call dword [0x1001b264]
call esi
mov esi, dword [ebp - 0x878]
test eax, eax
je 0x10011744
mov esi, dword [ebp - 0x898]
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x44c]
call fcn.10012e2c
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x65c]
call fcn.10012e2c
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x86c]
call fcn.10012e2c
cmp byte [ebp - 0x86d], 0
je 0x10011794
push dword [ebp - 0x884]
push 0
call dword [sym.imp.kernel32.dll_DeactivateActCtx]
push dword [ebp - 0x894]
call dword [sym.imp.kernel32.dll_ReleaseActCtx]
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x888], 0
je 0x100117af
push edi
call dword [sym.imp.kernel32.dll_FreeLibrary]
and dword [ebp - 0x888], 0
mov eax, esi
call fcn.100154fe
ret 0xc