Function at 0x1000e944
Capabilities:
Get common file path
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x208
push ebx
push esi
push edi
call fcn.100052df
xor edi, edi
cmp dword [0x1002b740], edi
jne 0x1000ec68
push 0x14
pop eax
call sub.ntdll.dll__alloca_probe
mov eax, esp
cmp eax, edi
je 0x1000e982
push 0x93
push 0x13
mov edx, 0x10029630
call fcn.100117e3
mov ebx, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push eax
call ebx
mov esi, dword [sym.imp.SHLWAPI.dll_PathAppendA]
test eax, eax
je 0x1000ea52
call fcn.100021e8
lea edx, [ebp - 0x104]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1000e9a6
push 1
call fcn.10006923
push eax
lea eax, [ebp - 0x104]
push eax
call esi
lea eax, [ebp - 0x104]
push eax
call fcn.1001253a
push 8
pop eax
call sub.ntdll.dll__alloca_probe
mov eax, esp
cmp eax, edi
je 0x1000e9ec
push 0x98
push 4
mov edx, 0x1002977c
call fcn.100117e3
push eax
lea eax, [ebp - 0x104]
push eax
call esi
lea eax, [ebp - 0x208]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1000e9ff
lea ecx, [ebp - 0x208]
push ecx
lea ecx, [ebp - 0x104]
sub eax, edx
push ecx
call fcn.10012238
test eax, eax
je 0x1000ec68
push 8
pop eax
call sub.ntdll.dll__alloca_probe
mov eax, esp
cmp eax, edi
je 0x1000ea42
push 0x8c
push 6
mov edx, 0x10028198
call fcn.100117e3
push 1
push eax
push 1
call fcn.10006923
push eax
call fcn.1000adce
lea eax, [ebp - 0x208]
push eax
push edi
push edi
push 0x23
push edi
mov edi, dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
call edi
test eax, eax
js 0x1000eb61
push 0x14
pop eax
call sub.ntdll.dll__alloca_probe
mov eax, esp
test eax, eax
je 0x1000ea8d
push 0x94
push 0x10
mov edx, 0x10029394
call fcn.100117e3
push eax
lea eax, [ebp - 0x208]
push eax
call esi
lea eax, [ebp - 0x208]
push eax
call ebx
test eax, eax
je 0x1000eb61
call fcn.100021e8
lea edx, [ebp - 0x104]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1000eab5
push 1
call fcn.10006923
push eax
lea eax, [ebp - 0x104]
push eax
call esi
lea eax, [ebp - 0x104]
push eax
call fcn.1001253a
push 8
pop eax
call sub.ntdll.dll__alloca_probe
mov eax, esp
test eax, eax
je 0x1000eafb
push 0x98
push 4
mov edx, 0x1002977c
call fcn.100117e3
push eax
lea eax, [ebp - 0x104]
push eax
call esi
lea eax, [ebp - 0x208]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1000eb0e
lea ecx, [ebp - 0x208]
push ecx
lea ecx, [ebp - 0x104]
sub eax, edx
push ecx
call fcn.10012238
test eax, eax
je 0x1000ec68
push 0xc
pop eax
call sub.ntdll.dll__alloca_probe
mov eax, esp
test eax, eax
je 0x1000eb51
push 0x97
push 9
mov edx, 0x10028130
call fcn.100117e3
push 1
push eax
push 1
call fcn.10006923
push eax
call fcn.1000adce
lea eax, [ebp - 0x208]
push eax
xor eax, eax
push eax
push eax
push 0x23
push eax
call edi
test eax, eax
js 0x1000ec68
push 0x18
pop eax
call sub.ntdll.dll__alloca_probe
mov eax, esp
test eax, eax
je 0x1000eb98
push 0x96
push 0x14
mov edx, 0x100293e0
call fcn.100117e3
push eax
lea eax, [ebp - 0x208]
push eax
call esi
lea eax, [ebp - 0x208]
push eax
call ebx
test eax, eax
je 0x1000ec68
call fcn.100021e8
lea edx, [ebp - 0x104]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1000ebc0
push 1
call fcn.10006923
push eax
lea eax, [ebp - 0x104]
push eax
call esi
lea eax, [ebp - 0x104]
push eax
call fcn.1001253a
push 8
pop eax
call sub.ntdll.dll__alloca_probe
mov eax, esp
test eax, eax
je 0x1000ec06
push 0x98
push 4
mov edx, 0x1002977c
call fcn.100117e3
push eax
lea eax, [ebp - 0x104]
push eax
call esi
lea eax, [ebp - 0x208]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1000ec19
lea ecx, [ebp - 0x208]
push ecx
lea ecx, [ebp - 0x104]
sub eax, edx
push ecx
call fcn.10012238
test eax, eax
je 0x1000ec68
push 4
pop eax
call sub.ntdll.dll__alloca_probe
mov eax, esp
test eax, eax
je 0x1000ec58
push 0x90
push 3
mov edx, 0x1002816c
call fcn.100117e3
push 1
push eax
push 1
call fcn.10006923
push eax
call fcn.1000adce
lea esp, [ebp - 0x214]
pop edi
pop esi
pop ebx
leave
ret