Function at 0x401aa3
Capabilities:
Set environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x412ccc
mov eax, dword fs:[0]
push eax
sub esp, 0x238
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 7
pop ecx
mov esi, str.VO5GwCXRFfZ8yf7UBEivWgB0tiGt7j
lea edi, [ebp - 0x30]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0x30]
push eax
push 0x4f
call fcn.00401876
pop ecx
pop ecx
push 0x104
lea eax, [ebp - 0x134]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x30]
push eax
push 0x5f
call fcn.00401981
pop ecx
pop ecx
lea eax, [ebp - 0x134]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x1a0]
inc eax
mov dword [ebp - 0x1d8], eax
mov eax, dword [ebp - 0x1a0]
mov al, byte [eax]
mov byte [ebp - 0x199], al
inc dword [ebp - 0x1a0]
cmp byte [ebp - 0x199], 0
jne 0x401b27
mov eax, dword [ebp - 0x1a0]
sub eax, dword [ebp - 0x1d8]
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x1ac], eax
cmp dword [ebp - 0x1ac], 4
jl 0x401b89
push str..exe
mov eax, dword [ebp - 0x1ac]
lea eax, [ebp + eax - 0x138]
push eax
call fcn.004034a5
pop ecx
pop ecx
test eax, eax
je 0x401b90
xor eax, eax
jmp 0x401fd0
lea eax, [ebp - 0x30]
push eax
push 0x1c
call fcn.00401864
pop ecx
pop ecx
lea eax, [ebp - 0x30]
push eax
push 0x41
call fcn.00401667
pop ecx
pop ecx
lea eax, [ebp - 0x30]
push eax
push 0x1d
call fcn.00401667
pop ecx
pop ecx
lea eax, [ebp - 0x14c]
push eax
call fcn.00402060
pop ecx
and dword [ebp - 4], 0
lea eax, [ebp - 0x30]
push eax
push 0x10
call fcn.0040157b
pop ecx
pop ecx
lea eax, [ebp - 0x30]
push eax
push 0x30
call fcn.00401864
pop ecx
pop ecx
lea ecx, [ebp - 0x14c]
call fcn.00402356
movzx eax, al
test eax, eax
je 0x401c25
lea eax, [ebp - 0x30]
push eax
push 0x52
call fcn.00401864
pop ecx
pop ecx
mov dword [ebp - 0x1e0], 0x1f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14c]
call fcn.004022ea
mov eax, dword [ebp - 0x1e0]
jmp 0x401fd0
lea eax, [ebp - 0x30]
push eax
push 0xd
call fcn.00401667
pop ecx
pop ecx
push 0x418714
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x1fc]
push eax
call fcn.00402cad
add esp, 0xc
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x1bc], eax
mov byte [ebp - 4], 1
push str.6E771AFE_39D4_4D0F_B167_2F0222A28662.exe
push dword [ebp - 0x1bc]
lea eax, [ebp - 0x164]
push eax
call fcn.00402d58
add esp, 0xc
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1fc]
call fcn.004022ea
lea eax, [ebp - 0x30]
push eax
push 0x56
call fcn.00401667
pop ecx
pop ecx
push 0
mov edx, 0x63ab
lea ecx, [ebp - 0x164]
call fcn.00403260
pop ecx
lea eax, [ebp - 0x30]
push eax
push 0xe
call fcn.00401679
pop ecx
pop ecx
push str._y__p
lea ecx, [ebp - 0x214]
call fcn.0040226d
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x1e4], eax
mov byte [ebp - 4], 4
push str.A1B35B39_8CA9_4680_93E6_AD4DAF20843E
push dword [ebp - 0x1e4]
lea eax, [ebp - 0x198]
push eax
call fcn.00402d58
add esp, 0xc
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x214]
call fcn.004022ea
lea eax, [ebp - 0x30]
push eax
push 2
call fcn.0040196f
pop ecx
pop ecx
lea eax, [ebp - 0x168]
push eax
push 0
lea ecx, [ebp - 0x14c]
call fcn.00402343
push eax
lea ecx, [ebp - 0x198]
call fcn.00402343
mov esi, eax
lea ecx, [ebp - 0x164]
call fcn.00402343
mov edx, esi
mov ecx, eax
call fcn.004032f0
add esp, 0xc
lea eax, [ebp - 0x30]
push eax
push 0x55
call fcn.00401569
pop ecx
pop ecx
push 0x418760
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x22c]
push eax
call fcn.00402cad
add esp, 0xc
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x1b8], eax
mov byte [ebp - 4], 7
push str.InstallerHelper
push dword [ebp - 0x1b8]
lea eax, [ebp - 0x244]
push eax
call fcn.00402d58
add esp, 0xc
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x1c0], eax
mov byte [ebp - 4], 8
push str..dll
push dword [ebp - 0x1c0]
lea eax, [ebp - 0x180]
push eax
call fcn.00402d58
add esp, 0xc
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x244]
call fcn.004022ea
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x22c]
call fcn.004022ea
lea ecx, [ebp - 0x180]
call fcn.00402343
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x1a4], eax
cmp dword [ebp - 0x1a4], 0
jne 0x401e73
lea eax, [ebp - 0x30]
push eax
push 0x45
call fcn.0040196f
pop ecx
pop ecx
mov dword [ebp - 0x1cc], 0x23
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x180]
call fcn.004022ea
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x198]
call fcn.004022ea
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x164]
call fcn.004022ea
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14c]
call fcn.004022ea
mov eax, dword [ebp - 0x1cc]
jmp 0x401fd0
lea eax, [ebp - 0x30]
push eax
push 3
call fcn.0040157b
pop ecx
pop ecx
push str.func97247
push dword [ebp - 0x1a4]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x1a8], eax
cmp dword [ebp - 0x1a8], 0
jne 0x401efe
lea eax, [ebp - 0x30]
push eax
push 0x5e
call fcn.00401981
pop ecx
pop ecx
mov dword [ebp - 0x1c8], 0x22
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x180]
call fcn.004022ea
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x198]
call fcn.004022ea
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x164]
call fcn.004022ea
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14c]
call fcn.004022ea
mov eax, dword [ebp - 0x1c8]
jmp 0x401fd0
lea eax, [ebp - 0x30]
push eax
push 1
call fcn.00401876
pop ecx
pop ecx
call dword [ebp - 0x1a8]
lea eax, [ebp - 0x30]
push eax
push 0x38
call fcn.00401679
pop ecx
pop ecx
lea eax, [ebp - 0x30]
push eax
push 0x62
call fcn.00401981
pop ecx
pop ecx
push dword [ebp - 0x1a4]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea eax, [ebp - 0x30]
push eax
push 0x1c
call fcn.00401981
pop ecx
pop ecx
lea eax, [ebp - 0x30]
push eax
push 0x55
call fcn.00401981
pop ecx
pop ecx
lea ecx, [ebp - 0x14c]
call fcn.004031b0
lea eax, [ebp - 0x30]
push eax
push 0x36
call fcn.0040196f
pop ecx
pop ecx
lea eax, [ebp - 0x30]
push eax
push 0x418770
call fcn.00403d29
pop ecx
pop ecx
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
and dword [ebp - 0x1d4], 0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x180]
call fcn.004022ea
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x198]
call fcn.004022ea
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x164]
call fcn.004022ea
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14c]
call fcn.004022ea
mov eax, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004033d5
mov esp, ebp
pop ebp
ret 0x10