Function at 0x452de1
Capabilities:
Query environment variable

Disassembly:
push 0x270
mov eax, 0x4b5e23
call fcn.00461a91
mov edi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x264], ebx
mov eax, 0x80000002
mov dword [ebp - 0x268], edi
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x278], ebx
mov dword [ebp - 0x274], ebx
push 0x101
push str.SoftwareClassesCLSID054AAE20_4BEA_4347_8A35_64A533254A9DLocalServer32
push eax
lea ecx, [ebp - 0x27c]
mov dword [ebp - 4], ebx
call fcn.0041b686
push 0x208
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.00464590
add esp, 0xc
mov dword [ebp - 0x264], 0x104
lea eax, [ebp - 0x264]
lea ecx, [ebp - 0x27c]
push eax
lea eax, [ebp - 0x218]
push eax
push 0x4cf2f0
call fcn.0041b5b0
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x248]
call fcn.00404d2c
push ebx
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 1
call fcn.00404e0f
push eax
call fcn.00404cf7
pop ecx
push eax
mov ecx, edi
call fcn.0040af9e
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x270]
call fcn.0041f13e
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
call fcn.00404dc9
push dword [ebp - 0x26c]
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x264], 2
call fcn.00403e76
cmp dword [ebp - 0x26c], ebx
jbe 0x452f21
mov edi, ebx
mov eax, dword [ebp - 0x270]
movzx esi, word [eax + edi*2]
mov eax, esi
lea ecx, [eax - 0x41]
add eax, 0x20
movzx edx, ax
cmp cx, 0x19
mov eax, esi
lea ecx, [ebp - 0x230]
cmova edx, eax
movzx eax, dx
push eax
call fcn.004061e5
inc edi
cmp edi, dword [ebp - 0x26c]
jb 0x452ee5
mov edi, dword [ebp - 0x268]
lea eax, [ebp - 0x230]
mov dword [ebp - 4], 1
push eax
mov ecx, edi
call fcn.00405cfe
lea ecx, [ebp - 0x230]
call fcn.00405118
push ebx
push 0x4d3b74
mov ecx, edi
call fcn.00416ec5
mov dword [ebp - 0x268], eax
cmp eax, 0xffffffff
je 0x453052
push 0x14
push eax
mov ecx, edi
call fcn.0041847d
lea ecx, [ebp - 0x230]
call fcn.00404dc9
push ebx
push ebx
push str.CommonProgramW6432
mov byte [ebp - 4], 3
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov esi, eax
test esi, esi
je 0x452fc0
push esi
lea ecx, [ebp - 0x230]
call fcn.00403e76
push ebx
lea eax, [esi - 1]
push eax
lea ecx, [ebp - 0x230]
call fcn.0040af9e
push esi
push ebx
lea ecx, [ebp - 0x230]
call fcn.0040afdc
push eax
push str.CommonProgramW6432
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
jmp 0x453033
mov ecx, 0x4d3710
call fcn.00415787
test eax, eax
je 0x453033
push str.SHGetKnownFolderPath
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x453033
lea ecx, [ebp - 0x264]
push ecx
push ebx
push ebx
push 0x4c6ab0
call eax
test eax, eax
jns 0x452fff
lea ecx, [ebp - 0x230]
call fcn.00405118
jmp 0x453061
push dword [ebp - 0x264]
lea ecx, [ebp - 0x260]
call fcn.00404d2c
push eax
lea ecx, [ebp - 0x230]
call fcn.00405cfe
lea ecx, [ebp - 0x260]
call fcn.00405118
push dword [ebp - 0x264]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
lea eax, [ebp - 0x230]
mov ecx, edi
push eax
push dword [ebp - 0x268]
call fcn.0040b44f
lea ecx, [ebp - 0x230]
call fcn.00405118
mov ecx, edi
call fcn.00405bc9
neg al
sbb al, al
inc al
mov bl, al
lea ecx, [ebp - 0x248]
call fcn.00405118
cmp dword [ebp - 0x27c], 0
je 0x453081
push dword [ebp - 0x27c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov al, bl
call fcn.00461a3b
ret 4