Function at 0x10019640
Capabilities:
Get common file path

Disassembly:
sub esp, 0x110
mov eax, dword [0x100880b0]
xor eax, esp
mov dword [esp + 0x10c], eax
mov ecx, 0x104
mov eax, esi
jmp 0x10019660
cmp byte [eax], 0
je 0x1001966f
add eax, 1
sub ecx, 1
jne 0x10019660
jmp 0x1001968e
test ecx, ecx
je 0x1001968e
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [esi + eax]
mov eax, 0x1007a25c
call fcn.10015430
push str._NT_SYMBOL_PATH
lea eax, [esp + 8]
push eax
lea ecx, [esp + 8]
push ecx
call fcn.10048a9e
add esp, 0xc
test eax, eax
je 0x10019711
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x100196bf
add eax, 1
sub ecx, 1
jne 0x100196b0
jmp 0x100196de
test ecx, ecx
je 0x100196de
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [esi + eax]
mov eax, 0x1007a270
call fcn.10015430
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x100196f4
add eax, 1
sub ecx, 1
jne 0x100196e5
jmp 0x10019711
test ecx, ecx
je 0x10019711
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [esi + eax]
mov eax, dword [esp]
call fcn.10015430
push str._NT_ALT_SYMBOL_PATH
lea edx, [esp + 8]
push edx
lea eax, [esp + 8]
push eax
call fcn.10048a9e
add esp, 0xc
test eax, eax
je 0x10019794
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x10019742
add eax, 1
sub ecx, 1
jne 0x10019733
jmp 0x10019761
test ecx, ecx
je 0x10019761
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, 0x1007a270
call fcn.10015430
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x10019777
add eax, 1
sub ecx, 1
jne 0x10019768
jmp 0x10019794
test ecx, ecx
je 0x10019794
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, dword [esp]
call fcn.10015430
push str.SYSTEMROOT
lea ecx, [esp + 8]
push ecx
lea edx, [esp + 8]
push edx
call fcn.10048a9e
add esp, 0xc
test eax, eax
je 0x100198d8
mov ecx, 0x104
mov eax, esi
lea ebx, [ebx]
cmp byte [eax], 0
je 0x100197cf
add eax, 1
sub ecx, 1
jne 0x100197c0
jmp 0x100197ee
test ecx, ecx
je 0x100197ee
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, 0x1007a270
call fcn.10015430
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x10019804
add eax, 1
sub ecx, 1
jne 0x100197f5
jmp 0x10019821
test ecx, ecx
je 0x10019821
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, dword [esp]
call fcn.10015430
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x10019837
add eax, 1
sub ecx, 1
jne 0x10019828
jmp 0x10019856
test ecx, ecx
je 0x10019856
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, 0x1007a270
call fcn.10015430
mov ecx, 0x104
mov eax, esi
lea ecx, [ecx]
cmp byte [eax], 0
je 0x1001986f
add eax, 1
sub ecx, 1
jne 0x10019860
jmp 0x1001988c
test ecx, ecx
je 0x1001988c
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, dword [esp]
call fcn.10015430
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x100198b5
add eax, 1
sub ecx, 1
jne 0x10019893
mov ecx, dword [esp + 0x10c]
xor ecx, esp
call fcn.10046377
add esp, 0x110
ret
test ecx, ecx
je 0x10019a15
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, str.System32
jmp 0x10019a10
push 0x103
lea eax, [esp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
je 0x10019a15
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x10019906
add eax, 1
sub ecx, 1
jne 0x100198f7
jmp 0x10019925
test ecx, ecx
je 0x10019925
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, 0x1007a270
call fcn.10015430
mov ecx, 0x104
mov eax, esi
lea esp, [esp]
cmp byte [eax], 0
je 0x1001993f
add eax, 1
sub ecx, 1
jne 0x10019930
jmp 0x1001995d
test ecx, ecx
je 0x1001995d
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
lea eax, [esp + 8]
call fcn.10015430
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x10019973
add eax, 1
sub ecx, 1
jne 0x10019964
jmp 0x10019992
test ecx, ecx
je 0x10019992
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, 0x1007a270
call fcn.10015430
mov ecx, 0x104
mov eax, esi
lea esp, [esp]
cmp byte [eax], 0
je 0x100199af
add eax, 1
sub ecx, 1
jne 0x100199a0
jmp 0x100199cd
test ecx, ecx
je 0x100199cd
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
lea eax, [esp + 8]
call fcn.10015430
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x100199f6
add eax, 1
sub ecx, 1
jne 0x100199d4
mov ecx, dword [esp + 0x10c]
xor ecx, esp
call fcn.10046377
add esp, 0x110
ret
test ecx, ecx
je 0x10019a15
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, str.System
call fcn.10015430
mov ecx, dword [esp + 0x10c]
xor ecx, esp
call fcn.10046377
add esp, 0x110
ret