Function at 0x1000300fc
Capabilities:
Delete registry value
Get file attributes
Set file attributes
Set registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
push rdi
sub rsp, 0x280
mov rax, qword [0x10004a110]
xor rax, rsp
mov qword [rsp + 0x270], rax
lea rax, [rsp + 0x60]
mov ebx, ecx
mov ebp, 0x104
test rax, rax
je 0x1000302d4
lea rcx, [rsp + 0x60]
mov r8, rbp
mov edx, 1
call fcn.100040758
test eax, eax
je 0x1000302d4
lea rcx, [rsp + 0x60]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea r8, [0x10001c3b0]
lea rcx, [rsp + 0x60]
mov rdx, rbp
call fcn.10002e3d4
lea rcx, [rsp + 0x60]
call fcn.1000400f0
test eax, eax
je 0x1000302d4
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
and qword [rsp + 0x50], 0
test ebx, ebx
je 0x10003019a
and eax, 0xfffffff9
jmp 0x10003019d
or eax, 6
lea rcx, [rsp + 0x60]
mov edx, eax
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
and qword [rsp + 0x40], 0
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
and qword [rsp + 0x30], 0
lea rdx, [0x10001d160]
xor r9d, r9d
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x28], 0x2001f
and dword [rsp + 0x20], 0
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x100030342
test ebx, ebx
jne 0x1000302a5
lea r8, [0x10001d1e0]
lea rcx, [rsp + 0x60]
mov edx, 0x208
call fcn.10002e35c
test eax, eax
js 0x10003024c
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x60]
repne scasw ax, word [rdi]
lea r9d, [rbx + 2]
lea rdx, [0x10001d248]
not rcx
xor r8d, r8d
lea eax, [rcx + rcx]
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
lea r8, [0x10001d270]
lea rcx, [rsp + 0x60]
mov edx, 0x208
call fcn.10002e35c
test eax, eax
js 0x1000302c9
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x60]
repne scasw ax, word [rdi]
lea rdx, [0x10001d2e0]
mov r9d, 2
not rcx
xor r8d, r8d
lea eax, [rcx + rcx]
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
jmp 0x1000302c9
mov rcx, qword [rsp + 0x50]
lea rdx, [0x10001d248]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov rcx, qword [rsp + 0x50]
lea rdx, [0x10001d2e0]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rsp + 0x60]
test rax, rax
je 0x100030342
lea rcx, [rsp + 0x60]
mov r8, rbp
xor edx, edx
call fcn.100040758
test eax, eax
je 0x100030342
lea rcx, [rsp + 0x60]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea r8, [0x10001c370]
lea rcx, [rsp + 0x60]
mov rdx, rbp
call fcn.10002e3d4
lea rcx, [rsp + 0x60]
call fcn.1000400f0
test eax, eax
je 0x100030342
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test ebx, ebx
je 0x100030332
and eax, 0xfffffff9
jmp 0x100030335
or eax, 6
lea rcx, [rsp + 0x60]
mov edx, eax
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.1000475f0
lea r11, [rsp + 0x280]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret