Function at 0x401512
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x35c
mov dword [ebp - 0x334], sym.___gxx_personality_sj0
mov dword [ebp - 0x330], 0x43b75c
lea eax, [ebp - 0x32c]
lea edx, [ebp - 0x18]
mov dword [eax], edx
mov edx, 0x401771
mov dword [eax + 4], edx
mov dword [eax + 8], esp
lea eax, [ebp - 0x34c]
mov dword [esp], eax
call sym.__Unwind_SjLj_Register
lea eax, [ebp - 0x118]
mov dword [esp], eax
mov dword [ebp - 0x348], 0xffffffff
call method.std::basic_fstream_char__std::char_traits_char___.basic_fstream__
movzx eax, byte [0x43e0a0]
mov byte [ebp - 0x218], al
lea edx, [ebp - 0x217]
mov eax, 0xfe
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], edx
call sym._memset
movzx eax, byte [0x43e0a0]
mov byte [ebp - 0x318], al
lea edx, [ebp - 0x317]
mov eax, 0xfe
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], edx
call sym._memset
mov dword [esp + 8], 0xff
lea eax, [ebp - 0x318]
mov dword [esp + 4], eax
mov dword [esp], str.windir
mov dword [ebp - 0x348], 1
call sub.KERNEL32.dll_GetEnvironmentVariableA
sub esp, 0xc
lea eax, [ebp - 0x318]
mov dword [esp + 4], eax
lea eax, [ebp - 0x218]
mov dword [esp], eax
call sym._strcpy
mov dword [esp + 8], 0x19
mov dword [esp + 4], str.System32MSVBVM60.DLL
lea eax, [ebp - 0x218]
mov dword [esp], eax
call sym._strncat
mov dword [esp + 8], 8
lea eax, [ebp - 0x218]
mov dword [esp + 4], eax
lea eax, [ebp - 0x118]
mov dword [esp], eax
call method.std::basic_fstream_char__std::char_traits_char___.open_char_const__std::_Ios_Openmode_
lea eax, [ebp - 0x118]
mov dword [esp], eax
call method.std::basic_fstream_char__std::char_traits_char___.is_open__
test al, al
je 0x40168e
lea eax, [ebp - 0x118]
mov dword [esp], eax
call method.std::basic_fstream_char__std::char_traits_char___.close__
lea eax, [ebp - 0x118]
mov dword [esp], eax
mov dword [ebp - 0x348], 0xffffffff
call fcn.00431920
mov dword [ebp - 0x350], 1
jmp 0x4017c8
lea eax, [ebp - 0x318]
mov dword [esp + 4], eax
lea eax, [ebp - 0x218]
mov dword [esp], eax
mov dword [ebp - 0x348], 1
call sym._strcpy
mov dword [esp + 8], 0x19
mov dword [esp + 4], str.SystemMSVBVM60.DLL
lea eax, [ebp - 0x218]
mov dword [esp], eax
call sym._strncat
mov dword [esp + 8], 8
lea eax, [ebp - 0x218]
mov dword [esp + 4], eax
lea eax, [ebp - 0x118]
mov dword [esp], eax
call method.std::basic_fstream_char__std::char_traits_char___.open_char_const__std::_Ios_Openmode_
lea eax, [ebp - 0x118]
mov dword [esp], eax
call method.std::basic_fstream_char__std::char_traits_char___.is_open__
test al, al
je 0x401735
lea eax, [ebp - 0x118]
mov dword [esp], eax
call method.std::basic_fstream_char__std::char_traits_char___.close__
lea eax, [ebp - 0x118]
mov dword [esp], eax
mov dword [ebp - 0x348], 0xffffffff
call fcn.00431920
mov dword [ebp - 0x350], 1
jmp 0x4017c8
lea eax, [ebp - 0x118]
mov dword [esp], eax
mov dword [ebp - 0x348], 1
call method.std::basic_fstream_char__std::char_traits_char___.close__
lea eax, [ebp - 0x118]
mov dword [esp], eax
mov dword [ebp - 0x348], 0xffffffff
call fcn.00431920
mov dword [ebp - 0x350], 0
jmp 0x4017c8
lea eax, [ebp - 0x34c]
mov dword [esp], eax
call sym.__Unwind_SjLj_Unregister
mov eax, dword [ebp - 0x350]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret