Function at 0x1800049d0
Capabilities:
Delete registry key
Set registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x18]
sub rsp, 0x118
mov rax, qword [0x180013070]
xor rax, rsp
mov qword [rbp], rax
movaps xmm0, xmmword [str.NetpAddPartCollectionToRegistry]
xor esi, esi
movaps xmm1, xmmword [0x18000d960]
mov r15, rcx
mov rax, qword [rbp + 0x98]
lea rcx, str._ws._n
mov rdi, qword [rbp + 0xa0]
mov rbx, r9
mov r12, qword [rbp + 0x90]
mov r13d, esi
movaps xmmword [rbp - 0x40], xmm0
movaps xmm0, xmmword [0x18000d970]
movaps xmmword [rbp - 0x30], xmm1
movaps xmm1, xmmword [0x18000d980]
mov dword [rsp + 0x78], edx
lea rdx, [rbp - 0x40]
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x10], xmm1
mov dword [rsp + 0x7c], r8d
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rdi
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], rsi
mov dword [rsp + 0x50], esi
call fcn.180008608
mov byte [rdi], sil
lea edi, [rsi + 1]
lea r14d, [rsi + 2]
test rbx, rbx
je 0x180004afd
lea rax, [rsp + 0x5e]
mov rcx, rbx
lea r9, [rsp + 0x5c]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x5a]
lea rdx, [rsp + 0x58]
call fcn.18000534c
test eax, eax
jne 0x180005004
lea eax, [rsi + 6]
cmp word [rsp + 0x58], ax
jb 0x180004b95
jne 0x180004afd
cmp word [rsp + 0x5a], r14w
jae 0x180004afd
cmp word [rsp + 0x5a], di
jb 0x180004b95
mov r13d, edi
cmp dword [rbp + 0x80], eax
je 0x180004afd
lea rdx, [rbp - 0x40]
lea rcx, str._ws___NOTE__:_Target_is_a_sysprepd_Win7_2K8R2_image._The_specialize_pass_will_overwrite_the_provisioned_computer_name_with_a_random_name._n
call fcn.180008608
lea rdx, [rbp - 0x40]
lea rcx, str._ws___NOTE__:_To_ensure_successful_join_provisioning__the_correct_computer_name_must_be_restored__e.g._via_the_ComputerName_setting_in_unattend.xml._n
call fcn.180008608
mov ecx, r14d
call fcn.180006abc
mov ebx, eax
test eax, eax
jne 0x180005004
lea rdx, str.ControlLSAOfflineProvisioning
mov rcx, r12
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegDeleteTreeW]
nop dword [rax + rax]
mov r8d, eax
lea rdx, [rbp - 0x40]
lea rcx, str._ws:_delete_OP_state_key_status:_0x_x._n
call fcn.180008608
mov qword [rsp + 0x40], rsi
lea rax, [rsp + 0x70]
mov qword [rsp + 0x38], rax
lea rdx, str.ControlLSAOfflineProvisioning
mov qword [rsp + 0x30], rsi
xor r9d, r9d
mov dword [rsp + 0x28], 0xf003f
xor r8d, r8d
mov rcx, r12
mov dword [rsp + 0x20], esi
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCreateKeyExW]
nop dword [rax + rax]
test eax, eax
je 0x180004baf
mov r8d, eax
lea rdx, [rbp - 0x40]
lea rcx, str._ws:_OP_state_key_creation_failed:_0x_x._n
mov ebx, 0xa97
call fcn.180008608
jmp 0x180004f62
lea rdx, [rbp - 0x40]
lea rcx, str._ws_Provisioning_not_supported_on_platforms___Vista_2K8._n
call fcn.180008608
mov eax, 0xaa3
jmp 0x180005004
mov r14d, esi
cmp dword [r15], esi
jbe 0x180004ea0
mov eax, r14d
lea r8, [rbp - 0x80]
imul rdi, rax, 0x38
mov ecx, 2
add rdi, qword [r15 + 8]
mov rdx, rdi
call fcn.180006e34
mov ebx, eax
test eax, eax
je 0x180004bee
test byte [rdi + 0x10], 1
jne 0x180004e98
mov ebx, esi
jmp 0x180004e8c
call fcn.1800023f0
mov rsi, qword [rbp - 0x80]
test eax, eax
jne 0x180004c19
mov rax, qword [rsi + 0x10]
cmp rax, qword [0x18000ce50]
jne 0x180004c19
mov rax, qword [rsi + 0x18]
cmp rax, qword [0x18000ce58]
je 0x180004de6
mov r9d, dword [rsp + 0x50]
lea r8, [0x18000dd54]
inc r9d
lea rcx, [rbp - 0x48]
mov edx, 8
call fcn.180003978
mov rcx, qword [rsp + 0x70]
lea rax, [rsp + 0x60]
xor ebx, ebx
lea rdx, [rbp - 0x48]
mov qword [rsp + 0x40], rbx
xor r9d, r9d
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], ebx
mov word [rbp - 0x42], bx
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCreateKeyExW]
nop dword [rax + rax]
test eax, eax
jne 0x180004f30
mov rcx, qword [rsp + 0x60]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x40], rbx
lea rdx, str.Data
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov qword [rsp + 0x30], rbx
xor r8d, r8d
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], ebx
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCreateKeyExW]
nop dword [rax + rax]
test eax, eax
jne 0x180004f20
lea ebx, [rax + 0x10]
mov rcx, rdi
mov r8d, ebx
lea rdx, [0x18000ce38]
call qword [sym.imp.api_ms_win_core_rtlsupport_l1_1_0.dll_RtlCompareMemory]
nop dword [rax + rax]
cmp rax, rbx
je 0x180004d0b
mov r8d, ebx
lea rdx, [0x18000ce68]
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_rtlsupport_l1_1_0.dll_RtlCompareMemory]
nop dword [rax + rax]
cmp rax, rbx
je 0x180004d0b
lea r9, [rsp + 0x58]
jmp 0x180004d39
mov rax, qword [rsp + 0x58]
lea r9, [rbp - 0x68]
mov qword [rbp - 0x68], rax
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x60], rax
mov eax, dword [rsp + 0x78]
mov dword [rbp - 0x50], eax
mov eax, dword [rsp + 0x7c]
mov dword [rbp - 0x4c], eax
mov rax, qword [rbp - 0x70]
mov qword [rbp - 0x58], r12
mov byte [rax], 1
mov r8, qword [rsp + 0x68]
mov edx, dword [rdi + 0x18]
mov rcx, qword [rdi + 0x20]
mov rax, qword [rsi + 0x50]
call qword [0x18000bb10]
add rdi, 0x10
mov ebx, eax
test eax, eax
je 0x180004ded
mov r8, qword [rsi + 0x28]
lea rdx, [rbp - 0x40]
mov r9d, eax
lea rcx, str._ws:__ws__RequestPackagePartInstall_failed:_0x_x._n
call fcn.180008608
test byte [rdi], 1
jne 0x180004e98
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x70]
lea rdx, [rbp - 0x48]
xor esi, esi
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], rsi
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegDeleteTreeW]
nop dword [rax + rax]
mov r9d, eax
lea r8, [rbp - 0x48]
lea rdx, [rbp - 0x40]
lea rcx, str._ws:_delete_OP__ws_key_status:_0x_x._n
call fcn.180008608
cmp dword [rsp + 0x50], esi
jle 0x180004e8c
jmp 0x180004be7
xor esi, esi
jmp 0x180004e8c
mov rcx, qword [rsp + 0x60]
lea rdx, str.Flags
mov eax, 4
xor r8d, r8d
mov dword [rsp + 0x28], eax
mov r9d, eax
mov qword [rsp + 0x20], rdi
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
nop dword [rax + rax]
test eax, eax
jne 0x180004f17
mov eax, dword [rsi + 0x78]
lea rdx, str.Type
mov rcx, qword [rsp + 0x60]
mov r9d, 1
mov dword [rsp + 0x28], eax
xor r8d, r8d
mov rax, qword [rsi + 0x70]
mov qword [rsp + 0x20], rax
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
nop dword [rax + rax]
xor esi, esi
test eax, eax
jne 0x180004ef1
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
nop dword [rax + rax]
inc dword [rsp + 0x50]
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], rsi
inc r14d
cmp r14d, dword [r15]
jb 0x180004bbb
test ebx, ebx
jne 0x180004f5c
mov rcx, qword [rsp + 0x70]
lea rax, [rsp + 0x50]
mov dword [rsp + 0x28], 4
lea rdx, str.NumParts
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
nop dword [rax + rax]
lea rdx, [rbp - 0x40]
test eax, eax
jne 0x180004f41
mov r9d, dword [r15]
lea rcx, str._ws:_Successfully_initiated_provisioning_package_installation:__d__d_part_s__installed._n
mov r8d, dword [rsp + 0x50]
call fcn.180008608
jmp 0x180004f5c
lea r9, str.Type
lea rcx, str._ws:__ws_keys__ws_value_creation_failed:_0x_x._n
lea rdx, [rbp - 0x40]
mov dword [rsp + 0x20], eax
lea r8, [rbp - 0x48]
mov ebx, 0xa97
call fcn.180008608
jmp 0x180004f5c
lea r9, str.Flags
jmp 0x180004ef8
lea r9, str.Data
lea rcx, str._ws:__ws_keys__ws_subkey_creation_failed:_0x_x._n
jmp 0x180004eff
lea r8, [rbp - 0x48]
lea rdx, [rbp - 0x40]
lea rcx, str._ws:__ws_key_creation_failed:_0x_x._n
jmp 0x180004f4f
lea r8, str.NumParts
lea rcx, str._ws:__ws_value_creation_failed:_0x_x._n
mov r9d, eax
mov ebx, 0xa97
call fcn.180008608
mov r14d, 2
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x180004f78
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x180004f8e
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x180004fe7
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
nop dword [rax + rax]
test ebx, ebx
je 0x180004fb9
mov rcx, r12
call qword [sym.imp.JoinUtil.dll_NetpClearFullJoinState]
nop dword [rax + rax]
jmp 0x180004fbe
test r13d, r13d
je 0x180004fe7
lea rdx, str.ControlLSAOfflineProvisioning
mov rcx, r12
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegDeleteTreeW]
nop dword [rax + rax]
mov r8d, eax
lea rdx, [rbp - 0x40]
lea rcx, str._ws:_delete_OP_state_key_status:_0x_x._n
call fcn.180008608
mov ecx, r14d
call fcn.180006d68
mov r8d, ebx
lea rdx, [rbp - 0x40]
lea rcx, str._ws:_status:_0x_x._n
call fcn.180008608
mov eax, ebx
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.180009470
add rsp, 0x118
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret