Function at 0x40266a
Capabilities:
Check for time delay via queryperformancecounter
Set environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x428acd
mov eax, dword fs:[0]
push eax
sub esp, 0x1d0
mov eax, dword [0x43c060]
xor eax, esp
mov dword [esp + 0x1c8], eax
push ebx
push esi
push edi
mov eax, dword [0x43c060]
xor eax, esp
push eax
lea eax, [esp + 0x1e0]
mov dword fs:[0], eax
push 7
pop ecx
mov esi, str.XQNwiRxOk8CloCQzZemLYk3sDTIT3y
lea edi, [esp + 0xac]
rep movsd dword es:[edi], dword [esi]
lea edx, [esp + 0xac]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
call fcn.004022c6
push 0xe
lea eax, [esp + 0xb0]
push str.bshc_usingQpc
push eax
call fcn.00412449
mov edi, dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
add esp, 0xc
mov esi, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x402705
lea eax, [esp + 0x5c]
push eax
call edi
test eax, eax
je 0x402705
lea eax, [esp + 0x5c]
push eax
call esi
push 0x104
lea eax, [esp + 0xd0]
xor ebx, ebx
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0xe
lea eax, [esp + 0xb0]
push str.lastWriteTime
push eax
call fcn.00412449
add esp, 0xc
test eax, eax
jne 0x40273b
call fcn.00401f85
lea ecx, [esp + 0xcc]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402745
sub ecx, edx
cmp ecx, 4
jl 0x402a1e
lea eax, [esp + ecx + 0xc8]
push str..exe
push eax
call fcn.00407e81
pop ecx
pop ecx
test eax, eax
jne 0x402a1e
push 0x5f
lea edx, [esp + 0xb0]
pop ecx
call fcn.004025d9
lea ecx, [esp + 0x7c]
call fcn.00402ad7
push 0x1b
lea edx, [esp + 0xb0]
mov dword [esp + 0x1ec], ebx
pop ecx
call fcn.004025d9
push 0xe
lea eax, [esp + 0xb0]
push str.bshc_usingQpc
push eax
call fcn.00412449
add esp, 0xc
test eax, eax
jne 0x4027ce
lea eax, [esp + 0x5c]
push eax
call edi
test eax, eax
je 0x4027ce
lea eax, [esp + 0x5c]
push eax
call esi
cmp dword [esp + 0x8c], 0
jne 0x4027e0
push 0x29
pop esi
jmp 0x402a0b
lea edx, [esp + 0xac]
call fcn.004022c6
push ecx
lea edx, [esp + 0x80]
lea ecx, [esp + 0x48]
call fcn.004070df
mov byte [esp + 0x1ec], 1
lea ecx, [esp + 0x98]
mov edx, eax
mov dword [esp], str.07079E8F_7377_4A43_BD0F_9352C97FCA2D.exe
call fcn.004070ab
pop ecx
push ebx
push 1
lea ecx, [esp + 0x4c]
mov byte [esp + 0x1f0], 3
call fcn.004032ac
push ecx
lea edx, [esp + 0x80]
lea ecx, [esp + 0x30]
call fcn.004070df
mov byte [esp + 0x1ec], 4
lea ecx, [esp + 0x18]
mov edx, eax
mov dword [esp], str.InstallerHelper
call fcn.004070ab
mov byte [esp + 0x1ec], 5
lea ecx, [esp + 0x68]
mov edx, eax
mov dword [esp], str..dll
call fcn.004070ab
pop ecx
push ebx
push 1
lea ecx, [esp + 0x1c]
call fcn.004032ac
push ebx
push 1
lea ecx, [esp + 0x34]
mov byte [esp + 0x1f0], 8
call fcn.004032ac
push 0x11
lea eax, [esp + 0xb0]
push str.getLocalComputer
push eax
call fcn.00412449
add esp, 0xc
test eax, eax
jne 0x4028b5
call fcn.00402019
push ecx
push ecx
lea ecx, [esp + 0x6c]
call fcn.00407d10
push 0xe
lea eax, [esp + 0xb8]
push str.lastWriteTime
push eax
call fcn.00412449
add esp, 0x14
test eax, eax
jne 0x4028e0
call fcn.00401f85
cmp dword [esp + 0x78], 0x10
lea eax, [esp + 0x64]
cmovae eax, dword [esp + 0x64]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
lea edx, [esp + 0xac]
test esi, esi
jne 0x40290b
call fcn.004022c6
push 0x2d
jmp 0x402926
xor ecx, ecx
call fcn.004025d9
push str.f53083
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
test edi, edi
jne 0x40292c
push 0x2c
pop esi
jmp 0x4029f0
push 0xe
lea eax, [esp + 0xb0]
push str.lastWriteTime
push eax
call fcn.00412449
add esp, 0xc
test eax, eax
jne 0x40294c
call fcn.00401f85
call edi
push 6
lea edx, [esp + 0xb0]
pop ecx
call fcn.004025d9
push 0xe
lea eax, [esp + 0xb0]
push str.lastWriteTime
push eax
call fcn.00412449
add esp, 0xc
test eax, eax
jne 0x40297d
call fcn.00401f85
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push 0x11
lea eax, [esp + 0xb0]
push str.getLocalComputer
push eax
call fcn.00412449
add esp, 0xc
test eax, eax
jne 0x4029a4
call fcn.00402019
push 0x4b
lea edx, [esp + 0xb0]
pop ecx
call fcn.004025d9
lea ecx, [esp + 0x7c]
call fcn.00407c60
push 0x5d
lea edx, [esp + 0xb0]
pop ecx
call fcn.004025d9
lea eax, [esp + 0xac]
push eax
push 0x430f8c
call fcn.00408acc
pop ecx
pop ecx
lea eax, [esp + 0xac]
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
mov esi, ebx
push ebx
push 1
lea ecx, [esp + 0x6c]
call fcn.004032ac
push ebx
push 1
lea ecx, [esp + 0x9c]
call fcn.004032ac
push ebx
push 1
lea ecx, [esp + 0x84]
call fcn.004032ac
mov eax, esi
jmp 0x402a20
xor eax, eax
mov ecx, dword [esp + 0x1e0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1c8]
xor ecx, esp
call fcn.00407db1
mov esp, ebp
pop ebp
ret 8