Function at 0x10015ef
Capabilities:
Create thread
Query or enumerate registry value
Set environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x94
mov eax, dword [0x1006084]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
xor edi, edi
push edi
push edi
push 1
push edi
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x6c], edi
call dword [sym.imp.KERNEL32.dll_HeapSetInformation]
push 0x52
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x1001658
push 0x1001828
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x6c], eax
cmp eax, edi
je 0x1001658
push 0x1001818
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
cmp eax, edi
je 0x1001658
push 0xffffffffffffffff
call eax
mov esi, 0x10017f0
push esi
call fcn.01002117
push 0x10017c8
mov dword [ebp - 0x78], eax
call fcn.01002117
mov ebx, 0x1001798
push ebx
mov dword [ebp - 0x80], eax
call fcn.01002478
push edi
push esi
mov esi, dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov dword [ebp - 0x70], eax
call esi
push edi
push 0x10017c8
call esi
push edi
push ebx
call esi
call fcn.01002d57
mov esi, eax
call fcn.01002496
call fcn.010024cf
test eax, eax
jne 0x10042a0
push 0x12c
call dword [sym.imp.dwmapi.dll_Ordinal_115]
call fcn.01002ec9
cmp esi, edi
jne 0x10042db
call fcn.01002808
mov dword [ebp - 0x7c], eax
call fcn.01002e83
push 1
push edi
push dword [ebp - 0x80]
push dword [ebp - 0x78]
call fcn.0100134d
push edi
push dword [ebp - 0x70]
call fcn.01001853
push dword [ebp - 0x78]
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
call esi
push dword [ebp - 0x80]
call esi
push dword [ebp - 0x70]
call esi
push 0xfffffffffffffffe
call dword [sym.imp.API_MS_Win_Core_ProcessThreads_L1_1_0.dll_GetCurrentThread]
push eax
call dword [sym.imp.API_MS_Win_Core_ProcessThreads_L1_1_0.dll_SetThreadPriority]
call sub.USER32.dll_LoadRemoteFonts
push dword [ebp - 0x88]
call fcn.01001d97
lea eax, [ebp - 0x94]
push eax
push edi
lea eax, [ebp - 0x7c]
push eax
push 0x1001880
push edi
push edi
call dword [sym.imp.API_MS_Win_Core_ProcessThreads_L1_1_0.dll_CreateThread]
mov esi, eax
cmp esi, edi
je 0x1001752
push 0x493e0
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp - 0x74]
push eax
push 0x20019
push edi
push 0x1001fa8
push 0x80000001
call dword [sym.imp.API_MS_Win_Core_LocalRegistry_L1_1_0.dll_RegOpenKeyExW]
test eax, eax
je 0x1004304
cmp dword [ebp - 0x6c], edi
pop edi
pop esi
pop ebx
je 0x1001785
push dword [ebp - 0x6c]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, dword [ebp - 4]
xor ecx, ebp
xor eax, eax
call fcn.01001841
leave
ret 0x10
cmp dword [ebp - 0x70], edi
je 0x10042a8
xor esi, esi
inc esi
push 0x10043d4
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebx, eax
cmp ebx, edi
je 0x10016b0
push 0x10043bc
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
cmp eax, edi
je 0x10042cf
call eax
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x10016b0
call fcn.01002e83
push 1
push esi
push dword [ebp - 0x80]
push dword [ebp - 0x78]
call fcn.0100134d
push esi
push dword [ebp - 0x70]
call fcn.01001853
call fcn.01002808
mov dword [ebp - 0x7c], eax
jmp 0x10016ec
push 4
pop esi
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x90]
push eax
push edi
push 0x1004394
push dword [ebp - 0x74]
mov dword [ebp - 0x84], edi
mov dword [ebp - 0x8c], esi
call dword [sym.imp.API_MS_Win_Core_LocalRegistry_L1_1_0.dll_RegQueryValueExW]
test eax, eax
jne 0x1004369
cmp dword [ebp - 0x90], esi
jne 0x1004369
cmp dword [ebp - 0x84], edi
je 0x1004369
push 0x1004378
push 0x32
lea eax, [ebp - 0x68]
push eax
call fcn.01002170
push 1
push edi
push edi
push edi
lea eax, [ebp - 0x68]
push eax
call fcn.01001195
push dword [ebp - 0x74]
call dword [sym.imp.API_MS_Win_Core_LocalRegistry_L1_1_0.dll_RegCloseKey]
jmp 0x1001774