Function at 0x109aeac
Capabilities:
Create thread
Query or enumerate registry value

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rsi
sub rsp, 0x30
xor esi, esi
lea r8, [rax + 0x18]
lea rdx, [0x01096d70]
mov rcx, 0xffffffff80000001
mov dword [rax + 0x10], 4
mov qword [rax + 0x18], rsi
mov dword [rax + 8], esi
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
mov rcx, qword [rsp + 0x50]
cmp rcx, rsi
je 0x109af2a
lea rax, [rsp + 0x48]
lea rdx, [0x01096dd0]
xor r9d, r9d
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x40]
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp eax, esi
je 0x109af1f
mov eax, 0x80070006
jmp 0x109b147
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [rsp + 0x40], esi
je 0x109b093
lea rcx, [0x010d7320]
call fcn.0109aba8
cmp qword [0x010d7320], rsi
je 0x109b145
cmp al, sil
je 0x109b145
mov ecx, 0xc0
call fcn.010a3628
cmp rax, rsi
mov rbx, rax
je 0x109aff9
mov rcx, qword [0x010d7320]
lea rax, [0x0109a980]
mov dword [rbx + 0x10], esi
mov qword [rbx], rax
lea rax, [0x0109a9d0]
mov dword [rbx + 0x14], 1
mov qword [rbx + 0x20], rcx
mov qword [rbx + 0x28], rsi
mov qword [rbx + 0x30], rsi
mov qword [rbx + 8], rax
mov qword [rbx + 0x38], rsi
mov qword [rbx + 0x40], rsi
mov qword [rbx + 0x48], rsi
mov qword [rbx + 0x50], rsi
mov qword [rbx + 0x58], rsi
mov qword [rbx + 0x60], rsi
mov dword [rbx + 0x74], esi
mov dword [rbx + 0x78], esi
mov byte [rbx + 0x7c], sil
mov byte [rbx + 0x7d], sil
mov byte [rbx + 0x7e], 1
mov dword [rbx + 0x80], esi
mov qword [rbx + 0x88], rsi
mov qword [rbx + 0x90], rsi
mov qword [rbx + 0x98], rsi
mov qword [rbx + 0xa0], rsi
mov byte [rbx + 0xac], sil
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x109affc
mov rbx, rsi
cmp rbx, rsi
mov qword [0x010d7318], rbx
jne 0x109b012
mov eax, 0x80004005
jmp 0x109b147
mov edx, 0xa
mov rcx, rbx
call fcn.010a26ac
cmp al, sil
jne 0x109b04b
mov rcx, qword [0x010d7318]
call fcn.010a28a4
mov rcx, qword [0x010d7318]
cmp rcx, rsi
je 0x109b008
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x010d7318], rsi
jmp 0x109b008
mov rbx, qword [0x010d7318]
lea rdx, [0x0109a4e0]
mov ecx, 0x1d
call fcn.0109c5cc
lea r8, [0x010a2a10]
mov r9, rbx
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], esi
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x010d69f4], 1
mov qword [rbx + 0x40], rax
jmp 0x109b145
mov rbx, qword [0x010d7318]
cmp rbx, rsi
je 0x109b145
lea rdx, [0x0109a510]
mov ecx, 0x1d
call fcn.0109c5cc
mov rcx, qword [rbx + 0x48]
cmp rcx, rsi
je 0x109b0c3
call qword [sym.imp.KERNEL32.dll_SetEvent]
cmp qword [rbx + 0x40], rsi
je 0x109b120
lea rdx, [0x0109a540]
mov ecx, 0x1d
call fcn.0109c5cc
mov rcx, qword [rbx + 0x40]
mov edx, 3
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x109b101
lea rdx, [0x0109a598]
mov ecx, 0x1d
call fcn.0109c5cc
lea rdx, [0x0109a5c0]
mov ecx, 0x1d
call fcn.0109c5cc
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0x40], rsi
mov rcx, qword [0x010d7318]
call fcn.010a28a4
mov rcx, qword [0x010d7318]
cmp rcx, rsi
je 0x109b145
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x010d7318], rsi
xor eax, eax
mov rbx, qword [rsp + 0x58]
add rsp, 0x30
pop rsi
ret