Function at 0x1001a68
Capabilities:
Get common file path
Get program files directory

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x624
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
lea eax, [ebp - 0x61c]
push eax
xor esi, esi
push esi
push esi
push 0x26
push esi
mov dword [ebp - 0x624], 0x2c
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov edi, eax
cmp edi, esi
je 0x1001ae3
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call sub.WDSCORE.dll_CurrentIP
push eax
push 0x10015a4
push 0x10012c0
push 0x27
push esi
push 0x10012b8
push esi
push edi
push 0x1001548
push 0x2000000
call fcn.010016e9
add esp, 0xc
push eax
call sub.WDSCORE.dll_WdsSetupLogMessageW
jmp 0x1001d18
push ebx
push 0x1001124
push 0x1001100
lea eax, [ebp - 0x61c]
push eax
push 0x1001534
mov ebx, 0x104
push ebx
push 0x1003058
call fcn.01001704
add esp, 0x18
mov edi, eax
push esi
cmp edi, esi
je 0x1001b40
push esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call sub.WDSCORE.dll_CurrentIP
push eax
push 0x10015a4
push 0x10012c0
push 0x2b
push esi
push 0x10012b8
push esi
push edi
push 0x10014d8
jmp 0x1001d04
push ebx
lea eax, [ebp - 0x20c]
push eax
mov edi, 0x1001144
push edi
push 0x10011c4
push 0x80000002
call fcn.01002479
test al, al
je 0x1001bb6
push 0x1001168
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x1001bb6
push 0x1001168
push edi
push esi
call fcn.01001763
mov edi, eax
cmp edi, esi
je 0x1001be5
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call sub.WDSCORE.dll_CurrentIP
push eax
push 0x10015a4
push 0x10012c0
push 0x39
push esi
push 0x10012b8
push esi
push edi
push 0x1001370
jmp 0x1001d04
push 0x1001174
push edi
push esi
call fcn.01001763
mov edi, eax
cmp edi, esi
je 0x1001be5
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call sub.WDSCORE.dll_CurrentIP
push eax
push 0x10015a4
push 0x10012c0
push 0x42
jmp 0x1001ba4
mov dword [ebp - 0x620], 1
push dword [ebp - 0x620]
lea eax, [ebp - 0x414]
push 0x1001254
push ebx
push eax
call fcn.01001704
add esp, 0x10
mov edi, eax
push esi
cmp edi, esi
jne 0x1001cb3
push ebx
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x414]
push eax
push 0x10011c4
push 0x80000002
call fcn.01002479
test al, al
je 0x1001c8d
lea eax, [ebp - 0x624]
push eax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.msvcrt.dll_wcstok]
pop ecx
pop ecx
cmp eax, esi
je 0x1001c9e
push eax
push dword [ebp - 0x620]
call fcn.01001971
mov edi, eax
cmp edi, esi
je 0x1001c9e
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call sub.WDSCORE.dll_CurrentIP
push eax
push 0x10015a4
push 0x10012c0
push 0x59
push esi
push 0x10012b8
push esi
push edi
push 0x10013dc
jmp 0x1001d04
push dword [ebp - 0x620]
call fcn.01001872
mov edi, eax
cmp edi, esi
jne 0x1001cdc
inc dword [ebp - 0x620]
cmp dword [ebp - 0x620], 5
jle 0x1001bef
jmp 0x1001d17
push esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call sub.WDSCORE.dll_CurrentIP
push eax
push 0x10015a4
push 0x10012c0
push 0x4c
push esi
push 0x10012b8
push esi
push edi
push 0x1001480
jmp 0x1001d04
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call sub.WDSCORE.dll_CurrentIP
push eax
push 0x10015a4
push 0x10012c0
push 0x60
push esi
push 0x10012b8
push esi
push edi
push 0x1001440
push 0x2000000
call fcn.010016e9
add esp, 0xc
push eax
call sub.WDSCORE.dll_WdsSetupLogMessageW
pop ebx
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
xor eax, eax
pop esi
call fcn.01001fd0
leave
ret