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

Disassembly:
mov eax, 0x40d8
call fcn.004c0c80
mov eax, dword [0x4eb984]
xor eax, esp
mov dword [esp + 0x40d4], eax
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x40ec]
xor ebp, ebp
mov ebx, ecx
mov dword [esp + 0x14], ebp
mov esi, edi
cmp word [edi], bp
je 0x450b9f
cmp word [esi], 0x2e
jne 0x450b9b
cmp word [esi + 2], 0x2e
jne 0x450b9b
movzx eax, word [esi + 4]
push eax
call fcn.0045fea0
test al, al
jne 0x450b84
cmp word [esi + 4], 0
jne 0x450b9b
xor ecx, ecx
cmp word [esi + 4], cx
setne cl
inc ebp
add ecx, 2
cmp word [esi + ecx*2], 0
lea esi, [esi + ecx*2]
jne 0x450b62
mov dword [esp + 0x14], ebp
mov ecx, 0x4d78e8
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x450bcc
test dx, dx
je 0x450bc8
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x450bcc
add eax, 4
add ecx, 4
test dx, dx
jne 0x450ba6
xor eax, eax
jmp 0x450bd1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete byte [esp + 0x13]
cmp byte [0x533431], 0
je 0x450bf2
push edi
call fcn.00460c20
test al, al
je 0x450bf2
mov ecx, ebx
call fcn.0044ee60
cmp byte [ebx + 0x101a], 0
je 0x450c2b
mov ecx, dword [ebx + 0x211c]
cmp ebp, ecx
mov eax, ebp
jl 0x450c09
mov eax, ecx
cmp byte [esp + 0x13], 0
je 0x450c12
mov eax, ecx
test eax, eax
je 0x450c27
push 0
push eax
mov ecx, ebx
call fcn.0044c810
push 0
jmp 0x450f72
mov ebp, dword [esp + 0x14]
mov byte [ebx + 0x101a], 0
cmp byte [0x533431], 0
je 0x450d2b
push 0
push str.FlatView
push str.FileList
call fcn.0046c5f0
test eax, eax
je 0x450c5c
test ebp, ebp
je 0x450f79
push 0x800
lea edx, [esp + 0x1020]
push edx
mov ecx, 0x541ef0
call fcn.00415120
mov ecx, 0x4d78e8
mov eax, edi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x450ca6
test dx, dx
je 0x450ca2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x450ca6
add eax, 4
add ecx, 4
test dx, dx
jne 0x450c80
xor eax, eax
jmp 0x450cab
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x450cdc
push edi
mov ecx, 0x541ef0
call fcn.00415000
test al, al
je 0x450cdc
xor eax, eax
test ebp, ebp
setle al
lea ecx, [esp + 0x101c]
dec eax
and eax, ecx
push eax
mov ecx, ebx
call fcn.0044fe30
jmp 0x450f79
push 0x800
lea edx, [esp + 0x20]
push edx
mov ecx, 0x541ef0
call fcn.00415140
push 0x800
lea eax, [esp + 0x20]
push eax
lea esi, [ebx + 0x101c]
push esi
call fcn.0047ef70
push esi
call fcn.00460620
mov ecx, ebx
call fcn.0044ee60
test al, al
je 0x450f79
lea ecx, [esp + 0x1c]
push ecx
call fcn.00460330
push eax
jmp 0x450f72
push 0x800
lea esi, [ebx + 0x101c]
push esi
lea edx, [esp + 0x1024]
push edx
call fcn.0047ef70
xor eax, eax
mov word [esp + 0x1c], ax
test ebp, ebp
jle 0x450e25
mov ebp, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
lea esp, [esp]
cmp byte [ebx + 0x101a], 0
jne 0x450e25
push esi
call fcn.00460260
test al, al
je 0x450ddb
movzx ecx, word [ebx + 0x1020]
push ecx
call fcn.0045fea0
test al, al
je 0x450ddb
cmp word [ebx + 0x1022], 0
jne 0x450ddb
cmp dword [ebx + 0x211c], 0
jle 0x450da4
mov byte [ebx + 0x101a], 1
jmp 0x450df7
mov eax, dword [ebx]
lea edx, [esp + 0x18]
push edx
push 0x11
push eax
mov dword [esp + 0x24], 0
call ebp
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, 0x53fdc8
call fcn.00451060
mov eax, dword [0x572cb4]
mov ecx, dword [esp + 0x18]
mov edx, dword [eax]
mov edx, dword [edx + 0x14]
push ecx
push eax
call edx
jmp 0x450df7
push 0x800
push esi
call fcn.00460330
push eax
lea eax, [esp + 0x24]
push eax
call fcn.0047ef70
push esi
call fcn.00460620
dec dword [esp + 0x14]
cmp word [edi], 0x2e
jne 0x450e0a
add edi, 2
cmp word [edi], 0x2e
je 0x450e01
movzx ecx, word [edi]
push ecx
call fcn.0045fea0
test al, al
je 0x450e1a
add edi, 2
cmp dword [esp + 0x14], 0
jg 0x450d60
cmp byte [esp + 0x13], 0
je 0x450e54
push 0x800
lea edx, [esp + 0x2020]
push edx
push esi
call fcn.00460c70
push 0x800
lea eax, [esp + 0x2020]
push eax
push esi
call fcn.0047ef70
jmp 0x450e89
push edi
call fcn.00460c20
test al, al
je 0x450e6c
push 0x800
push edi
push esi
call fcn.0047ef70
jmp 0x450e89
cmp word [edi], 0
je 0x450e89
push 0x800
push esi
call fcn.0045fed0
push 0x800
push edi
push esi
call fcn.0047efb0
push esi
call fcn.00460590
mov edi, eax
cmp edi, 0xffffffff
je 0x450ec0
call fcn.0049e310
mov edx, 1
mov ecx, edi
shl edx, cl
test edx, eax
jne 0x450ec0
push 0x800
lea eax, [esp + 0x1020]
push eax
push esi
call fcn.0047ef70
jmp 0x450f79
cmp byte [ebx + 0x101a], 0
jne 0x450f62
push esi
call fcn.0043ca60
test al, al
jne 0x450f62
push 0x800
lea ecx, [esp + 0x2020]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
test eax, eax
je 0x450f13
lea edx, [esp + 0x201c]
push edx
call fcn.0043ca60
test al, al
je 0x450f13
push 0x800
lea eax, [esp + 0x2020]
push eax
jmp 0x450f5c
push esi
push 0x6c
call fcn.004750b0
push eax
lea ecx, [esp + 0x3024]
push ecx
mov edx, 0x864
call fcn.00495190
add esp, 0xc
push 0x10
push 0x66
call fcn.004750b0
push eax
mov eax, dword [0x535584]
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.0047ef70
movzx edx, word [esp + 0x1c]
neg edx
sbb edx, edx
lea eax, [esp + 0x1c]
and edx, eax
push edx
mov ecx, ebx
call fcn.0044f550
mov ecx, dword [esp + 0x40e4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004c0c62
add esp, 0x40d8
ret 4