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

Disassembly:
mov eax, 0x50d8
call fcn.00507730
mov eax, dword [0x5755c4]
xor eax, esp
mov dword [esp + 0x50d4], eax
cmp byte [0x57dfb4], 0
push ebx
push esi
mov esi, dword [esp + 0x50e4]
mov ebx, ecx
jne 0x44561c
cmp word [esi], 0x2e
jne 0x44561c
movzx eax, word [esi + 2]
push eax
call fcn.00485c70
test al, al
je 0x44560b
add esi, 4
cmp word [esi], 0x2e
je 0x4455f2
jmp 0x44561c
cmp word [esi], 0x2e
jne 0x44561c
cmp word [esi + 2], 0
je 0x445b70
push 0x800
lea eax, [esp + 0x3018]
push eax
push esi
call fcn.00485630
mov ecx, 0x541b48
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x44565c
test dx, dx
je 0x445658
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x44565c
add eax, 4
add ecx, 4
test dx, dx
jne 0x445636
xor eax, eax
jmp 0x445661
sbb eax, eax
or eax, 1
push edi
test eax, eax
push esi
sete byte [esp + 0x13]
call fcn.004861f0
mov edi, eax
movzx ecx, word [edi]
push ecx
call fcn.00485c70
test al, al
je 0x4456c4
cmp byte [esp + 0xf], 0
jne 0x4456c4
lea ecx, [esp + 0x3018]
mov eax, esi
mov edi, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4456b6
test dx, dx
je 0x4456b2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4456b6
add eax, 4
add ecx, 4
test dx, dx
jne 0x445690
xor eax, eax
jmp 0x4456bb
sbb eax, eax
or eax, 1
test eax, eax
je 0x4456c4
xor eax, eax
mov word [edi], ax
push ebp
xor ebp, ebp
mov edi, esi
mov dword [esp + 0x14], ebp
cmp word [esi], bp
je 0x44570e
cmp word [edi], 0x2e
jne 0x44570a
cmp word [edi + 2], 0x2e
jne 0x44570a
movzx eax, word [edi + 4]
push eax
call fcn.00485c70
test al, al
jne 0x4456f4
cmp word [edi + 4], 0
jne 0x44570a
xor eax, eax
cmp word [edi + 4], ax
setne al
inc ebp
lea edi, [edi + eax*2]
add edi, 4
cmp word [edi], 0
jne 0x4456d2
mov dword [esp + 0x14], ebp
cmp byte [0x57dfb4], 0
je 0x44573c
cmp byte [esp + 0x50f0], 0
je 0x44573c
push esi
call fcn.00485b40
test al, al
jne 0x445735
push esi
call fcn.00485b10
test al, al
je 0x44573c
mov ecx, ebx
call fcn.00445be0
cmp byte [ebx + 0x1042], 0
je 0x445771
mov ecx, dword [ebx + 0x2144]
mov eax, ebp
cmp ebp, ecx
jl 0x445753
mov eax, ecx
cmp byte [esp + 0x13], 0
je 0x44575c
mov eax, ecx
test eax, eax
je 0x445771
push 0
push eax
mov ecx, ebx
call fcn.00446cb0
push 0
jmp 0x445b67
mov byte [ebx + 0x1042], 0
cmp byte [0x57dfb4], 0
je 0x44586a
push 0
push 0x542bd8
push str.FileList
call fcn.004af130
test eax, eax
je 0x4457a2
test ebp, ebp
je 0x445b6e
push 0x800
lea eax, [esp + 0x2020]
mov ecx, 0x5a6670
push eax
call fcn.00406c30
mov ecx, 0x541b48
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4457e6
test dx, dx
je 0x4457e2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4457e6
add eax, 4
add ecx, 4
test dx, dx
jne 0x4457c0
xor eax, eax
jmp 0x4457eb
sbb eax, eax
or eax, 1
test eax, eax
je 0x44581c
push esi
mov ecx, 0x5a6670
call fcn.00408730
test al, al
je 0x44581c
xor eax, eax
lea ecx, [esp + 0x201c]
test ebp, ebp
setle al
dec eax
and eax, ecx
mov ecx, ebx
push eax
call fcn.0044a400
jmp 0x445b6e
push 0x800
lea eax, [esp + 0x20]
mov ecx, 0x5a6670
push eax
call fcn.004065d0
push 0x800
lea eax, [esp + 0x20]
push eax
lea esi, [ebx + 0x1044]
push esi
call fcn.0049dc20
push esi
call fcn.00486280
mov ecx, ebx
call fcn.00445be0
test al, al
je 0x445b6e
lea eax, [esp + 0x1c]
push eax
call fcn.00486220
jmp 0x445b66
push 0x800
lea ebp, [ebx + 0x1044]
push ebp
lea eax, [esp + 0x2024]
push eax
call fcn.0049dc20
xor eax, eax
push ebp
mov word [esp + 0x20], ax
call fcn.004861f0
movzx ecx, word [ebp]
mov edi, eax
push ecx
call fcn.00485c70
test al, al
je 0x4458b6
movzx ecx, word [edi]
push ecx
call fcn.00485c70
test al, al
je 0x4458b6
cmp edi, ebp
jbe 0x4458b6
xor eax, eax
mov word [edi], ax
mov edi, dword [esp + 0x14]
test edi, edi
jle 0x4459a1
cmp byte [ebx + 0x1042], 0
jne 0x4459a1
push ebp
call fcn.00485b10
test al, al
je 0x445953
movzx eax, word [ebx + 0x1048]
push eax
call fcn.00485c70
test al, al
je 0x445953
cmp word [ebx + 0x104a], 0
jne 0x445953
cmp dword [ebx + 0x2144], 0
jle 0x44590a
mov byte [ebx + 0x1042], 1
jmp 0x44596f
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0
push eax
push 0
push 0
push 0x11
push dword [ebx + 0x30]
call dword [sym.imp.SHELL32.dll_SHGetFolderLocation]
push dword [esp + 0x18]
mov ecx, 0x5a9378
call fcn.0044c990
mov eax, dword [0x5e4c48]
push dword [esp + 0x18]
push eax
mov ecx, dword [eax]
mov edi, dword [ecx + 0x14]
mov ecx, edi
call dword [0x540780]
call edi
mov edi, dword [esp + 0x14]
jmp 0x44596f
push 0x800
push ebp
call fcn.00486220
push eax
lea eax, [esp + 0x24]
push eax
call fcn.0049dc20
push ebp
call fcn.00486280
dec edi
cmp word [esi], 0x2e
mov dword [esp + 0x14], edi
jne 0x445989
lea ebx, [ebx]
add esi, 2
cmp word [esi], 0x2e
je 0x445980
movzx eax, word [esi]
push eax
call fcn.00485c70
test al, al
je 0x445999
add esi, 2
test edi, edi
jg 0x4458c2
cmp byte [esp + 0x13], 0
je 0x4459d0
push 0x800
lea eax, [esp + 0x1020]
push eax
push ebp
call fcn.00485630
push 0x800
lea eax, [esp + 0x1020]
push eax
push ebp
call fcn.0049dc20
jmp 0x445a41
push esi
call fcn.00485b40
test al, al
je 0x4459e8
push 0x800
push esi
push ebp
call fcn.0049dc20
jmp 0x445a41
push esi
call fcn.00485b10
test al, al
je 0x445a24
movzx eax, word [ebp]
push eax
call fcn.004a12b0
movzx ecx, word [esi]
mov edi, eax
push ecx
call fcn.004a12b0
cmp eax, edi
je 0x445a17
push 0x800
push ebp
push esi
call fcn.004d7f40
push 0x800
push ebp
call fcn.00484610
jmp 0x445a41
cmp word [esi], 0
je 0x445a41
push 0x800
push ebp
call fcn.00484610
push 0x800
push esi
push ebp
call fcn.0049dbe0
push ebp
call fcn.004855f0
mov edi, eax
cmp edi, 0xffffffff
je 0x445a78
call fcn.004d6c70
mov edx, 1
mov ecx, edi
shl edx, cl
test edx, eax
jne 0x445a78
push 0x800
lea eax, [esp + 0x2020]
push eax
push ebp
call fcn.0049dc20
jmp 0x445b6e
cmp byte [ebx + 0x1042], 0
jne 0x445b57
push ebp
call fcn.004750c0
test al, al
jne 0x445b57
push 0x800
lea eax, [esp + 0x1020]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
test eax, eax
je 0x445acf
cmp eax, 0x800
jae 0x445acf
lea eax, [esp + 0x101c]
push eax
call fcn.004750c0
test al, al
je 0x445acf
lea eax, [esp + 0x101c]
jmp 0x445b4b
cmp word [ebp], 0x5c
jne 0x445b09
cmp word [ebx + 0x1046], 0x5c
jne 0x445b09
lea eax, [ebx + 0x1048]
push 0x54579c
push eax
call fcn.00529135
add esp, 8
test eax, eax
jne 0x445b09
cmp dword [ebx + 0x2144], eax
jle 0x445b09
mov byte [ebx + 0x1042], 1
jmp 0x445b57
push ebp
push 0x6c
call fcn.00497960
push eax
lea eax, [esp + 0x4024]
push 0x864
push eax
call fcn.00402930
add esp, 0x10
push 0x10
push 0x66
call fcn.00497960
push eax
lea eax, [esp + 0x4024]
push eax
push dword [0x57cf9c]
call fcn.004d8380
lea eax, [esp + 0x201c]
push 0x800
push eax
push ebp
call fcn.0049dc20
movzx eax, word [esp + 0x1c]
lea ecx, [esp + 0x1c]
neg eax
sbb eax, eax
and eax, ecx
push eax
mov ecx, ebx
call fcn.0044b220
pop ebp
pop edi
mov ecx, dword [esp + 0x50dc]
pop esi
pop ebx
xor ecx, esp
call fcn.00507712
add esp, 0x50d8
ret 8