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

Disassembly:
mov eax, 0x40d8
call fcn.004bfc70
mov eax, dword [0x4ea93c]
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 0x45043f
cmp word [esi], 0x2e
jne 0x45043b
cmp word [esi + 2], 0x2e
jne 0x45043b
movzx eax, word [esi + 4]
push eax
call fcn.0045f470
test al, al
jne 0x450424
cmp word [esi + 4], 0
jne 0x45043b
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 0x450402
mov dword [esp + 0x14], ebp
mov ecx, 0x4d68d8
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45046c
test dx, dx
je 0x450468
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45046c
add eax, 4
add ecx, 4
test dx, dx
jne 0x450446
xor eax, eax
jmp 0x450471
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete byte [esp + 0x13]
cmp byte [0x5323f1], 0
je 0x450492
push edi
call fcn.004601f0
test al, al
je 0x450492
mov ecx, ebx
call fcn.0044e740
cmp byte [ebx + 0x101a], 0
je 0x4504cb
mov ecx, dword [ebx + 0x211c]
cmp ebp, ecx
mov eax, ebp
jl 0x4504a9
mov eax, ecx
cmp byte [esp + 0x13], 0
je 0x4504b2
mov eax, ecx
test eax, eax
je 0x4504c7
push 0
push eax
mov ecx, ebx
call fcn.0044c0f0
push 0
jmp 0x450812
mov ebp, dword [esp + 0x14]
mov byte [ebx + 0x101a], 0
cmp byte [0x5323f1], 0
je 0x4505cb
push 0
push str.FlatView
push str.FileList
call fcn.0046bce0
test eax, eax
je 0x4504fc
test ebp, ebp
je 0x450819
push 0x800
lea edx, [esp + 0x1020]
push edx
mov ecx, 0x540eb0
call fcn.00414dc0
mov ecx, 0x4d68d8
mov eax, edi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x450546
test dx, dx
je 0x450542
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x450546
add eax, 4
add ecx, 4
test dx, dx
jne 0x450520
xor eax, eax
jmp 0x45054b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45057c
push edi
mov ecx, 0x540eb0
call fcn.00414ca0
test al, al
je 0x45057c
xor eax, eax
test ebp, ebp
setle al
lea ecx, [esp + 0x101c]
dec eax
and eax, ecx
push eax
mov ecx, ebx
call fcn.0044f700
jmp 0x450819
push 0x800
lea edx, [esp + 0x20]
push edx
mov ecx, 0x540eb0
call fcn.00414de0
push 0x800
lea eax, [esp + 0x20]
push eax
lea esi, [ebx + 0x101c]
push esi
call fcn.0047e340
push esi
call fcn.0045fbf0
mov ecx, ebx
call fcn.0044e740
test al, al
je 0x450819
lea ecx, [esp + 0x1c]
push ecx
call fcn.0045f900
push eax
jmp 0x450812
push 0x800
lea esi, [ebx + 0x101c]
push esi
lea edx, [esp + 0x1024]
push edx
call fcn.0047e340
xor eax, eax
mov word [esp + 0x1c], ax
test ebp, ebp
jle 0x4506c5
mov ebp, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
lea esp, [esp]
cmp byte [ebx + 0x101a], 0
jne 0x4506c5
push esi
call fcn.0045f830
test al, al
je 0x45067b
movzx ecx, word [ebx + 0x1020]
push ecx
call fcn.0045f470
test al, al
je 0x45067b
cmp word [ebx + 0x1022], 0
jne 0x45067b
cmp dword [ebx + 0x211c], 0
jle 0x450644
mov byte [ebx + 0x101a], 1
jmp 0x450697
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, 0x53ed88
call fcn.00450900
mov eax, dword [0x571c7c]
mov ecx, dword [esp + 0x18]
mov edx, dword [eax]
mov edx, dword [edx + 0x14]
push ecx
push eax
call edx
jmp 0x450697
push 0x800
push esi
call fcn.0045f900
push eax
lea eax, [esp + 0x24]
push eax
call fcn.0047e340
push esi
call fcn.0045fbf0
dec dword [esp + 0x14]
cmp word [edi], 0x2e
jne 0x4506aa
add edi, 2
cmp word [edi], 0x2e
je 0x4506a1
movzx ecx, word [edi]
push ecx
call fcn.0045f470
test al, al
je 0x4506ba
add edi, 2
cmp dword [esp + 0x14], 0
jg 0x450600
cmp byte [esp + 0x13], 0
je 0x4506f4
push 0x800
lea edx, [esp + 0x2020]
push edx
push esi
call fcn.00460240
push 0x800
lea eax, [esp + 0x2020]
push eax
push esi
call fcn.0047e340
jmp 0x450729
push edi
call fcn.004601f0
test al, al
je 0x45070c
push 0x800
push edi
push esi
call fcn.0047e340
jmp 0x450729
cmp word [edi], 0
je 0x450729
push 0x800
push esi
call fcn.0045f4a0
push 0x800
push edi
push esi
call fcn.0047e380
push esi
call fcn.0045fb60
mov edi, eax
cmp edi, 0xffffffff
je 0x450760
call fcn.0049d470
mov edx, 1
mov ecx, edi
shl edx, cl
test edx, eax
jne 0x450760
push 0x800
lea eax, [esp + 0x1020]
push eax
push esi
call fcn.0047e340
jmp 0x450819
cmp byte [ebx + 0x101a], 0
jne 0x450802
push esi
call fcn.0043c780
test al, al
jne 0x450802
push 0x800
lea ecx, [esp + 0x2020]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
test eax, eax
je 0x4507b3
lea edx, [esp + 0x201c]
push edx
call fcn.0043c780
test al, al
je 0x4507b3
push 0x800
lea eax, [esp + 0x2020]
push eax
jmp 0x4507fc
push esi
push 0x6c
call fcn.004744a0
push eax
lea ecx, [esp + 0x3024]
push ecx
mov edx, 0x864
call fcn.0043a6e0
add esp, 0xc
push 0x10
push 0x66
call fcn.004744a0
push eax
mov eax, dword [0x534544]
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.0047e340
movzx edx, word [esp + 0x1c]
neg edx
sbb edx, edx
lea eax, [esp + 0x1c]
and edx, eax
push edx
mov ecx, ebx
call fcn.0044ee30
mov ecx, dword [esp + 0x40e4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004bfc52
add esp, 0x40d8
ret 4