Function at 0x457e2f
Capabilities:
Get common file path
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x418
push ebx
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x210]
push edi
xor ebx, ebx
mov edi, esi
push 0x208
push ebx
push eax
mov dword [ebp - 4], ebx
mov dword [ebp - 8], ebx
call fcn.0049a3b0
push 0x208
lea eax, [ebp - 0x418]
push ebx
push eax
call fcn.0049a3b0
mov edx, dword [ebp + 0xc]
lea ebx, [ebp - 0x210]
xor eax, eax
add esp, 0x18
mov word [edx], ax
test esi, esi
je 0x458085
mov ecx, dword [sym.imp.USER32.dll_CharNextW]
movzx eax, word [edi]
test ax, ax
je 0x458082
cmp eax, 0x25
jne 0x457f22
cmp dword [ebp - 4], 0
je 0x457ef3
xor eax, eax
mov word [ebx], ax
mov word [ebp - 0x418], ax
lea eax, [ebp - 0x418]
push 0x104
push eax
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea eax, [ebp - 0x418]
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00457db3
push edi
lea ebx, [ebp - 0x210]
call dword [sym.imp.USER32.dll_CharNextW]
xor ecx, ecx
mov word [edi], cx
mov edi, eax
jmp 0x457f0d
push edi
call ecx
push dword [ebp + 8]
mov esi, eax
xor eax, eax
push dword [ebp + 0x10]
mov word [edi], ax
push dword [ebp + 0xc]
call fcn.00457db3
mov edi, esi
xor eax, eax
mov esi, edi
cmp dword [ebp - 4], eax
mov dword [ebp + 8], esi
sete al
mov dword [ebp - 4], eax
jmp 0x458074
cmp eax, 0x7b
jne 0x457f95
push edi
call ecx
cmp dword [ebp - 4], 0
je 0x457f6f
mov ecx, eax
sub ecx, edi
sar ecx, 1
je 0x458074
mov edx, ebx
lea eax, [ebp - 0x210]
sub edx, eax
mov eax, edx
dec ecx
and eax, 0xfffffffe
cmp eax, 0x208
jge 0x458074
mov ax, word [edi]
add edx, 2
mov word [ebx], ax
add edi, 2
add ebx, 2
test ecx, ecx
jne 0x457f46
jmp 0x458074
push dword [ebp + 8]
mov esi, eax
xor eax, eax
push dword [ebp + 0x10]
mov word [edi], ax
push dword [ebp + 0xc]
call fcn.00457db3
mov edi, esi
mov dword [ebp + 8], esi
mov dword [ebp - 8], 1
jmp 0x458074
cmp eax, 0x7d
jne 0x45802c
cmp dword [ebp - 4], 0
je 0x457fd9
push edi
call ecx
mov ecx, eax
sub ecx, edi
sar ecx, 1
je 0x457fd9
mov edx, ebx
lea eax, [ebp - 0x210]
sub edx, eax
mov eax, edx
dec ecx
and eax, 0xfffffffe
cmp eax, 0x208
jge 0x457fd9
mov ax, word [edi]
add edx, 2
mov word [ebx], ax
add edi, 2
add ebx, 2
test ecx, ecx
jne 0x457fb9
xor eax, eax
push eax
mov word [ebx], ax
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.SHLWAPI.dll_StrToIntW]
push eax
lea eax, [ebp - 0x418]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [ebp - 0x418]
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00457db3
push edi
lea ebx, [ebp - 0x210]
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
xor eax, eax
and dword [ebp - 8], eax
mov word [edi], ax
mov edi, esi
mov dword [ebp + 8], esi
jmp 0x458074
cmp dword [ebp - 4], 0
jne 0x45803f
cmp dword [ebp - 8], 0
jne 0x45803f
push edi
call ecx
mov edi, eax
jmp 0x458074
push edi
call ecx
mov ecx, eax
sub ecx, edi
sar ecx, 1
je 0x458074
mov edx, ebx
lea eax, [ebp - 0x210]
sub edx, eax
mov eax, edx
dec ecx
and eax, 0xfffffffe
cmp eax, 0x208
jge 0x458074
mov ax, word [edi]
add edx, 2
mov word [ebx], ax
add edi, 2
add ebx, 2
test ecx, ecx
jne 0x458054
mov ecx, dword [sym.imp.USER32.dll_CharNextW]
test edi, edi
jne 0x457e8b
mov edx, dword [ebp + 0xc]
push esi
push dword [ebp + 0x10]
push edx
call fcn.00457db3
pop edi
pop esi
pop ebx
leave
ret