Function at 0x1000270c
Capabilities:
Contain obfuscated stackstrings
Get common file path
Get session user name
Query or enumerate registry value
Set registry value

Disassembly:
push ebp
lea ebp, [esp - 0x1e0]
sub esp, 0x254
mov eax, dword [0x100271c0]
xor eax, ebp
mov dword [ebp + 0x1dc], eax
push ebx
push esi
push edi
push 0x200
call fcn.1001096c
mov dword [ebp - 0x64], eax
mov byte [eax], 0x30
mov byte [eax + 1], 0
mov dword [esp], 0x2e0d
call dword [sym.imp.USER32.dll_GetDC]
mov esi, dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [ebp - 0x3c]
push eax
mov edi, 0x104
push edi
call esi
push 0x667
mov byte [ebp + 0xcc], 0x53
mov byte [ebp + 0xcd], 0x6f
mov byte [ebp + 0xce], 0x66
call dword [sym.imp.USER32.dll_IsWindowVisible]
push 0x41c
push 0x1c1d
mov byte [ebp + 0xcf], 0x74
mov byte [ebp + 0xd0], 0x77
mov byte [ebp + 0xd1], 0x61
call dword [sym.imp.USER32.dll_GetClassLongA]
push 0x12a
lea eax, [ebp - 0x60]
push eax
mov byte [ebp + 0xd2], 0x72
mov byte [ebp + 0xd3], 0x65
mov byte [ebp + 0xd4], 0x5c
mov byte [ebp + 0xd5], 0x4d
call dword [sym.imp.KERNEL32.dll_GetConsoleTitleA]
lea eax, [ebp - 0x3c]
push eax
push edi
mov byte [ebp + 0xd6], 0x69
mov byte [ebp + 0xd7], 0x63
call esi
lea eax, [ebp - 0x3c]
push eax
push edi
mov byte [ebp + 0xd8], 0x72
mov byte [ebp + 0xd9], 0x6f
call esi
mov ebx, dword [sym.imp.USER32.dll_GetCursor]
mov byte [ebp + 0xda], 0x73
call ebx
mov byte [ebp + 0xdb], 0x6f
mov byte [ebp + 0xdc], 0x66
call ebx
mov byte [ebp + 0xdd], 0x74
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push 0x10f
lea eax, [ebp - 0x44]
push eax
mov byte [ebp + 0xde], 0x5c
mov byte [ebp + 0xdf], 0x57
call dword [sym.imp.KERNEL32.dll_GetConsoleTitleA]
push 0x2458
mov byte [ebp + 0xe0], 0x69
call dword [sym.imp.USER32.dll_GetDC]
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x58]
push eax
mov byte [ebp + 0xe1], 0x6e
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
lea eax, [ebp - 0x3c]
push eax
push edi
mov byte [ebp + 0xe2], 0x64
mov byte [ebp + 0xe3], 0x6f
mov byte [ebp + 0xe4], 0x77
mov byte [ebp + 0xe5], 0x73
call esi
mov byte [ebp + 0xe6], 0x20
push 0x120
lea eax, [ebp - 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_GetConsoleTitleA]
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x4c]
push eax
mov byte [ebp + 0xe7], 0x4e
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
lea eax, [ebp - 0x3c]
push eax
push edi
mov byte [ebp + 0xe8], 0x54
mov byte [ebp + 0xe9], 0x5c
mov byte [ebp + 0xea], 0x43
mov byte [ebp + 0xeb], 0x75
mov byte [ebp + 0xec], 0x72
mov byte [ebp + 0xed], 0x72
call esi
mov byte [ebp + 0xee], 0x65
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
lea eax, [ebp - 0x3c]
push eax
push edi
mov byte [ebp + 0xef], 0x6e
mov byte [ebp + 0xf0], 0x74
mov byte [ebp + 0xf1], 0x56
mov byte [ebp + 0xf2], 0x65
call esi
push 0x10021478
mov byte [ebp + 0xf3], 0x72
mov byte [ebp + 0xf4], 0x73
call dword [sym.imp.KERNEL32.dll_FindAtomA]
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x60]
push eax
mov byte [ebp + 0xf5], 0x69
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
mov byte [ebp + 0xf6], 0x6f
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov byte [ebp + 0xf7], 0x6e
call ebx
call ebx
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp + 0xcc]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
mov byte [ebp + 0xf8], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
test eax, eax
je 0x1000298c
mov eax, dword [ebp - 0x64]
mov byte [eax], 0x30
mov byte [eax + 1], 0
jmp 0x10002a54
xor esi, esi
inc esi
push 0x2bc9
mov dword [ebp - 0x74], 0x100
mov dword [ebp - 0x70], esi
mov byte [ebp + 0x1cc], 0x48
mov byte [ebp + 0x1cd], 0x4c
mov byte [ebp + 0x1ce], 0x50
mov byte [ebp + 0x1cf], 0x49
call dword [sym.imp.USER32.dll_GetDC]
push 0x10d
lea eax, [ebp - 0x44]
push eax
mov byte [ebp + 0x1d0], 0x44
mov byte [ebp + 0x1d1], 0
call dword [sym.imp.KERNEL32.dll_GetConsoleTitleA]
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0x64]
lea eax, [ebp - 0x70]
push eax
push 0
lea eax, [ebp + 0x1cc]
push eax
push dword [ebp - 0x68]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x10002a48
push dword [ebp - 0x64]
call fcn.10011153
pop ecx
call fcn.10002443
push eax
mov dword [ebp - 0x64], eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push dword [ebp - 0x64]
lea eax, [ebp + 0x1cc]
push esi
push 0
push eax
push dword [ebp - 0x68]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0x10002a48
mov esi, dword [ebp - 0x64]
mov byte [esi], 0x30
mov byte [esi + 1], 0
push dword [ebp - 0x68]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
jmp 0x10002a54
push dword [ebp - 0x68]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp + 0x1dc]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10010fcb
add ebp, 0x1e0
leave
ret