Function at 0x140012b40
Capabilities:
Delete registry key
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x170]
sub rsp, 0x270
mov rax, qword [0x1400d61c0]
xor rax, rsp
mov qword [rbp + 0x168], rax
xor eax, eax
mov qword [rbp - 0x30], rdx
mov rdi, rdx
mov qword [rbp - 0x70], rcx
lea rsi, str.C:_buildbot_slave_workdir_repos_opera_desktop_windows_installer_service_transactions_delete_reg_key_operation.cc
mov qword [rbp - 0x60], r8
mov rcx, rsi
mov dword [rsp + 0x60], eax
lea edx, [rax + 0x71]
mov ebx, eax
call fcn.1400250f0
or rcx, 0xffffffffffffffff
cmp eax, 1
jl 0x140012c0c
mov dword [rbp], ecx
lea edx, [rcx + 3]
lea r8d, [rcx + 2]
lea rcx, [rbp + 8]
call fcn.1400262a0
mov qword [rbp + 0xf8], rsi
mov dword [rbp + 0x100], 0x21
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0x21
lea rcx, [rbp]
mov rdx, rsi
mov dword [rbp + 0x104], eax
call fcn.1400257b0
lea rdx, str.DeleteAndSaveRecursive_:
lea rcx, [rbp + 8]
call fcn.14000f5a0
cmp qword [rdi + 0x18], 8
jb 0x140012bf8
mov rdx, qword [rdi]
jmp 0x140012bfb
mov rdx, rdi
mov rcx, rax
call fcn.140025ff0
mov ebx, 1
mov dword [rsp + 0x60], ebx
test bl, 1
je 0x140012c21
and ebx, 0xfffffffe
lea rcx, [rbp]
mov dword [rsp + 0x60], ebx
call fcn.140025360
xor ebx, ebx
mov qword [rsp + 0x70], rbx
mov dword [rbp - 0x80], ebx
lea ecx, [rbx + 0x48]
call fcn.140080c00
mov qword [rbp - 0x10], rax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x58], rax
mov qword [rax + 0x10], rbx
lea rsi, [rax + 0x28]
mov qword [rax + 0x18], 7
lea rcx, [rax + 0x30]
mov word [rax], bx
mov qword [rax + 0x20], rbx
mov qword [rsi], rbx
mov qword [rax + 0x30], rbx
mov qword [rax + 0x38], rbx
mov qword [rax + 0x40], rbx
mov rbx, rax
mov qword [rbp - 0x40], rcx
cmp rax, rdi
je 0x140012c87
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rdi
mov rcx, rax
call fcn.140003170
cmp qword [rdi + 0x18], 8
jb 0x140012c93
mov rdx, qword [rdi]
jmp 0x140012c96
mov rdx, rdi
mov rax, qword [rbp - 0x70]
xor ecx, ecx
mov qword [rsp + 0x78], rcx
xor r8d, r8d
lea rcx, [rsp + 0x78]
mov qword [rsp + 0x20], rcx
mov r9d, dword [rax + 0x48]
mov rcx, qword [rax + 0x28]
or r9d, 0x3001f
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov edi, 4
lea ecx, [rdi + 8]
test eax, eax
jne 0x140012cdb
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x70], rax
jmp 0x140012ce8
cmp eax, 5
je 0x140012d0f
test eax, eax
jne 0x1400139c1
mov rax, qword [rbp - 0x70]
mov edx, edi
mov r8d, 0x30019
cmp dword [rax + 0x48], 0x200
cmove edx, ecx
mov rcx, qword [rbp - 0x60]
call fcn.1400154c0
test al, al
jne 0x140012ed0
mov edx, 0x71
lea rcx, str.C:_buildbot_slave_workdir_repos_opera_desktop_windows_installer_service_transactions_delete_reg_key_operation.cc
call fcn.1400250f0
cmp eax, 1
jl 0x140012d91
mov eax, dword [rsp + 0x60]
lea rcx, [rbp + 8]
or eax, 2
mov dword [rsp + 0x60], eax
or rax, 0xffffffffffffffff
mov dword [rbp], eax
lea edx, [rax + 3]
lea r8d, [rax + 2]
call fcn.1400262a0
lea rax, str.C:_buildbot_slave_workdir_repos_opera_desktop_windows_installer_service_transactions_delete_reg_key_operation.cc
mov dword [rbp + 0x100], 0x34
mov qword [rbp + 0xf8], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0x34
lea rdx, str.C:_buildbot_slave_workdir_repos_opera_desktop_windows_installer_service_transactions_delete_reg_key_operation.cc
lea rcx, [rbp]
mov dword [rbp + 0x104], eax
call fcn.1400257b0
lea rdx, str.Insufficient_permissions_on_the_key
lea rcx, [rbp + 8]
call fcn.14000f5a0
mov eax, dword [rsp + 0x60]
test al, 2
je 0x140012da9
and eax, 0xfffffffd
lea rcx, [rbp]
mov dword [rsp + 0x60], eax
call fcn.140025360
mov rax, qword [rbp - 0x70]
mov r8d, 0x3001f
mov qword [rsp + 0x20], rsi
cmp dword [rax + 0x48], 0x200
mov eax, 0xc
cmove edi, eax
mov edx, edi
mov rdi, qword [rbp - 0x60]
mov rcx, rdi
lea r9d, [rax - 0xb]
call fcn.140015cb0
test al, al
jne 0x140012e6e
cmp dword [0x1400da504], 2
jg 0x140012e63
or dword [rsp + 0x60], 4
lea rcx, [rbp + 8]
mov edx, 2
mov dword [rbp], 2
lea r8d, [rdx - 1]
call fcn.1400262a0
lea rsi, str.C:_buildbot_slave_workdir_repos_opera_desktop_windows_installer_service_transactions_delete_reg_key_operation.cc
mov dword [rbp + 0x100], 0x3a
mov qword [rbp + 0xf8], rsi
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0x3a
lea rcx, [rbp]
mov rdx, rsi
mov dword [rbp + 0x104], eax
call fcn.1400257b0
lea rdx, str.Unable_to_obtain_sufficient_permissions_on_key
lea rcx, [rbp + 8]
call fcn.14000f5a0
cmp qword [rdi + 0x18], 8
jb 0x140012e58
mov rdi, qword [rdi]
mov rdx, rdi
mov rcx, rax
call fcn.140025ff0
mov eax, dword [rsp + 0x60]
test al, 4
jmp 0x140013a4d
mov rdx, qword [rbp - 0x30]
cmp qword [rdx + 0x18], 8
jb 0x140012e7c
mov rdx, qword [rdx]
mov rax, qword [rbp - 0x70]
xor ecx, ecx
mov qword [rsp + 0x78], rcx
xor r8d, r8d
lea rcx, [rsp + 0x78]
mov qword [rsp + 0x20], rcx
mov r9d, dword [rax + 0x48]
mov rcx, qword [rax + 0x28]
or r9d, 0x3001f
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400139c5
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x140012ec4
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rsi, qword [rsp + 0x78]
mov qword [rsp + 0x70], rsi
jmp 0x140012ed9
mov rdi, qword [rbp - 0x60]
mov rsi, qword [rsp + 0x70]
xor r8d, r8d
lea r9, [rbp - 0x80]
mov rcx, rsi
lea edx, [r8 + 0x16]
call qword [sym.imp.ADVAPI32.dll_RegGetKeySecurity]
test eax, eax
je 0x140012f8b
cmp eax, 0x7a
je 0x140012f8b
cmp dword [0x1400da504], 2
jg 0x140012f80
or dword [rsp + 0x60], 0x10
lea rcx, [rbp + 8]
mov edx, 2
mov dword [rbp], 2
lea r8d, [rdx - 1]
call fcn.1400262a0
lea rsi, str.C:_buildbot_slave_workdir_repos_opera_desktop_windows_installer_service_transactions_delete_reg_key_operation.cc
mov dword [rbp + 0x100], 0x4c
mov qword [rbp + 0xf8], rsi
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0x4c
lea rcx, [rbp]
mov rdx, rsi
mov dword [rbp + 0x104], eax
call fcn.1400257b0
lea rdx, str.Failed_to_obtain_security_descriptor_for
lea rcx, [rbp + 8]
call fcn.14000f5a0
cmp qword [rdi + 0x18], 8
jb 0x140012f75
mov rdi, qword [rdi]
mov rdx, rdi
mov rcx, rax
call fcn.140025ff0
mov eax, dword [rsp + 0x60]
test al, 0x10
jmp 0x140013a4d
mov ecx, dword [rbp - 0x80]
call fcn.140081370
mov rcx, qword [rbx + 0x20]
mov rsi, rbx
mov qword [rbx + 0x20], rax
test rcx, rcx
je 0x140012fa8
call fcn.1400818c0
mov r8, qword [rsi + 0x20]
lea r9, [rbp - 0x80]
mov rsi, qword [rsp + 0x70]
mov edx, 0x16
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegGetKeySecurity]
test eax, eax
je 0x14001306b
cmp dword [0x1400da504], 2
jg 0x140013060
or dword [rsp + 0x60], 0x20
lea rcx, [rbp + 8]
mov edx, 2
mov dword [rbp], 2
lea r8d, [rdx - 1]
call fcn.1400262a0
lea rsi, str.C:_buildbot_slave_workdir_repos_opera_desktop_windows_installer_service_transactions_delete_reg_key_operation.cc
mov dword [rbp + 0x100], 0x5c
mov qword [rbp + 0xf8], rsi
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0x5c
lea rcx, [rbp]
mov rdx, rsi
mov dword [rbp + 0x104], eax
call fcn.1400257b0
lea rdx, str.Failed_to_obtain_security_descriptor_for
lea rcx, [rbp + 8]
call fcn.14000f5a0
cmp qword [rdi + 0x18], 8
jb 0x140013046
mov rdi, qword [rdi]
mov rdx, rdi
mov rcx, rax
call fcn.140025ff0
lea rdx, str._but_we_succeeded_earlier_
mov rcx, rax
call fcn.14000f5a0
mov eax, dword [rsp + 0x60]
test al, 0x20
jmp 0x140013a4d
xor ecx, ecx
lea rax, [rbp - 0x68]
mov qword [rsp + 0x58], rcx
xor r9d, r9d
mov qword [rsp + 0x50], rcx
xor r8d, r8d
mov qword [rsp + 0x48], rax
xor edx, edx
lea rax, [rbp - 0x7c]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x6c]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
test eax, eax
je 0x14001314c
cmp dword [0x1400da504], 2
jg 0x140013141
or dword [rsp + 0x60], 0x40
lea rcx, [rbp + 8]
mov edx, 2
mov dword [rbp], 2
lea r8d, [rdx - 1]
call fcn.1400262a0
lea rsi, str.C:_buildbot_slave_workdir_repos_opera_desktop_windows_installer_service_transactions_delete_reg_key_operation.cc
mov dword [rbp + 0x100], 0x6b
mov qword [rbp + 0xf8], rsi
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0x6b
lea rcx, [rbp]
mov rdx, rsi
mov dword [rbp + 0x104], eax
call fcn.1400257b0
lea rdx, str.Failed_to_obtain_key_info_for
lea rcx, [rbp + 8]
call fcn.14000f5a0
cmp qword [rdi + 0x18], 8
jb 0x140013136
mov rdi, qword [rdi]
mov rdx, rdi
mov rcx, rax
call fcn.140025ff0
mov eax, dword [rsp + 0x60]
test al, 0x40
jmp 0x140013a4d
lea rdi, str.C:_buildbot_slave_workdir_repos_opera_desktop_windows_installer_service_transactions_delete_reg_key_operation.cc
mov edx, 0x71
mov rcx, rdi
call fcn.1400250f0
mov ebx, dword [rsp + 0x60]
or rsi, 0xffffffffffffffff
cmp eax, 1
jl 0x1400131d0
bts ebx, 7
mov dword [rbp], esi
lea edx, [rsi + 3]
mov dword [rsp + 0x60], ebx
lea r8d, [rsi + 2]
lea rcx, [rbp + 8]
call fcn.1400262a0
mov qword [rbp + 0xf8], rdi
mov dword [rbp + 0x100], 0x6e
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8d, [rsi + 0x6f]
mov rdx, rdi
lea rcx, [rbp]
mov dword [rbp + 0x104], eax
call fcn.1400257b0
mov edx, dword [rbp - 0x78]
lea rcx, [rbp + 8]
call fcn.140011940
mov rcx, rax
lea rdx, str._values
call fcn.14000f5a0
test bl, bl
jns 0x1400131e5
btr ebx, 7
lea rcx, [rbp]
mov dword [rsp + 0x60], ebx
call fcn.140025360
mov eax, dword [rbp - 0x7c]
inc dword [rsp + 0x6c]
inc eax
mov ecx, eax
mov dword [rbp - 0x7c], eax
mov eax, 2
mul rcx
cmovo rax, rsi
mov rcx, rax
call fcn.140081370
mov ecx, dword [rbp - 0x68]
mov rdi, rax
call fcn.140081370
xor ecx, ecx
mov rsi, rax
mov ebx, ecx
mov dword [rbp - 0x64], ecx
cmp dword [rbp - 0x78], ecx
jg 0x1400132a2
mov rbx, qword [rbp - 0x70]
lea rax, [rbp - 0x58]
mov rcx, qword [rbx + 0x38]
cmp rax, rcx
jae 0x1400134da
mov rdx, qword [rbx + 0x30]
lea rax, [rbp - 0x58]
cmp rdx, rax
ja 0x1400134da
lea rax, [rbp - 0x58]
sub rax, rdx
sar rax, 3
mov qword [rbp - 0x10], rax
cmp rcx, qword [rbx + 0x40]
jne 0x140013269
lea rcx, [rbx + 0x30]
call fcn.140014060
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbx + 0x30]
lea rdx, [rax + rcx*8]
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x1400134ff
mov rax, qword [rdx]
xor r8d, r8d
mov qword [rdx], r8
mov qword [rcx], rax
mov rax, qword [rbp - 0x58]
jmp 0x1400134fb
xor ecx, ecx
mov eax, dword [rbp - 0x7c]
lea r9, [rbp - 0x48]
mov dword [rbp - 0x48], eax
mov r8, rdi
mov eax, dword [rbp - 0x68]
mov edx, ebx
mov dword [rsp + 0x68], eax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x44]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
test eax, eax
jne 0x14001343f
lea ecx, [rax + 0x38]
call fcn.140080c00
xor edx, edx
mov qword [rsp + 0x78], rax
mov rbx, rax
mov qword [rax + 0x18], 7
mov qword [rax + 0x10], rdx
mov word [rax], dx
mov qword [rax + 0x28], rdx
mov ecx, dword [rbp - 0x44]
mov dword [rax + 0x20], ecx
cmp word [rdi], dx
jne 0x14001331d
mov r8d, edx
jmp 0x14001332b
or r8, 0xffffffffffffffff
inc r8
cmp word [rdi + r8*2], dx
jne 0x140013321
mov rdx, rdi
mov rcx, rax
call fcn.14000b820
mov eax, dword [rsp + 0x68]
mov rdx, rbx
mov rcx, qword [rbp - 0x40]
mov dword [rbx + 0x30], eax
mov rax, qword [rbx + 0x28]
mov qword [rbx + 0x28], rsi
mov rsi, rax
mov r9, qword [rcx + 8]
lea rax, [rsp + 0x78]
cmp rax, r9
jae 0x1400133b1
mov r8, qword [rcx]
lea rax, [rsp + 0x78]
cmp r8, rax
ja 0x1400133b1
lea rax, [rsp + 0x78]
sub rax, r8
sar rax, 3
mov qword [rbp - 0x20], rax
cmp r9, qword [rcx + 0x10]
jne 0x140013389
call fcn.1400140e0
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x20]
mov rax, qword [rcx]
lea r8, [rax + rdx*8]
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x1400133d1
mov rax, qword [r8]
mov qword [r8], 0
mov rbx, qword [rsp + 0x78]
mov qword [rdx], rax
jmp 0x1400133d1
cmp r9, qword [rcx + 0x10]
jne 0x1400133c3
call fcn.1400140e0
mov rcx, qword [rbp - 0x40]
mov rdx, rbx
mov rax, qword [rcx + 8]
test rax, rax
je 0x1400133d1
xor ebx, ebx
mov qword [rax], rdx
add qword [rcx + 8], 8
test rbx, rbx
je 0x140013429
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x1400133e9
call fcn.1400818c0
mov r8, qword [rbx + 0x18]
cmp r8, 8
jb 0x140013401
mov rdx, qword [rbx]
inc r8
mov rcx, rbx
call fcn.140004d70
xor ecx, ecx
mov qword [rbx + 0x18], 7
cmp qword [rbx + 0x18], 8
mov qword [rbx + 0x10], rcx
jb 0x14001341b
mov rax, qword [rbx]
jmp 0x14001341e
mov rax, rbx
mov word [rax], cx
mov rcx, rbx
call fcn.140080c40
mov ebx, dword [rbp - 0x64]
inc ebx
mov dword [rbp - 0x64], ebx
cmp ebx, dword [rbp - 0x78]
jl 0x1400132a0
jmp 0x140013225
cmp dword [0x1400da504], 2
jg 0x1400134bd
or dword [rsp + 0x60], 0x100
lea rcx, [rbp + 8]
mov edx, 2
mov dword [rbp], 2
lea r8d, [rdx - 1]
call fcn.1400262a0
lea rax, str.C:_buildbot_slave_workdir_repos_opera_desktop_windows_installer_service_transactions_delete_reg_key_operation.cc
mov dword [rbp + 0x100], 0x7e
mov qword [rbp + 0xf8], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0x7e
lea rdx, str.C:_buildbot_slave_workdir_repos_opera_desktop_windows_installer_service_transactions_delete_reg_key_operation.cc
lea rcx, [rbp]
mov dword [rbp + 0x104], eax
call fcn.1400257b0
lea rdx, str.Failed_to_obtain_value_nr
lea rcx, [rbp + 8]
call fcn.14000f5a0
mov rcx, rax
mov edx, ebx
call fcn.140010680
test dword [rsp + 0x60], 0x100
je 0x1400134d0
lea rcx, [rbp]
call fcn.140025360
mov byte [rsp + 0x64], 0
jmp 0x14001389d
cmp rcx, qword [rbx + 0x40]
jne 0x1400134e9
lea rcx, [rbx + 0x30]
call fcn.140014060
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x1400134ff
mov rdx, qword [rbp - 0x10]
xor eax, eax
mov qword [rcx], rdx
mov qword [rbp - 0x50], rax
mov ecx, dword [rsp + 0x6c]
mov eax, 2
add qword [rbx + 0x38], 8
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.140081370
mov rcx, qword [rsp + 0x70]
lea r9, [rsp + 0x68]
mov rbx, rax
xor edx, edx
mov eax, dword [rsp + 0x6c]
mov r8, rbx
mov dword [rsp + 0x68], eax
xor eax, eax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
cmp eax, 0x103
je 0x14001384e
test eax, eax
jne 0x140013930
mov rax, qword [rbp - 0x30]
cmp qword [rax + 0x18], 8
jb 0x14001357c
mov rdx, qword [rax]
jmp 0x14001357f
mov rdx, rax
mov r8, qword [rax + 0x10]
xor eax, eax
mov qword [rbp + 0x120], 7
mov qword [rbp + 0x118], rax
mov word [rbp + 0x108], ax
test r8, r8
jne 0x1400135b3
mov qword [rbp + 0x118], rax
mov word [rbp + 0x108], ax
jmp 0x1400135bf
lea rcx, [rbp + 0x108]
call fcn.14000b820
xor edx, edx
lea rcx, [rbp + 0x108]
xor r8d, r8d
call fcn.140014cf0
cmp rax, 0xffffffffffffffff
je 0x140013609
lea rcx, [rbp + 0x108]
cmp qword [rbp + 0x118], rax
jb 0x140013a60
cmp qword [rbp + 0x120], 8
mov qword [rbp + 0x118], rax
cmovae rcx, qword [rbp + 0x108]
xor edx, edx
mov word [rcx + rax*2], dx
jmp 0x14001360b
xor edx, edx
mov qword [rbp - 0x10], rbx
test rbx, rbx
jne 0x140013619
mov rax, rdx
jmp 0x14001363a
cmp word [rbx], 0
jne 0x140013624
mov rax, rdx
jmp 0x14001363a
or rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x140013630
mov qword [rbp - 8], rax
lea r8, [rbp - 0x40]
movaps xmm0, xmmword [rbp - 0x10]
lea rdx, [rbp + 0x148]
lea rcx, [rbp + 0x108]
movdqa xmmword [rbp - 0x40], xmm0
call fcn.14001dd60
mov rdx, rax
lea rcx, [rbp + 0x108]
call fcn.14000b100
mov r8, qword [rbp + 0x160]
cmp r8, 8
jb 0x140013690
mov rdx, qword [rbp + 0x148]
lea rcx, [rbp + 0x148]
inc r8
call fcn.140004d70
mov rax, qword [rbp - 0x60]
cmp qword [rax + 0x18], 8
jb 0x1400136a0
mov rdx, qword [rax]
jmp 0x1400136a3
mov rdx, rax
mov r8, qword [rax + 0x10]
xor eax, eax
mov qword [rbp + 0x140], 7
mov qword [rbp + 0x138], rax
mov word [rbp + 0x128], ax
test r8, r8
jne 0x1400136d7
mov qword [rbp + 0x138], rax
mov word [rbp + 0x128], ax
jmp 0x1400136e3
lea rcx, [rbp + 0x128]
call fcn.14000b820
xor edx, edx
lea rcx, [rbp + 0x128]
xor r8d, r8d
call fcn.140014cf0
cmp rax, 0xffffffffffffffff
je 0x14001370d
or r8, 0xffffffffffffffff
lea rcx, [rbp + 0x128]
mov rdx, rax
call fcn.140004de0
mov qword [rbp - 0x20], rbx
test rbx, rbx
jne 0x14001371a
xor eax, eax
jmp 0x14001373a
cmp word [rbx], 0
jne 0x140013724
xor eax, eax
jmp 0x14001373a
or rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x140013730
mov qword [rbp - 0x18], rax
lea r8, [rbp - 0x40]
movaps xmm0, xmmword [rbp - 0x20]
lea rdx, [rbp + 0x148]
lea rcx, [rbp + 0x128]
movdqa xmmword [rbp - 0x40], xmm0
call fcn.14001dd60
mov rdx, rax
lea rcx, [rbp + 0x128]
call fcn.14000b100
mov r8, qword [rbp + 0x160]
cmp r8, 8
jb 0x140013790
mov rdx, qword [rbp + 0x148]
lea rcx, [rbp + 0x148]
inc r8
call fcn.140004d70
mov rcx, qword [rbp - 0x70]
lea r8, [rbp + 0x128]
lea rdx, [rbp + 0x108]
call fcn.140012b40
test al, al
je 0x14001390e
mov r8, qword [rbp + 0x140]
cmp r8, 8
jb 0x1400137d2
mov rdx, qword [rbp + 0x128]
lea rcx, [rbp + 0x128]
inc r8
call fcn.140004d70
mov r8, qword [rbp + 0x120]
xor ecx, ecx
mov qword [rbp + 0x140], 7
mov qword [rbp + 0x138], rcx
mov word [rbp + 0x128], cx
cmp r8, 8
jb 0x140013812
mov rdx, qword [rbp + 0x108]
lea rcx, [rbp + 0x108]
inc r8
call fcn.140004d70
xor ecx, ecx
mov eax, dword [rsp + 0x6c]
lea r9, [rsp + 0x68]
mov qword [rsp + 0x38], rcx
mov r8, rbx
mov qword [rsp + 0x30], rcx
xor edx, edx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x70]
mov dword [rsp + 0x68], eax
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
cmp eax, 0x103
jne 0x140013564
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x140013865
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
mov qword [rsp + 0x70], rax
mov rax, qword [rbp - 0x30]
cmp qword [rax + 0x18], 8
jb 0x140013873
mov rax, qword [rax]
mov rcx, qword [rbp - 0x70]
xor r9d, r9d
mov rdx, rax
mov r8d, dword [rcx + 0x48]
mov rcx, qword [rcx + 0x28]
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyExW]
mov byte [rsp + 0x64], 1
test rbx, rbx
je 0x14001389d
mov rcx, rbx
call fcn.1400818c0
test rsi, rsi
je 0x1400138aa
mov rcx, rsi
call fcn.1400818c0
test rdi, rdi
je 0x1400138b7
mov rcx, rdi
call fcn.1400818c0
movzx edi, byte [rsp + 0x64]
mov rbx, qword [rbp - 0x50]
test rbx, rbx
je 0x1400138d5
mov rcx, rbx
call fcn.140013f20
mov rcx, rbx
call fcn.140080c40
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x1400138e8
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
movzx eax, dil
mov rcx, qword [rbp + 0x168]
xor rcx, rsp
call fcn.1400812a0
mov rbx, qword [rsp + 0x2a8]
add rsp, 0x270
pop rdi
pop rsi
pop rbp
ret
lea rcx, [rbp + 0x128]
call fcn.140002120
lea rcx, [rbp + 0x108]
call fcn.140002120
mov byte [rsp + 0x64], 0
jmp 0x140013890
cmp dword [0x1400da504], 2
jg 0x1400139a4
or dword [rsp + 0x60], 0x200
lea rcx, [rbp + 8]
mov edx, 2
mov dword [rbp], 2
lea r8d, [rdx - 1]
call fcn.1400262a0
lea rax, str.C:_buildbot_slave_workdir_repos_opera_desktop_windows_installer_service_transactions_delete_reg_key_operation.cc
mov dword [rbp + 0x100], 0x96
mov qword [rbp + 0xf8], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0x96
lea rdx, str.C:_buildbot_slave_workdir_repos_opera_desktop_windows_installer_service_transactions_delete_reg_key_operation.cc
lea rcx, [rbp]
mov dword [rbp + 0x104], eax
call fcn.1400257b0
lea rdx, str.Failed_to_read_a_subkey
lea rcx, [rbp + 8]
call fcn.14000f5a0
test dword [rsp + 0x60], 0x200
je 0x1400139b7
lea rcx, [rbp]
call fcn.140025360
mov byte [rsp + 0x64], 0
jmp 0x140013890
mov rdi, qword [rbp - 0x60]
cmp dword [0x1400da504], 2
jg 0x140013a47
or dword [rsp + 0x60], 8
lea rcx, [rbp + 8]
mov edx, 2
mov dword [rbp], 2
lea r8d, [rdx - 1]
call fcn.1400262a0
lea rsi, str.C:_buildbot_slave_workdir_repos_opera_desktop_windows_installer_service_transactions_delete_reg_key_operation.cc
mov dword [rbp + 0x100], 0x43
mov qword [rbp + 0xf8], rsi
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0x43
lea rcx, [rbp]
mov rdx, rsi
mov dword [rbp + 0x104], eax
call fcn.1400257b0
lea rdx, str.Failed_to_open_key
lea rcx, [rbp + 8]
call fcn.14000f5a0
cmp qword [rdi + 0x18], 8
jb 0x140013a3c
mov rdi, qword [rdi]
mov rdx, rdi
mov rcx, rax
call fcn.140025ff0
mov eax, dword [rsp + 0x60]
test al, 8
je 0x140013a58
lea rcx, [rbp]
call fcn.140025360
xor dil, dil
jmp 0x1400138c0
call fcn.1400053b0
int3