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

Disassembly:
mov eax, 0x50d8
call fcn.004df2e0
mov eax, dword [0x50fb70]
xor eax, esp
mov dword [esp + 0x50d4], eax
cmp byte [0x533389], 0
push ebp
mov ebp, ecx
push edi
mov edi, dword [esp + 0x50e4]
mov dword [esp + 0xc], ebp
jne 0x491030
cmp word [edi], 0x2e
jne 0x491030
movzx eax, word [edi + 2]
push eax
call fcn.00450a30
test al, al
je 0x49101f
add edi, 4
cmp word [edi], 0x2e
je 0x491006
jmp 0x491030
cmp word [edi], 0x2e
jne 0x491030
cmp word [edi + 2], 0
je 0x4914cb
push 0x800
lea ecx, [esp + 0x3018]
push ecx
push edi
call fcn.00451890
mov ecx, 0x4fa3cc
mov eax, edi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x491076
test dx, dx
je 0x491072
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x491076
add eax, 4
add ecx, 4
test dx, dx
jne 0x491050
xor eax, eax
jmp 0x49107b
sbb eax, eax
sbb eax, 0xffffffff
push ebx
test eax, eax
push esi
sete bl
push edi
mov byte [esp + 0x17], bl
call fcn.004509d0
mov esi, eax
movzx edx, word [esi]
push edx
call fcn.00450a30
test al, al
je 0x4910dc
test bl, bl
jne 0x4910dc
lea ecx, [esp + 0x301c]
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4910ce
test dx, dx
je 0x4910ca
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4910ce
add eax, 4
add ecx, 4
test dx, dx
jne 0x4910a8
xor eax, eax
jmp 0x4910d3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4910dc
xor eax, eax
mov word [esi], ax
xor ebx, ebx
mov esi, edi
cmp word [edi], bx
je 0x49111e
cmp word [esi], 0x2e
jne 0x49111e
cmp word [esi + 2], 0x2e
jne 0x49111e
movzx ecx, word [esi + 4]
push ecx
call fcn.00450a30
test al, al
jne 0x491107
cmp word [esi + 4], 0
jne 0x49111e
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 0x4910e5
cmp byte [0x533389], 0
je 0x491138
push edi
call fcn.00451840
test al, al
je 0x491138
mov ecx, ebp
call fcn.0048e0b0
cmp byte [ebp + 0x101a], 0
je 0x49116f
mov ecx, dword [ebp + 0x211c]
cmp ebx, ecx
mov eax, ebx
jl 0x49114f
mov eax, ecx
cmp byte [esp + 0x13], 0
je 0x491158
mov eax, ecx
test eax, eax
je 0x49116f
push 0
mov esi, ebp
push eax
mov ecx, esi
call fcn.0048c7e0
push 0
jmp 0x4914c2
mov byte [ebp + 0x101a], 0
cmp byte [0x533389], 0
je 0x49126d
push 0
push str.FlatView
push str.FileList
call fcn.00496520
test eax, eax
je 0x4911a0
test ebx, ebx
je 0x4914c9
push 0x800
lea eax, [esp + 0x1020]
push eax
mov ecx, 0x541e38
call fcn.00478230
mov ecx, 0x4fa3cc
mov eax, edi
mov edi, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4911e6
test dx, dx
je 0x4911e2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4911e6
add eax, 4
add ecx, 4
test dx, dx
jne 0x4911c0
xor eax, eax
jmp 0x4911eb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x49121c
push edi
mov ecx, 0x541e38
call fcn.00478110
test al, al
je 0x49121c
xor ecx, ecx
test ebx, ebx
setle cl
lea edx, [esp + 0x101c]
dec ecx
and ecx, edx
push ecx
mov ecx, ebp
call fcn.0048f810
jmp 0x4914c9
push 0x800
lea eax, [esp + 0x20]
push eax
mov ecx, 0x541e38
call fcn.00478250
push 0x800
lea ecx, [esp + 0x20]
push ecx
lea esi, [ebp + 0x101c]
push esi
call fcn.00466930
push esi
call fcn.00451210
mov ecx, ebp
call fcn.0048e0b0
test al, al
je 0x4914c9
lea edx, [esp + 0x1c]
push edx
call fcn.00450f20
push eax
mov ecx, ebp
jmp 0x4914c4
push 0x800
add ebp, 0x101c
push ebp
lea eax, [esp + 0x1024]
push eax
call fcn.00466930
xor ecx, ecx
mov word [esp + 0x1c], cx
test ebx, ebx
jle 0x491371
mov esi, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
jmp 0x4912a0
mov edx, dword [esp + 0x14]
cmp byte [edx + 0x101a], 0
jne 0x491371
push ebp
call fcn.00450e50
test al, al
je 0x491327
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + 0x1020]
push ecx
call fcn.00450a30
test al, al
je 0x491327
mov eax, dword [esp + 0x14]
cmp word [eax + 0x1022], 0
jne 0x491327
cmp dword [eax + 0x211c], 0
jle 0x4912f0
mov byte [eax + 0x101a], 1
jmp 0x491343
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, 0x53fd10
call fcn.004914f0
mov eax, dword [0x567a04]
mov ecx, dword [esp + 0x18]
mov edx, dword [eax]
mov edx, dword [edx + 0x14]
push ecx
push eax
call edx
jmp 0x491343
push 0x800
push ebp
call fcn.00450f20
push eax
lea eax, [esp + 0x24]
push eax
call fcn.00466930
push ebp
call fcn.00451210
dec ebx
cmp word [edi], 0x2e
jne 0x491359
lea ebx, [ebx]
add edi, 2
cmp word [edi], 0x2e
je 0x491350
movzx ecx, word [edi]
push ecx
call fcn.00450a30
test al, al
je 0x491369
add edi, 2
test ebx, ebx
jg 0x4912a0
cmp byte [esp + 0x13], 0
je 0x4913a0
push 0x800
lea edx, [esp + 0x2020]
push edx
push ebp
call fcn.00451890
push 0x800
lea eax, [esp + 0x2020]
push eax
push ebp
call fcn.00466930
jmp 0x4913d5
push edi
call fcn.00451840
test al, al
je 0x4913b8
push 0x800
push edi
push ebp
call fcn.00466930
jmp 0x4913d5
cmp word [edi], 0
je 0x4913d5
push 0x800
push ebp
call fcn.00450a60
push 0x800
push edi
push ebp
call fcn.004669b0
push ebp
call fcn.00451180
mov esi, eax
cmp esi, 0xffffffff
je 0x49140c
call fcn.004ad3b0
mov edx, 1
mov ecx, esi
shl edx, cl
test edx, eax
jne 0x49140c
push 0x800
lea eax, [esp + 0x1020]
push eax
push ebp
call fcn.00466930
jmp 0x4914c9
mov esi, dword [esp + 0x14]
cmp byte [esi + 0x101a], 0
jne 0x4914b2
push ebp
call fcn.004432f0
test al, al
jne 0x4914b2
push 0x800
lea ecx, [esp + 0x2020]
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
test eax, eax
je 0x491463
lea edx, [esp + 0x201c]
push edx
call fcn.004432f0
test al, al
je 0x491463
push 0x800
lea eax, [esp + 0x2020]
push eax
jmp 0x4914ac
push ebp
push 0x6c
call fcn.004610c0
push eax
lea ecx, [esp + 0x4024]
push ecx
mov edx, 0x864
call fcn.00493540
add esp, 0xc
push 0x10
push 0x66
call fcn.004610c0
push eax
mov eax, dword [0x5354dc]
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.00466930
movzx edx, word [esp + 0x1c]
neg edx
sbb edx, edx
lea eax, [esp + 0x1c]
and edx, eax
push edx
mov ecx, esi
call fcn.004903d0
pop esi
pop ebx
mov ecx, dword [esp + 0x50dc]
pop edi
pop ebp
xor ecx, esp
call fcn.004df2c4
add esp, 0x50d8
ret 4