Function at 0x14007b810
Capabilities:
Check if file exists
Check mutex on windows
Delete registry value
Set registry value

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, reloc.SHELL32.dll_IsUserAnAdmin
mov r14, r8
mov rbx, rdx
mov rsi, rcx
mov rax, qword [0x14051d038]
xor rax, rsp
mov qword [rsp + 0x2a0], rax
movzx eax, byte [rdx + 0x17]
test al, al
js 0x14007b84b
and eax, 0x7f
jmp 0x14007b84f
mov rax, qword [rbx + 8]
test rax, rax
je 0x14007b8f0
lea rdi, [rsi + 8]
mov rax, qword [rsi + 8]
lea rcx, [rax + 1]
cmp rcx, 1
ja 0x14007b887
lea r8, str.oauc_registry_mutex
xor ecx, ecx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov qword [rdi], rax
test rax, rax
je 0x14007b984
lea rcx, [rax + 1]
cmp rcx, 1
ja 0x14007b91d
mov ecx, 2
call fcn.14026cdd0
mov r12d, 0xffffff04
test al, al
je 0x14007b8f6
lea rdx, str.....operadesktopcommon_autoupdateupdatecheckerglobalstorage_win.cc
lea rsi, [rsp + 0xe0]
mov rcx, rsi
mov r8d, 0xd0
mov r9d, 2
call fcn.14015a460
lea rcx, [rsp + 0xf0]
lea rdx, str._AU__GS:_Couldnt_create_an_access_mutex
mov r8d, 0x28
call fcn.14031d7c0
mov rcx, rsi
call fcn.14015aab0
jmp 0x14007b8f6
mov r12d, 0xffffff02
mov rcx, qword [rsp + 0x2a0]
xor rcx, rsp
call fcn.1402ddd70
mov eax, r12d
add rsp, reloc.SHELL32.dll_IsUserAnAdmin
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x14007b9b3
mov ecx, 2
call fcn.14026cdd0
mov r12d, 1
test al, al
je 0x14007b8f6
lea rdx, str.....operadesktopcommon_autoupdateupdatecheckerglobalstorage_win.cc
lea rsi, [rsp + 0xe0]
mov rcx, rsi
mov r8d, 0xd5
mov r9d, 2
call fcn.14015a460
lea rcx, [rsp + 0xf0]
lea rdx, str._AU__GS:_Couldnt_get_hold_on_an_access_mutex
mov r8d, 0x2d
jmp 0x14007b8e1
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
je 0x14007b997
mov rax, qword [rdi]
jmp 0x14007b887
lea r8, str.oauc_registry_mutex
mov ecx, 0x100000
xor edx, edx
call qword [sym.imp.KERNEL32.dll_OpenMutexW]
mov qword [rdi], rax
jmp 0x14007b887
movabs r13, 0xfffffffc00000000
and r13, rdi
cmp r13, qword [0x14051e188]
jne 0x14007b9d1
mov rcx, rdi
call fcn.140221e30
lea r12, [rsp + 0xdf]
mov byte [r12], 0xaa
lea rdx, str.SetData
lea r8, str.....operadesktopcommon_autoupdateupdatecheckerglobalstorage_win.cc
lea r15, [rsp + 0xe0]
mov rcx, r15
mov r9d, 0xdb
call fcn.14026d510
mov rcx, r12
mov rdx, r15
call fcn.140151b90
cmp byte [rsi + 0x28], 0
je 0x14007bd63
lea r12, [rsp + 0x50]
mov r8d, 0x88
mov rcx, r12
mov dl, 0xaa
call fcn.1402e0d10
lea rdx, [rsi + 0x10]
mov rcx, r12
call fcn.14007c170
mov rcx, qword [r12 + 0x80]
call fcn.14016f250
test al, al
mov qword [rsp + 0x48], r13
jne 0x14007bce7
movaps xmm0, xmmword [0x14047fb40]
lea rcx, [rsp + 0x280]
movaps xmmword [rcx + 0x10], xmm0
movaps xmmword [rcx], xmm0
call fcn.14014e580
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x278], rax
mov rcx, qword [rsp + 0xd0]
lea rax, [rsp + 0x258]
mov byte [rax + 0x17], 2
lea rdx, [0x140491ecb]
lea r8, [rsp + 0x25a]
cmp rax, rdx
ja 0x14007bab0
cmp r8, rdx
ja 0x14007c115
lea r12, [rsp + 0x258]
mov word [r12], 0x5347
mov byte [r12 + 2], 0
lea r8, [rsp + 0x278]
mov rdx, r12
call fcn.14016edd0
mov ebp, eax
cmp byte [r12 + 0x17], 0
jns 0x14007baec
mov rcx, qword [rsp + 0x258]
call fcn.1402dd16c
test bpl, bpl
je 0x14007bb33
mov rcx, qword [rsp + 0x278]
cmp byte [rcx + 0x20], 6
jne 0x14007bcda
call fcn.14014e4c0
lea r13, [rsp + 0x258]
mov rcx, rax
mov rdx, r13
call fcn.14014e9b0
lea rcx, [rsp + 0x280]
mov rdx, r13
call fcn.14014e5a0
mov rcx, r13
call fcn.14025a110
movzx ecx, byte [r14 + 0x17]
test cl, cl
js 0x14007bb43
mov eax, ecx
and eax, 0x7f
jmp 0x14007bb47
mov rax, qword [r14 + 8]
test rax, rax
je 0x14007bb88
mov rdx, r14
test cl, cl
jns 0x14007bb56
mov rdx, qword [r14]
mov qword [rsp + 0x238], rdx
mov qword [rsp + 0x240], rax
test rax, rax
js 0x14007c0e9
test rdx, rdx
je 0x14007c141
movzx eax, byte [rbx + 0x17]
test al, al
js 0x14007bbdd
and eax, 0x7f
mov rcx, rbx
jmp 0x14007bbe4
movzx eax, byte [rbx + 0x17]
test al, al
js 0x14007bb98
and eax, 0x7f
mov rcx, rbx
jmp 0x14007bb9f
mov rax, qword [rbx + 8]
mov rcx, qword [rbx]
mov qword [rsp + 0x248], rcx
mov qword [rsp + 0x250], rax
test rax, rax
js 0x14007c0e9
test rcx, rcx
jne 0x14007bbc6
test rax, rax
jne 0x14007c141
lea rcx, [rsp + 0x280]
lea rdx, [rsp + 0x248]
call fcn.14014f440
jmp 0x14007bc28
mov rax, qword [rbx + 8]
mov rcx, qword [rbx]
mov qword [rsp + 0x228], rcx
mov qword [rsp + 0x230], rax
test rax, rax
js 0x14007c0e9
test rcx, rcx
jne 0x14007bc0b
test rax, rax
jne 0x14007c141
lea rcx, [rsp + 0x280]
lea rdx, [rsp + 0x228]
lea r8, [rsp + 0x238]
call fcn.14014f1e0
mov r13, qword [rsp + 0xd0]
lea rcx, [rsp + 0xe0]
lea rdx, [rsp + 0x280]
call fcn.14014e3c0
mov byte [rsp + 0x26f], 2
lea rax, [0x140491ecb]
cmp r12, rax
ja 0x14007bc6a
lea rcx, [rsp + 0x25a]
cmp rcx, rax
ja 0x14007c115
lea rbp, [rsp + 0x258]
mov word [rbp], 0x5347
mov byte [rbp + 2], 0
lea r8, [rsp + 0xe0]
xor r12d, r12d
mov rcx, r13
mov rdx, rbp
xor r9d, r9d
call fcn.14016eeb0
cmp byte [rbp + 0x17], 0
jns 0x14007bca8
mov rcx, qword [rsp + 0x258]
call fcn.1402dd16c
mov rcx, qword [rsp + 0xd0]
lea r8, [rsp + 0x220]
mov qword [r8], r12
lea rdx, [rsp + 0x218]
mov qword [rdx], r12
call fcn.14016ffc0
lea rcx, [rsp + 0x280]
call fcn.14025a110
jmp 0x14007bcff
lea rcx, [rsp + 0x280]
call fcn.14025a110
mov ecx, 2
call fcn.14026cdd0
mov r12d, 0xffffff04
test al, al
jne 0x14007c036
mov bpl, byte [rsi + 0x28]
mov r13, qword [rsp + 0xd0]
test r13, r13
je 0x14007bd2d
lea rcx, [r13 + 8]
call fcn.14026cab0
cmp dword [r13 + 8], 0
jne 0x14007bd2d
mov rcx, r13
mov edx, 1
call fcn.140171290
lea rcx, [rsp + 0x50]
call fcn.140151fd0
test bpl, bpl
mov r13, qword [rsp + 0x48]
jne 0x14007be1d
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x50], rax
movzx eax, byte [r14 + 0x17]
test al, al
jns 0x14007bd7b
mov rax, qword [r14 + 8]
jmp 0x14007bd7e
lea rcx, [rsi + 0x10]
call fcn.1401496e0
test al, al
je 0x14007bd45
cmp byte [rsi + 0x2a], 0
jne 0x14007bd45
jmp 0x14007ba17
and eax, 0x7f
test rax, rax
je 0x14007be52
mov rcx, r15
call fcn.1400885b0
cmp byte [rsp + 0xf7], 0
jns 0x14007bda1
mov r15, qword [rsp + 0xe0]
xor eax, eax
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], 0
mov rcx, 0xffffffff80000001
mov rdx, r15
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov ebp, eax
cmp byte [rsp + 0xf7], 0
jns 0x14007bdf6
mov rcx, qword [rsp + 0xe0]
call fcn.1402dd16c
test ebp, ebp
je 0x14007bf59
mov ecx, 2
call fcn.14026cdd0
mov r12d, 0xffffff04
test al, al
jne 0x14007bfd9
test r12d, r12d
sete byte [rsi + 0x29]
lea rcx, [rsp + 0xdf]
call fcn.140151dd0
test rdi, rdi
je 0x14007be38
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp r13, qword [0x14051e188]
jne 0x14007b8f6
mov rcx, rdi
call fcn.140221f80
jmp 0x14007b8f6
lea r14, [rsp + 0xe0]
mov rcx, r14
call fcn.1400885b0
cmp byte [r14 + 0x17], 0
jns 0x14007be71
mov r14, qword [rsp + 0xe0]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov rcx, 0xffffffff80000001
mov rdx, r14
xor r8d, r8d
mov r9d, 0x20006
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov ebp, eax
cmp byte [rsp + 0xf7], 0
jns 0x14007bead
mov rcx, qword [rsp + 0xe0]
call fcn.1402dd16c
test ebp, ebp
je 0x14007bf2f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
and eax, 0xfffffffe
xor r12d, r12d
cmp eax, 2
je 0x14007be16
mov ecx, 2
call fcn.14026cdd0
mov r12d, 0xffffff04
test al, al
je 0x14007be16
lea rdx, str.....operadesktopcommon_autoupdateupdatecheckerglobalstorage_win.cc
lea r14, [rsp + 0xe0]
mov rcx, r14
mov r8d, 0x117
mov r9d, 2
call fcn.14015a460
lea rcx, [rsp + 0xf0]
lea rdx, str._AU__GS:_Deleting_reg_value_failed_with:
mov r8d, 0x29
call fcn.14031d7c0
mov rcx, rax
mov edx, ebx
call fcn.140025740
mov rcx, r14
jmp 0x14007c02c
cmp byte [rbx + 0x17], 0
jns 0x14007bf38
mov rbx, qword [rbx]
mov rcx, qword [rsp + 0x50]
mov rdx, rbx
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor r12d, r12d
jmp 0x14007be16
movzx ecx, byte [r14 + 0x17]
test cl, cl
js 0x14007bf69
mov eax, ecx
and eax, 0x7f
jmp 0x14007bf6d
mov rax, qword [r14 + 8]
mov rdx, rax
shr rdx, 0x20
jne 0x14007c0dd
test cl, cl
jns 0x14007bf81
mov r14, qword [r14]
cmp byte [rbx + 0x17], 0
jns 0x14007bf8a
mov rbx, qword [rbx]
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r14
xor r12d, r12d
mov rdx, rbx
xor r8d, r8d
mov r9d, 1
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0x14007bfc9
mov ecx, 2
call fcn.14026cdd0
mov r12d, 0xffffff04
test al, al
jne 0x14007c080
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x14007be16
lea rdx, str.....operadesktopcommon_autoupdateupdatecheckerglobalstorage_win.cc
lea rbx, [rsp + 0xe0]
mov rcx, rbx
mov r8d, 0x105
mov r9d, 2
call fcn.14015a460
lea rcx, [rsp + 0xf0]
lea rdx, str._AU__GS:_Creating_reg_key_failed_with:
mov r8d, 0x27
call fcn.14031d7c0
mov r14, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, r14
mov edx, eax
call fcn.140025740
mov rcx, rbx
call fcn.14015aab0
jmp 0x14007be16
lea rdx, str.....operadesktopcommon_autoupdateupdatecheckerglobalstorage_win.cc
lea r13, [rsp + 0xe0]
mov rcx, r13
mov r8d, 0xe5
mov r9d, 2
call fcn.14015a460
lea rcx, [rsp + 0xf0]
lea rdx, str._AU__GS:_Writing_to_a_fallback_storage_failed
mov r8d, 0x2d
call fcn.14031d7c0
mov rcx, r13
call fcn.14015aab0
jmp 0x14007bcff
lea rdx, str.....operadesktopcommon_autoupdateupdatecheckerglobalstorage_win.cc
lea rbx, [rsp + 0xe0]
mov rcx, rbx
mov r8d, 0xff
mov r9d, 2
call fcn.14015a460
lea rcx, [rsp + 0xf0]
lea rdx, str._AU__GS:_Setting_reg_value_failed_with:
mov r8d, 0x28
call fcn.14031d7c0
mov r14, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, r14
mov edx, eax
call fcn.140025740
mov rcx, rbx
call fcn.14015aab0
jmp 0x14007bfc9
int3
lea rax, str.string_view::string_view__CharT___size_t_:_length_does_not_fit_in_difference_type
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude_string_view
lea r9, str.__len___static_cast_size_type__numeric_limits_difference_type_::max___
mov r8d, 0x13a
call fcn.14032ac00
lea rax, str.char_traits::copy_overlapped_range
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude__stringchar_traits.h
lea r9, str.__s2_____s1____s2_____s1____n
mov r8d, 0xf3
call fcn.14032ac00
lea rax, str.string_view::string_view__CharT___size_t_:_received_nullptr
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude_string_view
lea r9, str.__len__0____s___nullptr
mov r8d, 0x13c
call fcn.14032ac00
int3