Function at 0x100e767
Capabilities:
Check os version
Get common file path
Set environment variable

Disassembly:
call fcn.01013d6c
push 3
push 0xb86
call fcn.0100951d
call dword [sym.imp.ole32.dll_CoUninitialize]
mov dword [ebp - 4], 4
jmp 0x10133d2
cmp dword [ebp - 0x34c], 0
je 0x1013590
xor ebx, ebx
inc ebx
cmp dword [ebp - 0x34c], ebx
je 0x10134ee
mov edi, dword [sym.imp.msvcrt.dll__wcsicmp]
cmp ebx, dword [ebp - 0x34c]
jge 0x100e2f2
mov eax, dword [ebp - 0x344]
lea esi, [eax + ebx*4]
mov eax, dword [esi]
movzx ecx, word [eax]
cmp cx, 0x2f
jne 0x100e31a
add eax, 2
push 0x100e2e8
push eax
call edi
test eax, eax
pop ecx
pop ecx
je 0x100e326
mov eax, dword [esi]
inc eax
inc eax
push 0x100e2d4
push eax
call edi
test eax, eax
pop ecx
pop ecx
je 0x100e326
mov eax, dword [esi]
inc eax
inc eax
push 0x100e2c0
push eax
call edi
test eax, eax
pop ecx
pop ecx
jne 0x1013517
inc ebx
jmp 0x100e256
lea ecx, [ebp - 0x348]
call fcn.0100cd35
xor edi, edi
push edi
mov esi, 0x104d248
push 0x104dab8
mov ecx, esi
mov byte [ebp - 4], 8
call fcn.0100e32e
jmp 0x1013560
cmp cx, 0x2d
je 0x100e27a
jmp 0x100e2bb
inc ebx
jmp 0x100e2bb
push 0x3a0
mov eax, 0x1042185
call fcn.01002f53
xor edi, edi
push edi
push edi
xor ebx, ebx
inc ebx
push ebx
push edi
mov dword [ebp - 0x338], edi
call dword [sym.imp.KERNEL32.dll_HeapSetInformation]
mov dword [ebp - 0x358], edi
mov dword [ebp - 0x344], edi
push edi
mov dword [ebp - 4], edi
call fcn.0100ef38
call fcn.0100cd51
jmp 0x1013278
push 0x20
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_SetPriorityClass]
lea ecx, [ebp - 0x340]
mov dword [ebp - 0x340], edi
call fcn.0100f32b
lea ecx, [ebp - 0x38c]
mov byte [ebp - 4], 1
call fcn.0100f2c6
lea ecx, [ebp - 0x350]
mov byte [ebp - 4], 2
call fcn.0100bab1
lea ecx, [ebp - 0x354]
mov byte [ebp - 4], 3
call fcn.0100bd05
lea eax, [ebp - 0x21c]
push eax
push edi
push edi
push 0x801c
push edi
mov byte [ebp - 4], 4
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
cmp eax, edi
jl 0x10133cc
lea eax, [ebp - 0x21c]
push eax
push 0x100b048
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
cmp eax, edi
jne 0x1013489
jmp 0x10133cc
mov eax, dword [ebp - 0x350]
mov dword [ebp - 0x348], eax
lea eax, [ebp - 0x334]
push eax
lea eax, [ebp - 0x33c]
push eax
lea eax, [ebp - 0x348]
push eax
push ebx
mov esi, 0xc0100000
push ebx
lea ecx, [ebp - 0x340]
mov byte [ebp - 4], 5
mov byte [ebp - 0x334], 0
mov dword [ebp - 0x33c], esi
call fcn.0100e977
mov eax, dword [ebp - 0x354]
mov dword [ebp - 0x33c], eax
lea eax, [ebp - 0x334]
push eax
lea eax, [ebp - 0x348]
push eax
lea eax, [ebp - 0x33c]
push eax
push ebx
push ebx
lea ecx, [ebp - 0x340]
mov byte [ebp - 0x334], 0
mov dword [ebp - 0x348], esi
call fcn.0100e977
push edi
push dword [ebp - 0x340]
lea ecx, [ebp - 0x38c]
push ebx
mov dword [ebp - 4], 4
call fcn.0100d4f1
and dword [ebp - 0x33c], 0
lea eax, [ebp - 0x38c]
mov dword [ebp - 0x35c], edi
mov dword [ebp - 0x364], 0xc
mov dword [ebp - 0x360], eax
lea edi, [ebp - 0x364]
mov esi, 0x1050b8c
push 0x100e950
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
push eax
mov ecx, esi
call fcn.0100b77e
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x1050b90], 0
mov ebx, eax
je 0x10134a1
test ebx, ebx
jne 0x10134a1
mov eax, dword [ebp + 8]
mov dword [0x104d050], eax
lea eax, [ebp - 0x34c]
push eax
mov byte [ebp - 4], 7
call fcn.0100ef7c
jmp 0x10134db
cmp byte [0x1050d75], 0
jne 0x101334b
lea eax, [ebp - 0x330]
push eax
mov dword [ebp - 0x330], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp eax, edi
je 0x10132b7
cmp dword [ebp - 0x32c], 6
setb al
test al, al
mov byte [0x1050d76], al
jne 0x1013340
push 0x101364c
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edi, eax
test edi, edi
je 0x1013315
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x1013640
push edi
call esi
test eax, eax
mov dword [0x1050d78], eax
je 0x1013315
push 0x1013630
push edi
call esi
test eax, eax
mov dword [0x1050c1c], eax
je 0x101330b
push 0x1013620
push edi
call esi
test eax, eax
mov dword [0x1050c20], eax
jne 0x101331e
mov dword [0x1050c20], 0x101dd46
mov dword [0x1050c1c], 0x101dcfd
mov al, 1
mov byte [0x1050d76], al
jmp 0x1013340
push 0x1013610
push edi
call esi
test eax, eax
mov dword [0x1050b68], eax
jne 0x101333b
mov dword [0x1050b68], 0x101dd8d
jmp 0x1013301
mov al, byte [0x1050d76]
mov byte [0x1050d75], 1
xor edi, edi
jmp 0x1013350
mov al, byte [0x1050d76]
mov cl, al
neg cl
push 0x1050b70
sbb ecx, ecx
and ecx, 0x1050d90
neg al
push ecx
sbb eax, eax
and eax, 0x102263c
push eax
push 0x10135cc
call dword [0x1050c1c]
mov esi, 0x10135f0
push esi
push dword [0x1050b74]
push dword [0x1050b70]
call dword [0x1050b68]
test al, al
je 0x10133b1
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x10135dc
push esi
push dword [0x1050b74]
push dword [0x1050b70]
call fcn.010337bb
push 0x1013668
push 0xffffffffffffffff
call fcn.0102e729
mov ecx, 0x1050f2c
call fcn.0102e57d
jmp 0x100e7aa
mov dword [ebp - 0x338], ebx
mov esi, 0x1013600
push esi
push dword [0x1050b74]
push dword [0x1050b70]
call dword [0x1050b68]
test al, al
je 0x101340c
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x10135dc
push esi
push dword [0x1050b74]
push dword [0x1050b70]
call fcn.010337bb
push dword [0x1050b74]
push dword [0x1050b70]
call dword [0x1050c20]
lea ecx, [ebp - 0x354]
mov byte [ebp - 4], 3
call fcn.0100c21a
lea ecx, [ebp - 0x350]
mov byte [ebp - 4], 2
call fcn.0100c21a
lea ecx, [ebp - 0x38c]
mov byte [ebp - 4], 1
call fcn.010225e3
push dword [ebp - 0x340]
mov byte [ebp - 4], 0
call dword [0x1050b60]
and dword [ebp - 0x340], 0
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x344], 0
je 0x101347b
push dword [ebp - 0x344]
call dword [0x1050b60]
mov eax, dword [ebp - 0x338]
call fcn.01002f93
ret 0x10
lea ecx, [ebp - 0x38c]
call fcn.0100f84c
jmp 0x100e837
xor ebx, ebx
inc ebx
jmp 0x100e8fe
push 0
mov ecx, esi
call fcn.0100b77e
cmp ebx, 0xb7
jne 0x10134f9
cmp dword [ebp - 0x33c], 0xe
je 0x1013508
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
inc dword [ebp - 0x33c]
cmp dword [ebp - 0x33c], 0xf
jae 0x100e930
jmp 0x1013499
test eax, eax
mov dword [ebp - 0x344], eax
jne 0x100e234
jmp 0x1013590
mov dword [ebp - 0x338], ebx
jmp 0x101359a
mov dword [ebp - 0x338], 1
jmp 0x10133d2
mov dword [ebp - 0x338], 2
jmp 0x10133d2
mov eax, dword [esi]
inc eax
inc eax
push 0x1013660
push eax
call edi
test eax, eax
pop ecx
pop ecx
jne 0x1013538
mov dword [ebp - 0x358], 1
jmp 0x100e326
lea ecx, [ebp - 0x3ac]
call fcn.01022ebf
mov esi, eax
lea edi, [ebp - 0x39c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x1048284
lea eax, [ebp - 0x39c]
push eax
movsd dword es:[edi], dword [esi]
call sub.msvcrt.dll__CxxThrowException
cmp eax, edi
jge 0x1013572
mov dword [ebp - 0x338], eax
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x101359a
cmp dword [ebp - 0x358], edi
mov ecx, esi
je 0x100d154
push edi
push edi
call fcn.0100d0c1
mov ecx, esi
call fcn.0102c821
jmp 0x1013564
mov dword [ebp - 0x338], 1
mov byte [ebp - 4], 4
jmp 0x10133d2