Function at 0x45f720
Capabilities:
Get common file path

Disassembly:
sub esp, 0x110
mov eax, dword [0x4ce0a0]
xor eax, esp
mov dword [esp + 0x10c], eax
mov ecx, 0x104
mov eax, esi
jmp 0x45f740
cmp byte [eax], 0
je 0x45f74f
add eax, 1
sub ecx, 1
jne 0x45f740
jmp 0x45f76e
test ecx, ecx
je 0x45f76e
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [esi + eax]
mov eax, 0x4b9260
call fcn.00402b90
push str._NT_SYMBOL_PATH
lea eax, [esp + 8]
push eax
lea ecx, [esp + 8]
push ecx
call fcn.004841e6
add esp, 0xc
test eax, eax
je 0x45f7f1
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x45f79f
add eax, 1
sub ecx, 1
jne 0x45f790
jmp 0x45f7be
test ecx, ecx
je 0x45f7be
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [esi + eax]
mov eax, 0x4b9274
call fcn.00402b90
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x45f7d4
add eax, 1
sub ecx, 1
jne 0x45f7c5
jmp 0x45f7f1
test ecx, ecx
je 0x45f7f1
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [esi + eax]
mov eax, dword [esp]
call fcn.00402b90
push str._NT_ALT_SYMBOL_PATH
lea edx, [esp + 8]
push edx
lea eax, [esp + 8]
push eax
call fcn.004841e6
add esp, 0xc
test eax, eax
je 0x45f874
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x45f822
add eax, 1
sub ecx, 1
jne 0x45f813
jmp 0x45f841
test ecx, ecx
je 0x45f841
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, 0x4b9274
call fcn.00402b90
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x45f857
add eax, 1
sub ecx, 1
jne 0x45f848
jmp 0x45f874
test ecx, ecx
je 0x45f874
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, dword [esp]
call fcn.00402b90
push str.SYSTEMROOT
lea ecx, [esp + 8]
push ecx
lea edx, [esp + 8]
push edx
call fcn.004841e6
add esp, 0xc
test eax, eax
je 0x45f9b8
mov ecx, 0x104
mov eax, esi
lea ebx, [ebx]
cmp byte [eax], 0
je 0x45f8af
add eax, 1
sub ecx, 1
jne 0x45f8a0
jmp 0x45f8ce
test ecx, ecx
je 0x45f8ce
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, 0x4b9274
call fcn.00402b90
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x45f8e4
add eax, 1
sub ecx, 1
jne 0x45f8d5
jmp 0x45f901
test ecx, ecx
je 0x45f901
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, dword [esp]
call fcn.00402b90
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x45f917
add eax, 1
sub ecx, 1
jne 0x45f908
jmp 0x45f936
test ecx, ecx
je 0x45f936
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, 0x4b9274
call fcn.00402b90
mov ecx, 0x104
mov eax, esi
lea ecx, [ecx]
cmp byte [eax], 0
je 0x45f94f
add eax, 1
sub ecx, 1
jne 0x45f940
jmp 0x45f96c
test ecx, ecx
je 0x45f96c
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, dword [esp]
call fcn.00402b90
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x45f995
add eax, 1
sub ecx, 1
jne 0x45f973
mov ecx, dword [esp + 0x10c]
xor ecx, esp
call fcn.00481ba7
add esp, 0x110
ret
test ecx, ecx
je 0x45faf5
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, str.System32
jmp 0x45faf0
push 0x103
lea eax, [esp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
je 0x45faf5
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x45f9e6
add eax, 1
sub ecx, 1
jne 0x45f9d7
jmp 0x45fa05
test ecx, ecx
je 0x45fa05
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, 0x4b9274
call fcn.00402b90
mov ecx, 0x104
mov eax, esi
lea esp, [esp]
cmp byte [eax], 0
je 0x45fa1f
add eax, 1
sub ecx, 1
jne 0x45fa10
jmp 0x45fa3d
test ecx, ecx
je 0x45fa3d
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
lea eax, [esp + 8]
call fcn.00402b90
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x45fa53
add eax, 1
sub ecx, 1
jne 0x45fa44
jmp 0x45fa72
test ecx, ecx
je 0x45fa72
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, 0x4b9274
call fcn.00402b90
mov ecx, 0x104
mov eax, esi
lea esp, [esp]
cmp byte [eax], 0
je 0x45fa8f
add eax, 1
sub ecx, 1
jne 0x45fa80
jmp 0x45faad
test ecx, ecx
je 0x45faad
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
lea eax, [esp + 8]
call fcn.00402b90
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x45fad6
add eax, 1
sub ecx, 1
jne 0x45fab4
mov ecx, dword [esp + 0x10c]
xor ecx, esp
call fcn.00481ba7
add esp, 0x110
ret
test ecx, ecx
je 0x45faf5
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, str.System
call fcn.00402b90
mov ecx, dword [esp + 0x10c]
xor ecx, esp
call fcn.00481ba7
add esp, 0x110
ret