Function at 0x14004be8c
Capabilities:
Contain obfuscated stackstrings
Set registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x190
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x180], rax
lea rax, [rsp + 0x38]
xor ebp, ebp
lea rdx, str.AppID
mov r9d, 0x2001f
xor r8d, r8d
mov rcx, 0xffffffff80000000
mov qword [rsp + 0x20], rax
mov rbx, rbp
mov qword [rsp + 0x38], rbp
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov edi, eax
cmp eax, ebp
jne 0x14004bef3
mov rbx, qword [rsp + 0x38]
mov edi, ebp
cmp edi, ebp
jge 0x14004bf0c
cmp rbx, rbp
je 0x14004bf05
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, edi
jmp 0x14004c8b6
lea rax, [rsp + 0x30]
lea rdx, str.b622553e_eadb_445e_9493_c3df5af99268
mov r9d, 0x20006
xor r8d, r8d
mov rcx, rbx
mov rdi, rbp
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], rbp
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov esi, eax
cmp eax, ebp
jne 0x14004bf44
mov rdi, qword [rsp + 0x30]
mov esi, ebp
cmp esi, ebp
jge 0x14004bf6b
cmp rdi, rbp
je 0x14004bf56
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp rbx, rbp
je 0x14004bf64
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
jmp 0x14004c8b6
mov byte [rsp + 0xd0], 1
mov byte [rsp + 0xd1], bpl
mov byte [rsp + 0xd2], 4
mov byte [rsp + 0xd3], 0x80
mov byte [rsp + 0xd4], 0x84
mov byte [rsp + 0xd5], bpl
mov byte [rsp + 0xd6], bpl
mov byte [rsp + 0xd7], bpl
mov byte [rsp + 0xd8], DllRegisterServer
mov byte [rsp + 0xd9], bpl
mov byte [rsp + 0xda], bpl
mov byte [rsp + 0xdb], bpl
mov byte [rsp + 0xdc], bpl
mov byte [rsp + 0xdd], bpl
mov byte [rsp + 0xde], bpl
mov byte [rsp + 0xdf], bpl
mov byte [rsp + 0xe0], reloc.OLEAUT32.dll_SafeArrayLock
mov byte [rsp + 0xe1], bpl
mov byte [rsp + 0xe2], bpl
mov byte [rsp + 0xe3], bpl
mov byte [rsp + 0xe4], 2
mov byte [rsp + 0xe5], bpl
mov byte [rsp + 0xe6], 0x70
mov byte [rsp + 0xe7], bpl
mov byte [rsp + 0xe8], 5
mov byte [rsp + 0xe9], bpl
mov byte [rsp + 0xea], bpl
mov byte [rsp + 0xeb], bpl
mov byte [rsp + 0xec], bpl
mov byte [rsp + 0xed], bpl
mov byte [rsp + 0xee], reloc.OLEAUT32.dll_SafeArrayGetElement
mov byte [rsp + 0xef], bpl
mov byte [rsp + 0xf0], 0x1f
mov byte [rsp + 0xf1], bpl
mov byte [rsp + 0xf2], bpl
mov byte [rsp + 0xf3], bpl
mov byte [rsp + 0xf4], 1
mov byte [rsp + 0xf5], 2
mov byte [rsp + 0xf6], bpl
mov byte [rsp + 0xf7], bpl
mov byte [rsp + 0xf8], bpl
mov byte [rsp + 0xf9], bpl
mov byte [rsp + 0xfa], bpl
mov byte [rsp + 0xfb], 5
mov byte [rsp + 0xfc], 0x20
mov byte [rsp + 0xfd], bpl
mov byte [rsp + 0xfe], bpl
mov byte [rsp + 0xff], bpl
mov byte [rsp + 0x100], 0x20
mov byte [rsp + 0x101], 2
mov byte [rsp + 0x102], bpl
mov byte [rsp + 0x103], bpl
mov byte [rsp + 0x104], bpl
mov byte [rsp + 0x105], bpl
mov byte [rsp + 0x106], reloc.OLEAUT32.dll_SafeArrayLock
mov byte [rsp + 0x107], bpl
mov byte [rsp + 0x108], SafeArrayGetDim
mov byte [rsp + 0x109], bpl
mov byte [rsp + 0x10a], bpl
mov byte [rsp + 0x10b], bpl
mov byte [rsp + 0x10c], 1
mov byte [rsp + 0x10d], 1
mov byte [rsp + 0x10e], bpl
mov byte [rsp + 0x10f], bpl
mov byte [rsp + 0x110], bpl
mov byte [rsp + 0x111], bpl
mov byte [rsp + 0x112], bpl
mov byte [rsp + 0x113], 5
mov byte [rsp + 0x114], 4
mov byte [rsp + reloc.OLEAUT32.dll_VarUI4FromDisp], bpl
mov byte [rsp + 0x116], bpl
mov byte [rsp + 0x117], bpl
mov byte [rsp + 0x118], bpl
mov byte [rsp + 0x119], bpl
mov byte [rsp + 0x11a], reloc.OLEAUT32.dll_SafeArrayLock
mov byte [rsp + 0x11b], bpl
mov byte [rsp + 0x11c], SafeArrayGetDim
mov byte [rsp + 0x11d], bpl
mov byte [rsp + 0x11e], bpl
mov byte [rsp + 0x11f], bpl
mov byte [rsp + 0x120], 1
mov byte [rsp + 0x121], 1
mov byte [rsp + 0x122], bpl
mov byte [rsp + 0x123], bpl
mov byte [rsp + 0x124], bpl
mov byte [rsp + 0x125], bpl
mov byte [rsp + 0x126], bpl
mov byte [rsp + 0x127], 5
mov byte [rsp + 0x128], reloc.OLEAUT32.dll_SafeArrayGetLBound
mov byte [rsp + 0x129], bpl
mov byte [rsp + 0x12a], bpl
mov byte [rsp + 0x12b], bpl
mov byte [rsp + 0x12c], bpl
mov byte [rsp + 0x12d], bpl
mov byte [rsp + 0x12e], reloc.OLEAUT32.dll_SafeArrayLock
mov byte [rsp + 0x12f], bpl
mov byte [rsp + 0x130], SafeArrayGetDim
mov byte [rsp + 0x131], bpl
mov byte [rsp + 0x132], bpl
mov byte [rsp + 0x133], bpl
mov byte [rsp + 0x134], 1
mov byte [rsp + 0x135], 1
mov byte [rsp + 0x136], bpl
mov byte [rsp + 0x137], bpl
mov byte [rsp + 0x138], bpl
mov byte [rsp + reloc.OLEAUT32.dll_VarBstrCmp], bpl
mov byte [rsp + reloc.OLEAUT32.dll_VarR8Pow], bpl
mov byte [rsp + 0x13b], 5
mov byte [rsp + 0x13c], reloc.OLEAUT32.dll_SafeArrayLock
mov byte [rsp + 0x13d], bpl
mov byte [rsp + 0x13e], bpl
mov byte [rsp + 0x13f], bpl
mov byte [rsp + 0x140], bpl
mov byte [rsp + 0x141], bpl
mov byte [rsp + reloc.OLEAUT32.dll_SafeArrayLock2], 0x14
mov byte [rsp + 0x143], bpl
mov byte [rsp + 0x144], SafeArrayGetDim
mov byte [rsp + 0x145], bpl
mov byte [rsp + 0x146], bpl
mov byte [rsp + 0x147], bpl
mov byte [rsp + 0x148], 1
mov byte [rsp + 0x149], 1
mov byte [rsp + 0x14a], bpl
mov byte [rsp + 0x14b], bpl
mov byte [rsp + 0x14c], bpl
mov byte [rsp + 0x14d], bpl
mov byte [rsp + 0x14e], bpl
mov byte [rsp + 0x14f], 5
mov byte [rsp + 0x150], SafeArrayGetElement
mov byte [rsp + 0x151], bpl
mov byte [rsp + 0x152], bpl
mov byte [rsp + 0x153], bpl
mov byte [rsp + 0x154], 1
mov byte [rsp + 0x155], 2
mov byte [rsp + 0x156], bpl
mov byte [rsp + 0x157], bpl
mov byte [rsp + 0x158], bpl
mov byte [rsp + 0x159], bpl
mov byte [rsp + 0x15a], bpl
mov byte [rsp + 0x15b], 5
mov byte [rsp + 0x15c], 0x20
mov byte [rsp + 0x15d], bpl
mov byte [rsp + 0x15e], bpl
mov byte [rsp + 0x15f], bpl
mov byte [rsp + 0x160], 0x20
mov byte [rsp + 0x161], 2
mov byte [rsp + 0x162], bpl
mov byte [rsp + 0x163], bpl
mov byte [rsp + 0x164], 1
mov byte [rsp + 0x165], 2
mov byte [rsp + 0x166], bpl
mov byte [rsp + 0x167], bpl
mov byte [rsp + 0x168], bpl
mov byte [rsp + 0x169], bpl
mov byte [rsp + 0x16a], bpl
mov byte [rsp + 0x16b], 5
mov byte [rsp + 0x16c], 0x20
mov byte [rsp + 0x16d], bpl
mov byte [rsp + 0x16e], bpl
mov byte [rsp + 0x16f], bpl
mov byte [rsp + 0x170], 0x20
mov byte [rsp + 0x171], 2
lea rax, [rsp + 0xd0]
lea rdx, str.LaunchPermission
mov r9d, 3
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0x28], 0xa4
mov byte [rsp + 0x172], bpl
mov byte [rsp + 0x173], bpl
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
cmp eax, ebp
mov esi, eax
jl 0x14004bf48
mov byte [rsp + 0x40], 1
mov byte [rsp + 0x41], bpl
mov byte [rsp + 0x42], 4
mov byte [rsp + 0x43], 0x80
mov byte [rsp + 0x44], 0x6c
mov byte [rsp + 0x45], bpl
mov byte [rsp + 0x46], bpl
mov byte [rsp + 0x47], bpl
mov byte [rsp + 0x48], 0x7c
mov byte [rsp + 0x49], bpl
mov byte [rsp + 0x4a], bpl
mov byte [rsp + 0x4b], bpl
mov byte [rsp + 0x4c], bpl
mov byte [rsp + 0x4d], bpl
mov byte [rsp + 0x4e], bpl
mov byte [rsp + 0x4f], bpl
mov byte [rsp + 0x50], reloc.OLEAUT32.dll_SafeArrayLock
mov byte [rsp + 0x51], bpl
mov byte [rsp + 0x52], bpl
mov byte [rsp + 0x53], bpl
mov byte [rsp + 0x54], 2
mov byte [rsp + 0x55], bpl
mov byte [rsp + 0x56], 0x58
mov byte [rsp + 0x57], bpl
mov byte [rsp + 0x58], 4
mov byte [rsp + 0x59], bpl
mov byte [rsp + 0x5a], bpl
mov byte [rsp + 0x5b], bpl
mov byte [rsp + 0x5c], bpl
mov byte [rsp + 0x5d], bpl
mov byte [rsp + 0x5e], reloc.OLEAUT32.dll_SafeArrayLock
mov byte [rsp + 0x5f], bpl
mov byte [rsp + 0x60], 3
mov byte [rsp + 0x61], bpl
mov byte [rsp + 0x62], bpl
mov byte [rsp + 0x63], bpl
mov byte [rsp + 0x64], 1
mov byte [rsp + 0x65], 1
mov byte [rsp + 0x66], bpl
mov byte [rsp + 0x67], bpl
mov byte [rsp + 0x68], bpl
mov byte [rsp + 0x69], bpl
mov byte [rsp + 0x6a], bpl
mov byte [rsp + 0x6b], 5
mov byte [rsp + 0x6c], reloc.OLEAUT32.dll_SafeArrayGetLBound
mov byte [rsp + 0x6d], bpl
mov byte [rsp + 0x6e], bpl
mov byte [rsp + 0x6f], bpl
mov byte [rsp + 0x70], bpl
mov byte [rsp + 0x71], bpl
mov byte [rsp + 0x72], reloc.OLEAUT32.dll_SafeArrayLock
mov byte [rsp + 0x73], bpl
mov byte [rsp + 0x74], 3
mov byte [rsp + 0x75], bpl
mov byte [rsp + 0x76], bpl
mov byte [rsp + 0x77], bpl
mov byte [rsp + 0x78], 1
mov byte [rsp + 0x79], 1
mov byte [rsp + 0x7a], bpl
mov byte [rsp + 0x7b], bpl
mov byte [rsp + 0x7c], bpl
mov byte [rsp + 0x7d], bpl
mov byte [rsp + 0x7e], bpl
mov byte [rsp + 0x7f], 5
mov byte [rsp + 0x80], reloc.OLEAUT32.dll_SafeArrayLock
mov byte [rsp + 0x81], bpl
mov byte [rsp + 0x82], bpl
mov byte [rsp + 0x83], bpl
mov byte [rsp + 0x84], bpl
mov byte [rsp + 0x85], bpl
mov byte [rsp + 0x86], reloc.OLEAUT32.dll_SafeArrayLock
mov byte [rsp + 0x87], bpl
mov byte [rsp + 0x88], 7
mov byte [rsp + 0x89], bpl
mov byte [rsp + 0x8a], bpl
mov byte [rsp + 0x8b], bpl
mov byte [rsp + 0x8c], 1
mov byte [rsp + 0x8d], 1
mov byte [rsp + 0x8e], bpl
mov byte [rsp + 0x8f], bpl
mov byte [rsp + 0x90], bpl
lea rax, [rsp + 0x40]
lea rdx, str.AccessPermission
mov r9d, 3
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0x28], VariantChangeTypeEx
mov byte [rsp + 0x91], bpl
mov byte [rsp + 0x92], bpl
mov byte [rsp + 0x93], 5
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x94], 0xa
mov byte [rsp + 0x95], bpl
mov byte [rsp + 0x96], bpl
mov byte [rsp + 0x97], bpl
mov byte [rsp + 0x98], bpl
mov byte [rsp + 0x99], bpl
mov byte [rsp + 0x9a], reloc.OLEAUT32.dll_SafeArrayLock
mov byte [rsp + 0x9b], bpl
mov byte [rsp + 0x9c], 3
mov byte [rsp + 0x9d], bpl
mov byte [rsp + 0x9e], bpl
mov byte [rsp + 0x9f], bpl
mov byte [rsp + 0xa0], 1
mov byte [rsp + 0xa1], 1
mov byte [rsp + 0xa2], bpl
mov byte [rsp + 0xa3], bpl
mov byte [rsp + 0xa4], bpl
mov byte [rsp + 0xa5], bpl
mov byte [rsp + 0xa6], bpl
mov byte [rsp + 0xa7], 5
mov byte [rsp + 0xa8], SafeArrayGetElement
mov byte [rsp + 0xa9], bpl
mov byte [rsp + 0xaa], bpl
mov byte [rsp + 0xab], bpl
mov byte [rsp + 0xac], 1
mov byte [rsp + 0xad], 2
mov byte [rsp + 0xae], bpl
mov byte [rsp + 0xaf], bpl
mov byte [rsp + 0xb0], bpl
mov byte [rsp + 0xb1], bpl
mov byte [rsp + 0xb2], bpl
mov byte [rsp + 0xb3], 5
mov byte [rsp + 0xb4], 0x20
mov byte [rsp + 0xb5], bpl
mov byte [rsp + 0xb6], bpl
mov byte [rsp + 0xb7], bpl
mov byte [rsp + 0xb8], 0x20
mov byte [rsp + 0xb9], 2
mov byte [rsp + 0xba], bpl
mov byte [rsp + 0xbb], bpl
mov byte [rsp + 0xbc], 1
mov byte [rsp + 0xbd], 2
mov byte [rsp + 0xbe], bpl
mov byte [rsp + 0xbf], bpl
mov byte [rsp + 0xc0], bpl
mov byte [rsp + 0xc1], bpl
mov byte [rsp + 0xc2], bpl
mov byte [rsp + 0xc3], 5
mov byte [rsp + 0xc4], 0x20
mov byte [rsp + 0xc5], bpl
mov byte [rsp + 0xc6], bpl
mov byte [rsp + 0xc7], bpl
mov byte [rsp + 0xc8], 0x20
mov byte [rsp + 0xc9], 2
mov byte [rsp + 0xca], bpl
mov byte [rsp + 0xcb], bpl
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
cmp eax, ebp
mov esi, eax
jl 0x14004bf48
cmp rdi, rbp
je 0x14004c8a6
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp rbx, rbp
je 0x14004c8b4
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
mov rcx, qword [rsp + 0x180]
xor rcx, rsp
call fcn.140001170
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret