Function at 0x10018620
Capabilities:
Get common file path

Disassembly:
sub esp, 0x110
mov eax, dword [0x1007e090]
xor eax, esp
mov dword [esp + 0x10c], eax
mov ecx, 0x104
mov eax, esi
jmp 0x10018640
cmp byte [eax], 0
je 0x1001864f
add eax, 1
sub ecx, 1
jne 0x10018640
jmp 0x1001866e
test ecx, ecx
je 0x1001866e
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [esi + eax]
mov eax, 0x100703c0
call fcn.10013e40
push str._NT_SYMBOL_PATH
lea eax, [esp + 8]
push eax
lea ecx, [esp + 8]
push ecx
call fcn.10043f93
add esp, 0xc
test eax, eax
je 0x100186f1
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x1001869f
add eax, 1
sub ecx, 1
jne 0x10018690
jmp 0x100186be
test ecx, ecx
je 0x100186be
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [esi + eax]
mov eax, 0x100703d4
call fcn.10013e40
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x100186d4
add eax, 1
sub ecx, 1
jne 0x100186c5
jmp 0x100186f1
test ecx, ecx
je 0x100186f1
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [esi + eax]
mov eax, dword [esp]
call fcn.10013e40
push str._NT_ALT_SYMBOL_PATH
lea edx, [esp + 8]
push edx
lea eax, [esp + 8]
push eax
call fcn.10043f93
add esp, 0xc
test eax, eax
je 0x10018774
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x10018722
add eax, 1
sub ecx, 1
jne 0x10018713
jmp 0x10018741
test ecx, ecx
je 0x10018741
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, 0x100703d4
call fcn.10013e40
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x10018757
add eax, 1
sub ecx, 1
jne 0x10018748
jmp 0x10018774
test ecx, ecx
je 0x10018774
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, dword [esp]
call fcn.10013e40
push str.SYSTEMROOT
lea ecx, [esp + 8]
push ecx
lea edx, [esp + 8]
push edx
call fcn.10043f93
add esp, 0xc
test eax, eax
je 0x100188b8
mov ecx, 0x104
mov eax, esi
lea ebx, [ebx]
cmp byte [eax], 0
je 0x100187af
add eax, 1
sub ecx, 1
jne 0x100187a0
jmp 0x100187ce
test ecx, ecx
je 0x100187ce
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, 0x100703d4
call fcn.10013e40
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x100187e4
add eax, 1
sub ecx, 1
jne 0x100187d5
jmp 0x10018801
test ecx, ecx
je 0x10018801
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, dword [esp]
call fcn.10013e40
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x10018817
add eax, 1
sub ecx, 1
jne 0x10018808
jmp 0x10018836
test ecx, ecx
je 0x10018836
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, 0x100703d4
call fcn.10013e40
mov ecx, 0x104
mov eax, esi
lea ecx, [ecx]
cmp byte [eax], 0
je 0x1001884f
add eax, 1
sub ecx, 1
jne 0x10018840
jmp 0x1001886c
test ecx, ecx
je 0x1001886c
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, dword [esp]
call fcn.10013e40
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x10018895
add eax, 1
sub ecx, 1
jne 0x10018873
mov ecx, dword [esp + 0x10c]
xor ecx, esp
call fcn.10042345
add esp, 0x110
ret
test ecx, ecx
je 0x100189f5
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, str.System32
jmp 0x100189f0
push 0x103
lea eax, [esp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
je 0x100189f5
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x100188e6
add eax, 1
sub ecx, 1
jne 0x100188d7
jmp 0x10018905
test ecx, ecx
je 0x10018905
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, 0x100703d4
call fcn.10013e40
mov ecx, 0x104
mov eax, esi
lea esp, [esp]
cmp byte [eax], 0
je 0x1001891f
add eax, 1
sub ecx, 1
jne 0x10018910
jmp 0x1001893d
test ecx, ecx
je 0x1001893d
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
lea eax, [esp + 8]
call fcn.10013e40
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x10018953
add eax, 1
sub ecx, 1
jne 0x10018944
jmp 0x10018972
test ecx, ecx
je 0x10018972
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, 0x100703d4
call fcn.10013e40
mov ecx, 0x104
mov eax, esi
lea esp, [esp]
cmp byte [eax], 0
je 0x1001898f
add eax, 1
sub ecx, 1
jne 0x10018980
jmp 0x100189ad
test ecx, ecx
je 0x100189ad
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
lea eax, [esp + 8]
call fcn.10013e40
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x100189d6
add eax, 1
sub ecx, 1
jne 0x100189b4
mov ecx, dword [esp + 0x10c]
xor ecx, esp
call fcn.10042345
add esp, 0x110
ret
test ecx, ecx
je 0x100189f5
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, str.System
call fcn.10013e40
mov ecx, dword [esp + 0x10c]
xor ecx, esp
call fcn.10042345
add esp, 0x110
ret