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

Disassembly:
mov eax, 0x50d8
call fcn.004c1c40
mov eax, dword [0x4ec0b4]
xor eax, esp
mov dword [esp + 0x50d4], eax
cmp byte [0x533b59], 0
push ebp
mov ebp, ecx
push edi
mov edi, dword [esp + 0x50e4]
mov dword [esp + 0xc], ebp
jne 0x4516b0
cmp word [edi], 0x2e
jne 0x4516b0
movzx eax, word [edi + 2]
push eax
call fcn.004607a0
test al, al
je 0x45169f
add edi, 4
cmp word [edi], 0x2e
je 0x451686
jmp 0x4516b0
cmp word [edi], 0x2e
jne 0x4516b0
cmp word [edi + 2], 0
je 0x451b4b
push 0x800
lea ecx, [esp + 0x3018]
push ecx
push edi
call fcn.004615c0
mov ecx, 0x4d88e8
mov eax, edi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4516f6
test dx, dx
je 0x4516f2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4516f6
add eax, 4
add ecx, 4
test dx, dx
jne 0x4516d0
xor eax, eax
jmp 0x4516fb
sbb eax, eax
sbb eax, 0xffffffff
push ebx
test eax, eax
push esi
sete bl
push edi
mov byte [esp + 0x17], bl
call fcn.00460740
mov esi, eax
movzx edx, word [esi]
push edx
call fcn.004607a0
test al, al
je 0x45175c
test bl, bl
jne 0x45175c
lea ecx, [esp + 0x301c]
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45174e
test dx, dx
je 0x45174a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45174e
add eax, 4
add ecx, 4
test dx, dx
jne 0x451728
xor eax, eax
jmp 0x451753
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45175c
xor eax, eax
mov word [esi], ax
xor ebx, ebx
mov esi, edi
cmp word [edi], bx
je 0x45179e
cmp word [esi], 0x2e
jne 0x45179e
cmp word [esi + 2], 0x2e
jne 0x45179e
movzx ecx, word [esi + 4]
push ecx
call fcn.004607a0
test al, al
jne 0x451787
cmp word [esi + 4], 0
jne 0x45179e
xor edx, edx
cmp word [esi + 4], dx
setne dl
inc ebx
add edx, 2
cmp word [esi + edx*2], 0
lea esi, [esi + edx*2]
jne 0x451765
cmp byte [0x533b59], 0
je 0x4517b8
push edi
call fcn.00461570
test al, al
je 0x4517b8
mov ecx, ebp
call fcn.0044f920
cmp byte [ebp + 0x101a], 0
je 0x4517ef
mov ecx, dword [ebp + 0x211c]
cmp ebx, ecx
mov eax, ebx
jl 0x4517cf
mov eax, ecx
cmp byte [esp + 0x13], 0
je 0x4517d8
mov eax, ecx
test eax, eax
je 0x4517ef
push 0
mov esi, ebp
push eax
mov ecx, esi
call fcn.0044d280
push 0
jmp 0x451b42
mov byte [ebp + 0x101a], 0
cmp byte [0x533b59], 0
je 0x4518ed
push 0
push str.FlatView
push str.FileList
call fcn.0046cee0
test eax, eax
je 0x451820
test ebx, ebx
je 0x451b49
push 0x800
lea eax, [esp + 0x1020]
push eax
mov ecx, 0x542618
call fcn.004153a0
mov ecx, 0x4d88e8
mov eax, edi
mov edi, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x451866
test dx, dx
je 0x451862
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x451866
add eax, 4
add ecx, 4
test dx, dx
jne 0x451840
xor eax, eax
jmp 0x45186b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45189c
push edi
mov ecx, 0x542618
call fcn.00415280
test al, al
je 0x45189c
xor ecx, ecx
test ebx, ebx
setle cl
lea edx, [esp + 0x101c]
dec ecx
and ecx, edx
push ecx
mov ecx, ebp
call fcn.004508c0
jmp 0x451b49
push 0x800
lea eax, [esp + 0x20]
push eax
mov ecx, 0x542618
call fcn.004153c0
push 0x800
lea ecx, [esp + 0x20]
push ecx
lea esi, [ebp + 0x101c]
push esi
call fcn.0047fbe0
push esi
call fcn.00460f40
mov ecx, ebp
call fcn.0044f920
test al, al
je 0x451b49
lea edx, [esp + 0x1c]
push edx
call fcn.00460c50
push eax
mov ecx, ebp
jmp 0x451b44
push 0x800
add ebp, 0x101c
push ebp
lea eax, [esp + 0x1024]
push eax
call fcn.0047fbe0
xor ecx, ecx
mov word [esp + 0x1c], cx
test ebx, ebx
jle 0x4519f1
mov esi, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
jmp 0x451920
mov edx, dword [esp + 0x14]
cmp byte [edx + 0x101a], 0
jne 0x4519f1
push ebp
call fcn.00460b80
test al, al
je 0x4519a7
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + 0x1020]
push ecx
call fcn.004607a0
test al, al
je 0x4519a7
mov eax, dword [esp + 0x14]
cmp word [eax + 0x1022], 0
jne 0x4519a7
cmp dword [eax + 0x211c], 0
jle 0x451970
mov byte [eax + 0x101a], 1
jmp 0x4519c3
mov eax, dword [eax]
lea edx, [esp + 0x18]
push edx
push 0x11
push eax
mov dword [esp + 0x24], 0
call esi
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, 0x5404f0
call fcn.00451c30
mov eax, dword [0x5733dc]
mov ecx, dword [esp + 0x18]
mov edx, dword [eax]
mov edx, dword [edx + 0x14]
push ecx
push eax
call edx
jmp 0x4519c3
push 0x800
push ebp
call fcn.00460c50
push eax
lea eax, [esp + 0x24]
push eax
call fcn.0047fbe0
push ebp
call fcn.00460f40
dec ebx
cmp word [edi], 0x2e
jne 0x4519d9
lea ebx, [ebx]
add edi, 2
cmp word [edi], 0x2e
je 0x4519d0
movzx ecx, word [edi]
push ecx
call fcn.004607a0
test al, al
je 0x4519e9
add edi, 2
test ebx, ebx
jg 0x451920
cmp byte [esp + 0x13], 0
je 0x451a20
push 0x800
lea edx, [esp + 0x2020]
push edx
push ebp
call fcn.004615c0
push 0x800
lea eax, [esp + 0x2020]
push eax
push ebp
call fcn.0047fbe0
jmp 0x451a55
push edi
call fcn.00461570
test al, al
je 0x451a38
push 0x800
push edi
push ebp
call fcn.0047fbe0
jmp 0x451a55
cmp word [edi], 0
je 0x451a55
push 0x800
push ebp
call fcn.004607d0
push 0x800
push edi
push ebp
call fcn.0047fc20
push ebp
call fcn.00460eb0
mov esi, eax
cmp esi, 0xffffffff
je 0x451a8c
call fcn.0049f2e0
mov edx, 1
mov ecx, esi
shl edx, cl
test edx, eax
jne 0x451a8c
push 0x800
lea eax, [esp + 0x1020]
push eax
push ebp
call fcn.0047fbe0
jmp 0x451b49
mov esi, dword [esp + 0x14]
cmp byte [esi + 0x101a], 0
jne 0x451b32
push ebp
call fcn.0043d340
test al, al
jne 0x451b32
push 0x800
lea ecx, [esp + 0x2020]
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
test eax, eax
je 0x451ae3
lea edx, [esp + 0x201c]
push edx
call fcn.0043d340
test al, al
je 0x451ae3
push 0x800
lea eax, [esp + 0x2020]
push eax
jmp 0x451b2c
push ebp
push 0x6c
call fcn.00475cc0
push eax
lea ecx, [esp + 0x4024]
push ecx
mov edx, 0x864
call fcn.00407810
add esp, 0xc
push 0x10
push 0x66
call fcn.00475cc0
push eax
mov eax, dword [0x535cac]
lea edx, [esp + 0x4024]
push edx
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
push 0x800
lea ecx, [esp + 0x1020]
push ecx
push ebp
call fcn.0047fbe0
movzx edx, word [esp + 0x1c]
neg edx
sbb edx, edx
lea eax, [esp + 0x1c]
and edx, eax
push edx
mov ecx, esi
call fcn.00450010
pop esi
pop ebx
mov ecx, dword [esp + 0x50dc]
pop edi
pop ebp
xor ecx, esp
call fcn.004c1c22
add esp, 0x50d8
ret 4