Function at 0x4025ff
Capabilities:
Set environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x428a7d
mov eax, dword fs:[0]
push eax
sub esp, 0x1c8
mov eax, dword [0x43b060]
xor eax, esp
mov dword [esp + 0x1c0], eax
push ebx
push esi
push edi
mov eax, dword [0x43b060]
xor eax, esp
push eax
lea eax, [esp + 0x1d8]
mov dword fs:[0], eax
push 7
pop ecx
mov esi, str.t63UNmGw59kuD3eIxeucFeUSLhYuEG
lea edi, [esp + 0xa4]
rep movsd dword es:[edi], dword [esi]
push 0x12
lea eax, [esp + 0xa8]
push str.getMathOperations
movsw word es:[edi], word [esi]
push eax
movsb byte es:[edi], byte [esi]
call fcn.00412479
add esp, 0xc
test eax, eax
jne 0x402678
push 0x61
pop ecx
call fcn.004025d6
push 0x11
pop ebx
push ebx
mov esi, str.getLocalComputer
lea eax, [esp + 0xa8]
push esi
push eax
call fcn.00412479
add esp, 0xc
test eax, eax
jne 0x40269b
call fcn.00401f85
push 0x104
lea eax, [esp + 0xc8]
xor edi, edi
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push ebx
lea eax, [esp + 0xa8]
push esi
push eax
call fcn.00412479
add esp, 0xc
test eax, eax
jne 0x4026cc
call fcn.00401f85
lea ecx, [esp + 0xc4]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4026d6
sub ecx, edx
cmp ecx, 4
jl 0x4029ce
lea eax, [esp + ecx + 0xc0]
push str..exe
push eax
call fcn.00407e41
pop ecx
pop ecx
test eax, eax
jne 0x4029ce
push ebx
lea eax, [esp + 0xa8]
push esi
push eax
call fcn.00412479
add esp, 0xc
test eax, eax
jne 0x40271f
call fcn.00401f85
lea edx, [esp + 0xa4]
call fcn.00402232
lea ecx, [esp + 0x5c]
call fcn.00402a7f
lea edx, [esp + 0xa4]
mov dword [esp + 0x1e0], edi
call fcn.00402232
push 0x12
lea eax, [esp + 0xa8]
push str.getMathOperations
push eax
call fcn.00412479
add esp, 0xc
test eax, eax
jne 0x40276a
push 0x20
pop ecx
call fcn.004025d6
cmp dword [esp + 0x6c], 0
jne 0x402785
lea edx, [esp + 0xa4]
call fcn.00402232
push 0x29
pop esi
jmp 0x4029be
push ebx
lea eax, [esp + 0xa8]
push esi
push eax
call fcn.00412479
add esp, 0xc
test eax, eax
jne 0x4027a0
call fcn.00401f85
push ecx
lea edx, [esp + 0x60]
lea ecx, [esp + 0x48]
call fcn.0040709e
mov byte [esp + 0x1e4], 1
lea ecx, [esp + 0x90]
mov edx, eax
mov dword [esp], str.D97BD013_846D_454A_A1E2_58F8D27E0EBF.exe
call fcn.0040706a
pop ecx
push edi
push 1
lea ecx, [esp + 0x4c]
mov byte [esp + 0x1e8], 3
call fcn.0040326b
push ecx
lea edx, [esp + 0x60]
lea ecx, [esp + 0x30]
call fcn.0040709e
mov byte [esp + 0x1e4], 4
lea ecx, [esp + 0x18]
mov edx, eax
mov dword [esp], str.InstallerHelper
call fcn.0040706a
mov byte [esp + 0x1e4], 5
lea ecx, [esp + 0x78]
mov edx, eax
mov dword [esp], str..dll
call fcn.0040706a
pop ecx
push edi
push 1
lea ecx, [esp + 0x1c]
call fcn.0040326b
push edi
push 1
lea ecx, [esp + 0x34]
mov byte [esp + 0x1e8], 8
call fcn.0040326b
push 0x1c
lea edx, [esp + 0xa8]
pop ecx
call fcn.00402545
push ecx
push ecx
lea ecx, [esp + 0x7c]
call fcn.00407cd0
push ebx
lea eax, [esp + 0xb0]
push esi
push eax
call fcn.00412479
add esp, 0x14
test eax, eax
jne 0x402878
call fcn.00401f85
push ebx
lea eax, [esp + 0xa8]
push esi
push eax
call fcn.00412479
add esp, 0xc
test eax, eax
jne 0x402893
call fcn.00401f85
cmp dword [esp + 0x88], 0x10
lea eax, [esp + 0x74]
cmovae eax, dword [esp + 0x74]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
jne 0x4028b9
push 0x2d
pop esi
jmp 0x4029a3
push 0x40
lea edx, [esp + 0xa8]
pop ecx
call fcn.00402545
push str.f79050
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
test edi, edi
jne 0x4028f1
push 3
lea edx, [esp + 0xa8]
pop ecx
call fcn.00402545
push 0x2c
pop esi
jmp 0x4029a3
push ebx
lea eax, [esp + 0xa8]
push str.getLocalComputer
push eax
call fcn.00412479
add esp, 0xc
test eax, eax
jne 0x402910
call fcn.00401f85
call edi
lea edx, [esp + 0xa4]
call fcn.00402232
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea edx, [esp + 0xa4]
call fcn.00402232
push ebx
lea eax, [esp + 0xa8]
push str.getLocalComputer
push eax
call fcn.00412479
add esp, 0xc
test eax, eax
jne 0x402950
call fcn.00401f85
lea ecx, [esp + 0x5c]
call fcn.00407c20
push 0x12
lea eax, [esp + 0xa8]
push str.getMathOperations
push eax
call fcn.00412479
add esp, 0xc
test eax, eax
jne 0x40297c
push 0x1b
pop ecx
call fcn.004025d6
lea eax, [esp + 0xa4]
push eax
push 0x430f48
call fcn.00408a8c
pop ecx
pop ecx
lea eax, [esp + 0xa4]
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
xor edi, edi
mov esi, edi
push edi
push 1
lea ecx, [esp + 0x7c]
call fcn.0040326b
push edi
push 1
lea ecx, [esp + 0x94]
call fcn.0040326b
push edi
push 1
lea ecx, [esp + 0x64]
call fcn.0040326b
mov eax, esi
jmp 0x4029d0
xor eax, eax
mov ecx, dword [esp + 0x1d8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1c0]
xor ecx, esp
call fcn.00407d71
mov esp, ebp
pop ebp
ret 8