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

Disassembly:
mov eax, 0x40d8
call fcn.004c1320
mov eax, dword [0x4eb0b4]
xor eax, esp
mov dword [esp + 0x40d4], eax
cmp byte [0x532b51], 0
push ebx
push edi
mov edi, dword [esp + 0x40e4]
mov ebx, ecx
jne 0x45104c
cmp word [edi], 0x2e
jne 0x45104c
movzx eax, word [edi + 2]
push eax
call fcn.00460190
test al, al
je 0x45103b
add edi, 4
cmp word [edi], 0x2e
je 0x451022
jmp 0x45104c
cmp word [edi], 0x2e
jne 0x45104c
cmp word [edi + 2], 0
je 0x45146c
push ebp
xor ebp, ebp
push esi
mov dword [esp + 0x14], ebp
mov esi, edi
cmp word [edi], bp
je 0x45109d
jmp 0x451060
cmp word [esi], 0x2e
jne 0x45109d
cmp word [esi + 2], 0x2e
jne 0x45109d
movzx ecx, word [esi + 4]
push ecx
call fcn.00460190
test al, al
jne 0x451082
cmp word [esi + 4], 0
jne 0x45109d
xor edx, edx
cmp word [esi + 4], dx
setne dl
inc ebp
mov dword [esp + 0x14], ebp
add edx, 2
cmp word [esi + edx*2], 0
lea esi, [esi + edx*2]
jne 0x451060
mov ecx, 0x4d78e8
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4510ca
test dx, dx
je 0x4510c6
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4510ca
add eax, 4
add ecx, 4
test dx, dx
jne 0x4510a4
xor eax, eax
jmp 0x4510cf
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete byte [esp + 0x13]
cmp byte [0x532b51], 0
je 0x4510f0
push edi
call fcn.00460f20
test al, al
je 0x4510f0
mov ecx, ebx
call fcn.0044f2f0
cmp byte [ebx + 0x101a], 0
je 0x451129
mov ecx, dword [ebx + 0x211c]
cmp ebp, ecx
mov eax, ebp
jl 0x451107
mov eax, ecx
cmp byte [esp + 0x13], 0
je 0x451110
mov eax, ecx
test eax, eax
je 0x451125
push 0
push eax
mov ecx, ebx
call fcn.0044cc80
push 0
jmp 0x451463
mov ebp, dword [esp + 0x14]
mov byte [ebx + 0x101a], 0
cmp byte [0x532b51], 0
je 0x451223
push 0
push str.FlatView
push str.FileList
call fcn.0046c8f0
test eax, eax
je 0x45115a
test ebp, ebp
je 0x45146a
push 0x800
lea eax, [esp + 0x1020]
push eax
mov ecx, 0x541610
call fcn.00415300
mov ecx, 0x4d78e8
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45119e
test dx, dx
je 0x45119a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45119e
add eax, 4
add ecx, 4
test dx, dx
jne 0x451178
xor eax, eax
jmp 0x4511a3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4511d4
push edi
mov ecx, 0x541610
call fcn.004151e0
test al, al
je 0x4511d4
xor ecx, ecx
test ebp, ebp
setle cl
lea edx, [esp + 0x101c]
dec ecx
and ecx, edx
push ecx
mov ecx, ebx
call fcn.004502c0
jmp 0x45146a
push 0x800
lea eax, [esp + 0x20]
push eax
mov ecx, 0x541610
call fcn.00415320
push 0x800
lea ecx, [esp + 0x20]
push ecx
lea esi, [ebx + 0x101c]
push esi
call fcn.0047f480
push esi
call fcn.00460910
mov ecx, ebx
call fcn.0044f2f0
test al, al
je 0x45146a
lea edx, [esp + 0x1c]
push edx
call fcn.00460620
push eax
jmp 0x451463
push 0x800
lea esi, [ebx + 0x101c]
push esi
lea eax, [esp + 0x1024]
push eax
call fcn.0047f480
xor ecx, ecx
mov word [esp + 0x1c], cx
test ebp, ebp
jle 0x451316
mov ebp, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
cmp byte [ebx + 0x101a], 0
jne 0x451316
push esi
call fcn.00460550
test al, al
je 0x4512cc
movzx edx, word [ebx + 0x1020]
push edx
call fcn.00460190
test al, al
je 0x4512cc
cmp word [ebx + 0x1022], 0
jne 0x4512cc
cmp dword [ebx + 0x211c], 0
jle 0x451295
mov byte [ebx + 0x101a], 1
jmp 0x4512e8
mov ecx, dword [ebx]
lea eax, [esp + 0x18]
push eax
push 0x11
push ecx
mov dword [esp + 0x24], 0
call ebp
mov edx, dword [esp + 0x18]
push edx
mov ecx, 0x53f4e8
call fcn.00451550
mov eax, dword [0x5723d4]
mov edx, dword [esp + 0x18]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x14]
call eax
jmp 0x4512e8
push 0x800
push esi
call fcn.00460620
push eax
lea ecx, [esp + 0x24]
push ecx
call fcn.0047f480
push esi
call fcn.00460910
dec dword [esp + 0x14]
cmp word [edi], 0x2e
jne 0x4512fb
add edi, 2
cmp word [edi], 0x2e
je 0x4512f2
movzx edx, word [edi]
push edx
call fcn.00460190
test al, al
je 0x45130b
add edi, 2
cmp dword [esp + 0x14], 0
jg 0x451251
cmp byte [esp + 0x13], 0
je 0x451345
push 0x800
lea eax, [esp + 0x2020]
push eax
push esi
call fcn.00460f70
push 0x800
lea ecx, [esp + 0x2020]
push ecx
push esi
call fcn.0047f480
jmp 0x45137a
push edi
call fcn.00460f20
test al, al
je 0x45135d
push 0x800
push edi
push esi
call fcn.0047f480
jmp 0x45137a
cmp word [edi], 0
je 0x45137a
push 0x800
push esi
call fcn.004601c0
push 0x800
push edi
push esi
call fcn.0047f4c0
push esi
call fcn.00460880
mov edi, eax
cmp edi, 0xffffffff
je 0x4513b1
call fcn.0049ea90
mov edx, 1
mov ecx, edi
shl edx, cl
test edx, eax
jne 0x4513b1
push 0x800
lea eax, [esp + 0x1020]
push eax
push esi
call fcn.0047f480
jmp 0x45146a
cmp byte [ebx + 0x101a], 0
jne 0x451453
push esi
call fcn.0043ccc0
test al, al
jne 0x451453
push 0x800
lea ecx, [esp + 0x2020]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
test eax, eax
je 0x451404
lea edx, [esp + 0x201c]
push edx
call fcn.0043ccc0
test al, al
je 0x451404
push 0x800
lea eax, [esp + 0x2020]
push eax
jmp 0x45144d
push esi
push 0x6c
call fcn.00475570
push eax
lea ecx, [esp + 0x3024]
push ecx
mov edx, 0x864
call fcn.0041cb70
add esp, 0xc
push 0x10
push 0x66
call fcn.00475570
push eax
mov eax, dword [0x534ca4]
lea edx, [esp + 0x3024]
push edx
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
push 0x800
lea ecx, [esp + 0x1020]
push ecx
push esi
call fcn.0047f480
movzx edx, word [esp + 0x1c]
neg edx
sbb edx, edx
lea eax, [esp + 0x1c]
and edx, eax
push edx
mov ecx, ebx
call fcn.0044f9e0
pop esi
pop ebp
mov ecx, dword [esp + 0x40dc]
pop edi
pop ebx
xor ecx, esp
call fcn.004c1302
add esp, 0x40d8
ret 4