Function at 0x401c56
Capabilities:
Set environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x423bcf
mov eax, dword fs:[0]
push eax
sub esp, 0x1c4
mov eax, dword [0x42f060]
xor eax, esp
mov dword [esp + 0x1bc], eax
push esi
push edi
mov eax, dword [0x42f060]
xor eax, esp
push eax
lea eax, [esp + 0x1d0]
mov dword fs:[0], eax
push 7
pop ecx
mov esi, str.0nYTj30YKUxImkO61dkOFLP9fX5flM
lea edi, [esp + 0x9c]
rep movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x9c]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
call fcn.00401aec
push 0x2d
pop esi
lea edx, [esp + 0x9c]
mov ecx, esi
call fcn.00401a37
push 0x104
lea eax, [esp + 0xc0]
xor edi, edi
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x35
lea edx, [esp + 0xa0]
pop ecx
call fcn.00401c00
lea ecx, [esp + 0xbc]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x401cf7
sub ecx, edx
cmp ecx, 4
jl 0x401fdd
lea eax, [esp + ecx + 0xb8]
push str..exe
push eax
call fcn.00406c61
pop ecx
pop ecx
test eax, eax
jne 0x401fdd
push 0x41
lea edx, [esp + 0xa0]
pop ecx
call fcn.00401a37
push 0x13
lea edx, [esp + 0xa0]
pop ecx
call fcn.00401b91
lea ecx, [esp + 0x54]
call fcn.0040205e
lea edx, [esp + 0x9c]
mov dword [esp + 0x1d8], edi
call fcn.00401aec
cmp dword [esp + 0x64], 0
jne 0x401dae
push 0x72
mov ecx, 0x431a68
call fcn.00402354
lea edx, [esp + 0x9c]
call fcn.00401aec
xor esi, esi
inc esi
push 0x72
pop eax
lea ecx, [esi + 0x2a]
cdq
idiv ecx
test edx, edx
jne 0x401da0
push esi
mov ecx, 0x431a68
call fcn.00402354
push eax
call fcn.00405f82
pop ecx
inc esi
cmp esi, 0x72
jle 0x401d81
push 0x29
pop esi
jmp 0x401fcd
push 0x32
lea edx, [esp + 0xa0]
pop ecx
call fcn.00401c00
push ecx
lea edx, [esp + 0x58]
lea ecx, [esp + 0x40]
call fcn.00405fb6
mov byte [esp + 0x1dc], 1
lea ecx, [esp + 0x88]
mov edx, eax
mov dword [esp], str.4B0E5F49_3990_4450_85F6_F24C8F64B3E8.exe
call fcn.00406070
pop ecx
push edi
push 1
lea ecx, [esp + 0x44]
mov byte [esp + 0x1e0], 3
call fcn.0040267b
push ecx
lea edx, [esp + 0x58]
lea ecx, [esp + 0x28]
call fcn.00405fb6
mov byte [esp + 0x1dc], 4
lea ecx, [esp + 0x10]
mov edx, eax
mov dword [esp], str.InstallerHelper
call fcn.00406070
mov byte [esp + 0x1dc], 5
lea ecx, [esp + 0x70]
mov edx, eax
mov dword [esp], str..dll
call fcn.00406070
pop ecx
push edi
push 1
lea ecx, [esp + 0x14]
call fcn.0040267b
push edi
push 1
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1e0], 8
call fcn.0040267b
push 9
mov edi, str.registry
lea eax, [esp + 0xa0]
push edi
push eax
call fcn.0041118c
add esp, 0xc
test eax, eax
jne 0x401e88
lea edx, [esp + 0x9c]
call fcn.00401aec
push ecx
push ecx
lea ecx, [esp + 0x74]
call fcn.00406af0
lea edx, [esp + 0xa4]
call fcn.00401aec
push 9
lea eax, [esp + 0xa8]
push edi
push eax
call fcn.0041118c
add esp, 0x14
test eax, eax
jne 0x401ec2
lea edx, [esp + 0x9c]
call fcn.00401aec
cmp dword [esp + 0x80], 0x10
lea eax, [esp + 0x6c]
cmovae eax, dword [esp + 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
jne 0x401ef1
push 0x55
lea edx, [esp + 0xa0]
pop ecx
call fcn.00401a37
jmp 0x401f12
push str.f62582
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea edx, [esp + 0x9c]
mov esi, eax
call fcn.00401aec
test esi, esi
jne 0x401f19
push 0x2c
pop esi
xor edi, edi
jmp 0x401fb2
call esi
push 0x18
lea edx, [esp + 0xa0]
pop ecx
call fcn.00401b91
push 0x5a
lea edx, [esp + 0xa0]
pop ecx
call fcn.00401a37
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea edx, [esp + 0x9c]
call fcn.00401aec
push 9
lea eax, [esp + 0xa0]
push str.registry
push eax
call fcn.0041118c
add esp, 0xc
test eax, eax
jne 0x401f73
lea edx, [esp + 0x9c]
call fcn.00401aec
lea ecx, [esp + 0x54]
call fcn.00406a40
push 0x33
lea edx, [esp + 0xa0]
pop ecx
call fcn.00401a37
lea eax, [esp + 0x9c]
push eax
push 0x42b9a8
call fcn.004078ac
pop ecx
pop ecx
lea eax, [esp + 0x9c]
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
xor edi, edi
mov esi, edi
push edi
push 1
lea ecx, [esp + 0x74]
call fcn.0040267b
push edi
push 1
lea ecx, [esp + 0x8c]
call fcn.0040267b
push edi
push 1
lea ecx, [esp + 0x5c]
call fcn.0040267b
mov eax, esi
jmp 0x401fdf
xor eax, eax
mov ecx, dword [esp + 0x1d0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x1bc]
xor ecx, esp
call fcn.00406b91
mov esp, ebp
pop ebp
ret 8