Function at 0x1001c8e0
Capabilities:
Get common file path

Disassembly:
sub esp, 0x110
mov eax, dword [0x1008d0a0]
xor eax, esp
mov dword [esp + 0x10c], eax
mov ecx, 0x104
mov eax, esi
jmp 0x1001c900
cmp byte [eax], 0
je 0x1001c90f
add eax, 1
sub ecx, 1
jne 0x1001c900
jmp 0x1001c92e
test ecx, ecx
je 0x1001c92e
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [esi + eax]
mov eax, 0x1007edf0
call fcn.100173c0
push str._NT_SYMBOL_PATH
lea eax, [esp + 8]
push eax
lea ecx, [esp + 8]
push ecx
call fcn.1004b484
add esp, 0xc
test eax, eax
je 0x1001c9b1
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x1001c95f
add eax, 1
sub ecx, 1
jne 0x1001c950
jmp 0x1001c97e
test ecx, ecx
je 0x1001c97e
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [esi + eax]
mov eax, 0x1007ee04
call fcn.100173c0
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x1001c994
add eax, 1
sub ecx, 1
jne 0x1001c985
jmp 0x1001c9b1
test ecx, ecx
je 0x1001c9b1
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [esi + eax]
mov eax, dword [esp]
call fcn.100173c0
push str._NT_ALT_SYMBOL_PATH
lea edx, [esp + 8]
push edx
lea eax, [esp + 8]
push eax
call fcn.1004b484
add esp, 0xc
test eax, eax
je 0x1001ca34
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x1001c9e2
add eax, 1
sub ecx, 1
jne 0x1001c9d3
jmp 0x1001ca01
test ecx, ecx
je 0x1001ca01
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, 0x1007ee04
call fcn.100173c0
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x1001ca17
add eax, 1
sub ecx, 1
jne 0x1001ca08
jmp 0x1001ca34
test ecx, ecx
je 0x1001ca34
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, dword [esp]
call fcn.100173c0
push str.SYSTEMROOT
lea ecx, [esp + 8]
push ecx
lea edx, [esp + 8]
push edx
call fcn.1004b484
add esp, 0xc
test eax, eax
je 0x1001cb78
mov ecx, 0x104
mov eax, esi
lea ebx, [ebx]
cmp byte [eax], 0
je 0x1001ca6f
add eax, 1
sub ecx, 1
jne 0x1001ca60
jmp 0x1001ca8e
test ecx, ecx
je 0x1001ca8e
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, 0x1007ee04
call fcn.100173c0
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x1001caa4
add eax, 1
sub ecx, 1
jne 0x1001ca95
jmp 0x1001cac1
test ecx, ecx
je 0x1001cac1
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, dword [esp]
call fcn.100173c0
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x1001cad7
add eax, 1
sub ecx, 1
jne 0x1001cac8
jmp 0x1001caf6
test ecx, ecx
je 0x1001caf6
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, 0x1007ee04
call fcn.100173c0
mov ecx, 0x104
mov eax, esi
lea ecx, [ecx]
cmp byte [eax], 0
je 0x1001cb0f
add eax, 1
sub ecx, 1
jne 0x1001cb00
jmp 0x1001cb2c
test ecx, ecx
je 0x1001cb2c
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, dword [esp]
call fcn.100173c0
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x1001cb55
add eax, 1
sub ecx, 1
jne 0x1001cb33
mov ecx, dword [esp + 0x10c]
xor ecx, esp
call fcn.10049338
add esp, 0x110
ret
test ecx, ecx
je 0x1001ccb5
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, str.System32
jmp 0x1001ccb0
push 0x103
lea eax, [esp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
je 0x1001ccb5
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x1001cba6
add eax, 1
sub ecx, 1
jne 0x1001cb97
jmp 0x1001cbc5
test ecx, ecx
je 0x1001cbc5
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, 0x1007ee04
call fcn.100173c0
mov ecx, 0x104
mov eax, esi
lea esp, [esp]
cmp byte [eax], 0
je 0x1001cbdf
add eax, 1
sub ecx, 1
jne 0x1001cbd0
jmp 0x1001cbfd
test ecx, ecx
je 0x1001cbfd
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
lea eax, [esp + 8]
call fcn.100173c0
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x1001cc13
add eax, 1
sub ecx, 1
jne 0x1001cc04
jmp 0x1001cc32
test ecx, ecx
je 0x1001cc32
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, 0x1007ee04
call fcn.100173c0
mov ecx, 0x104
mov eax, esi
lea esp, [esp]
cmp byte [eax], 0
je 0x1001cc4f
add eax, 1
sub ecx, 1
jne 0x1001cc40
jmp 0x1001cc6d
test ecx, ecx
je 0x1001cc6d
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
lea eax, [esp + 8]
call fcn.100173c0
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x1001cc96
add eax, 1
sub ecx, 1
jne 0x1001cc74
mov ecx, dword [esp + 0x10c]
xor ecx, esp
call fcn.10049338
add esp, 0x110
ret
test ecx, ecx
je 0x1001ccb5
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, str.System
call fcn.100173c0
mov ecx, dword [esp + 0x10c]
xor ecx, esp
call fcn.10049338
add esp, 0x110
ret