Function at 0x404fc2
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x34
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov eax, dword [eax]
test eax, eax
je 0x405040
mov dword [esp + 4], str.ProgramFiles
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call method.bool_std::operator_wchar_t__std::char_traits_wchar_t___std.allocator_wchar_t____std::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____const__wchar_t_const_
test al, al
jne 0x40501c
mov dword [esp + 4], str.programfiles
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call method.bool_std::operator_wchar_t__std::char_traits_wchar_t___std.allocator_wchar_t____std::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____const__wchar_t_const_
test al, al
jne 0x40501c
mov dword [esp + 4], str.PROGRAMFILES
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call method.bool_std::operator_wchar_t__std::char_traits_wchar_t___std.allocator_wchar_t____std::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____const__wchar_t_const_
test al, al
je 0x405023
mov eax, 1
jmp 0x405028
mov eax, 0
test al, al
je 0x405040
mov eax, dword [ebp + 0xc]
mov dword [esp], str.ProgramW6432
mov ecx, eax
call fcn.0041e340
sub esp, 4
mov eax, dword [ebp + 0xc]
mov ecx, eax
call method.std::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___.c_str___const
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._GetEnvironmentVariableW_12
sub esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x405124
lea eax, [ebp - 0xe]
mov ecx, eax
call fcn.0041bfd0
mov eax, dword [ebp - 0xc]
lea ecx, [eax + 1]
lea eax, [ebp - 0x1c]
lea edx, [ebp - 0xe]
mov dword [esp + 4], edx
mov dword [esp], ecx
mov ecx, eax
call method.std::vector_wchar_t__std::allocator_wchar_t___.vector_unsigned_int__std::allocator_wchar_t__const_
sub esp, 8
lea eax, [ebp - 0xe]
mov ecx, eax
call sym.std::allocator_wchar_t_::allocator__
lea eax, [ebp - 0x1c]
mov dword [esp], 0
mov ecx, eax
call method.std::vector_wchar_t__std::allocator_wchar_t___.operator___unsigned_int_
sub esp, 4
mov ebx, eax
mov eax, dword [ebp + 0xc]
mov ecx, eax
call method.std::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___.c_str___const
mov edx, dword [ebp - 0xc]
mov dword [esp + 8], edx
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym._GetEnvironmentVariableW_12
sub esp, 0xc
lea eax, [ebp - 0xd]
mov ecx, eax
call fcn.0041bfd0
lea eax, [ebp - 0x1c]
mov dword [esp], 0
mov ecx, eax
call method.std::vector_wchar_t__std::allocator_wchar_t___.operator___unsigned_int_
sub esp, 4
mov edx, dword [ebp - 0x2c]
lea ecx, [ebp - 0xd]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov ecx, edx
call method.std::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___.basic_string_wchar_t_const__std::allocator_wchar_t__const_
sub esp, 8
lea eax, [ebp - 0xd]
mov ecx, eax
call sym.std::allocator_wchar_t_::allocator__
lea eax, [ebp - 0x1c]
mov ecx, eax
call method.std::vector_wchar_t__std::allocator_wchar_t___.vector__
jmp 0x405164
mov eax, dword [ebp - 0x2c]
mov ecx, eax
call fcn.0041df10
jmp 0x405164
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 4]
leave
ret 8