Function at 0x457ae0
Capabilities:
Get common file path

Disassembly:
sub esp, 0x110
mov eax, dword [0x4cd094]
xor eax, esp
mov dword [esp + 0x10c], eax
mov ecx, 0x104
mov eax, esi
jmp 0x457b00
cmp byte [eax], 0
je 0x457b0f
add eax, 1
sub ecx, 1
jne 0x457b00
jmp 0x457b2e
test ecx, ecx
je 0x457b2e
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [esi + eax]
mov eax, 0x4b7be4
call fcn.00408a70
push str._NT_SYMBOL_PATH
lea eax, [esp + 8]
push eax
lea ecx, [esp + 8]
push ecx
call fcn.0048258b
add esp, 0xc
test eax, eax
je 0x457bb1
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x457b5f
add eax, 1
sub ecx, 1
jne 0x457b50
jmp 0x457b7e
test ecx, ecx
je 0x457b7e
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [esi + eax]
mov eax, 0x4b7bf8
call fcn.00408a70
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x457b94
add eax, 1
sub ecx, 1
jne 0x457b85
jmp 0x457bb1
test ecx, ecx
je 0x457bb1
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [esi + eax]
mov eax, dword [esp]
call fcn.00408a70
push str._NT_ALT_SYMBOL_PATH
lea edx, [esp + 8]
push edx
lea eax, [esp + 8]
push eax
call fcn.0048258b
add esp, 0xc
test eax, eax
je 0x457c34
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x457be2
add eax, 1
sub ecx, 1
jne 0x457bd3
jmp 0x457c01
test ecx, ecx
je 0x457c01
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, 0x4b7bf8
call fcn.00408a70
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x457c17
add eax, 1
sub ecx, 1
jne 0x457c08
jmp 0x457c34
test ecx, ecx
je 0x457c34
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, dword [esp]
call fcn.00408a70
push str.SYSTEMROOT
lea ecx, [esp + 8]
push ecx
lea edx, [esp + 8]
push edx
call fcn.0048258b
add esp, 0xc
test eax, eax
je 0x457d78
mov ecx, 0x104
mov eax, esi
lea ebx, [ebx]
cmp byte [eax], 0
je 0x457c6f
add eax, 1
sub ecx, 1
jne 0x457c60
jmp 0x457c8e
test ecx, ecx
je 0x457c8e
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, 0x4b7bf8
call fcn.00408a70
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x457ca4
add eax, 1
sub ecx, 1
jne 0x457c95
jmp 0x457cc1
test ecx, ecx
je 0x457cc1
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, dword [esp]
call fcn.00408a70
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x457cd7
add eax, 1
sub ecx, 1
jne 0x457cc8
jmp 0x457cf6
test ecx, ecx
je 0x457cf6
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, 0x4b7bf8
call fcn.00408a70
mov ecx, 0x104
mov eax, esi
lea ecx, [ecx]
cmp byte [eax], 0
je 0x457d0f
add eax, 1
sub ecx, 1
jne 0x457d00
jmp 0x457d2c
test ecx, ecx
je 0x457d2c
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, dword [esp]
call fcn.00408a70
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x457d55
add eax, 1
sub ecx, 1
jne 0x457d33
mov ecx, dword [esp + 0x10c]
xor ecx, esp
call fcn.004804c6
add esp, 0x110
ret
test ecx, ecx
je 0x457eb5
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, str.System32
jmp 0x457eb0
push 0x103
lea eax, [esp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
je 0x457eb5
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x457da6
add eax, 1
sub ecx, 1
jne 0x457d97
jmp 0x457dc5
test ecx, ecx
je 0x457dc5
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, 0x4b7bf8
call fcn.00408a70
mov ecx, 0x104
mov eax, esi
lea esp, [esp]
cmp byte [eax], 0
je 0x457ddf
add eax, 1
sub ecx, 1
jne 0x457dd0
jmp 0x457dfd
test ecx, ecx
je 0x457dfd
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
lea eax, [esp + 8]
call fcn.00408a70
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x457e13
add eax, 1
sub ecx, 1
jne 0x457e04
jmp 0x457e32
test ecx, ecx
je 0x457e32
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, 0x4b7bf8
call fcn.00408a70
mov ecx, 0x104
mov eax, esi
lea esp, [esp]
cmp byte [eax], 0
je 0x457e4f
add eax, 1
sub ecx, 1
jne 0x457e40
jmp 0x457e6d
test ecx, ecx
je 0x457e6d
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
lea eax, [esp + 8]
call fcn.00408a70
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x457e96
add eax, 1
sub ecx, 1
jne 0x457e74
mov ecx, dword [esp + 0x10c]
xor ecx, esp
call fcn.004804c6
add esp, 0x110
ret
test ecx, ecx
je 0x457eb5
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [eax + esi]
mov eax, str.System
call fcn.00408a70
mov ecx, dword [esp + 0x10c]
xor ecx, esp
call fcn.004804c6
add esp, 0x110
ret