Function at 0x40f4a0
Capabilities:
Query environment variable

Disassembly:
push 0xffffffffffffffff
push 0x42ca62
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x12c
push ebx
push esi
push edi
mov edi, ecx
mov ecx, dword [esp + 0x148]
push 0xffffffffffffffff
push 0
call fcn.0041fec7
lea ecx, [esp + 0x18]
call fcn.004100c7
lea eax, [edi + 0xa0]
push str.Profiles.
lea ecx, [esp + 0x10]
push eax
push ecx
mov dword [esp + 0x14c], 0
call fcn.00424506
mov eax, dword [eax]
push 0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x148], 1
call fcn.0041018a
lea ecx, [esp + 0xc]
mov esi, eax
mov byte [esp + 0x140], 0
call fcn.004242bd
test esi, esi
je 0x40f606
push ebp
lea ecx, [esp + 0x1c]
call fcn.004103aa
lea ecx, [esp + 0x1c]
mov ebp, eax
call fcn.00410371
test eax, eax
jne 0x40f5fd
mov edx, dword [esp + 0x1c]
push 0x10
lea ecx, [esp + 0x20]
call dword [edx + 0x38]
test eax, eax
je 0x40f5fd
lea eax, [esp + 0x10]
lea ecx, [esp + 0x1c]
push eax
call fcn.00410479
lea ecx, [esp + 0x14]
push 1
push ecx
lea ecx, [esp + 0x18]
mov byte [esp + 0x14c], 2
call fcn.0041f0df
mov eax, dword [eax]
mov esi, 0x4392c8
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x40f5b2
test cl, cl
je 0x40f5ae
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x40f5b2
add eax, 2
add esi, 2
test cl, cl
jne 0x40f58a
xor eax, eax
jmp 0x40f5b7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
lea ecx, [esp + 0x14]
setne bl
call fcn.004242bd
test bl, bl
je 0x40f5d7
push 0x4392c8
lea ecx, [esp + 0x14]
call fcn.0042464d
mov ecx, dword [esp + 0x14c]
lea edx, [esp + 0x10]
push edx
mov eax, dword [ecx + 8]
push eax
call fcn.00420010
lea ecx, [esp + 0x10]
mov byte [esp + 0x144], 0
call fcn.004242bd
test ebp, ebp
jne 0x40f52c
pop ebp
add edi, 0x9c
lea ecx, [esp + 0x14]
push edi
call fcn.00424032
mov eax, dword [esp + 0x14]
mov byte [esp + 0x140], 3
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x40f654
lea ecx, [esp + 0x34]
push 0x104
push ecx
push str.ALLUSERSPROFILE
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
je 0x40f7d6
lea edx, [esp + 0x34]
lea ecx, [esp + 0x14]
push edx
call fcn.004243fa
lea eax, [esp + 0x10]
push 1
push eax
lea ecx, [esp + 0x1c]
call fcn.0041f0df
mov eax, dword [eax]
mov esi, 0x4392c8
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x40f693
test cl, cl
je 0x40f68f
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x40f693
add eax, 2
add esi, 2
test cl, cl
jne 0x40f66b
xor eax, eax
jmp 0x40f698
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
lea ecx, [esp + 0x10]
setne bl
call fcn.004242bd
test bl, bl
je 0x40f6b8
push 0x4392c8
lea ecx, [esp + 0x18]
call fcn.0042464d
lea eax, [esp + 0x14]
push str....
lea ecx, [esp + 0x14]
push eax
push ecx
call fcn.00424506
mov eax, dword [eax]
push 0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x148], 4
call fcn.0041018a
lea ecx, [esp + 0x10]
mov esi, eax
mov byte [esp + 0x140], 3
call fcn.004242bd
test esi, esi
je 0x40f7d6
lea ecx, [esp + 0x18]
call fcn.004103aa
lea ecx, [esp + 0x18]
mov edi, eax
call fcn.00410371
test eax, eax
jne 0x40f7ce
mov edx, dword [esp + 0x18]
push 0x10
lea ecx, [esp + 0x1c]
call dword [edx + 0x38]
test eax, eax
je 0x40f7ce
lea eax, [esp + 0xc]
lea ecx, [esp + 0x18]
push eax
call fcn.00410479
lea ecx, [esp + 0x10]
push 1
push ecx
lea ecx, [esp + 0x14]
mov byte [esp + 0x148], 5
call fcn.0041f0df
mov eax, dword [eax]
mov esi, 0x4392c8
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x40f783
test cl, cl
je 0x40f77f
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x40f783
add eax, 2
add esi, 2
test cl, cl
jne 0x40f75b
xor eax, eax
jmp 0x40f788
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
lea ecx, [esp + 0x10]
setne bl
call fcn.004242bd
test bl, bl
je 0x40f7a8
push 0x4392c8
lea ecx, [esp + 0x10]
call fcn.0042464d
mov ecx, dword [esp + 0x148]
lea edx, [esp + 0xc]
push edx
mov eax, dword [ecx + 8]
push eax
call fcn.00420010
lea ecx, [esp + 0xc]
mov byte [esp + 0x140], 3
call fcn.004242bd
test edi, edi
jne 0x40f6fd
lea ecx, [esp + 0x14]
mov byte [esp + 0x140], 0
call fcn.004242bd
lea ecx, [esp + 0x18]
mov dword [esp + 0x140], 0xffffffff
call fcn.00410104
mov ecx, dword [esp + 0x138]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x138
ret 4