Function at 0x1400d06f0
Capabilities:
Modify service

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x298
movaps xmmword [rsp + 0x280], xmm6
mov rax, qword [0x14025e040]
xor rax, rsp
mov qword [rsp + 0x278], rax
movaps xmm6, xmmword [0x14022f060]
lea rsi, [rsp + 0xc0]
movaps xmmword [rsi + 0x40], xmm6
movaps xmmword [rsi + 0x30], xmm6
movaps xmmword [rsi + 0x20], xmm6
movaps xmmword [rsi + 0x10], xmm6
movaps xmmword [rsi], xmm6
lea rax, str.brave_vpn_helper.exe
lea rdi, [rsp + 0x90]
mov qword [rdi], rax
mov qword [rdi + 8], 0x14
lea rbx, [rsp + 0x110]
mov rdx, rbx
mov r8, rdi
call fcn.14012e480
mov rcx, rsi
mov rdx, rbx
call fcn.1400e7f30
mov rcx, rbx
call fcn.14012d570
movaps xmmword [rdi + 0x20], xmm6
movaps xmmword [rdi + 0x10], xmm6
movaps xmmword [rdi], xmm6
xor eax, eax
lea r12, [rsp + 0x260]
mov qword [r12 + 0x10], rax
xorps xmm0, xmm0
movaps xmmword [r12], xmm0
lea r13, [rsp + 0x240]
mov qword [r13 + 0x10], rax
movaps xmmword [r13], xmm0
lea r14, [rsp + 0x78]
mov rcx, r14
call fcn.1400cee30
mov rcx, rbx
xor edx, edx
call fcn.1400e7eb0
lea r15, [rsp + 0x60]
mov rcx, r15
call fcn.1400cf0f0
lea rdi, [rsp + 0x48]
mov rcx, rdi
call fcn.1400ceaf0
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0x90]
mov rdx, rdi
mov r8, r15
mov r9d, 3
call fcn.140197f30
cmp byte [rdi + 0x17], 0
jns 0x1400d0825
mov rcx, qword [rsp + 0x48]
call fcn.140155854
cmp byte [rsp + 0x77], 0
jns 0x1400d0836
mov rcx, qword [rsp + 0x60]
call fcn.140155854
lea r14, [rsp + 0x110]
mov rcx, r14
call fcn.1400e8510
cmp byte [rsp + 0x8f], 0
jns 0x1400d085a
mov rcx, qword [rsp + 0x78]
call fcn.140155854
mov rcx, qword [rsp + 0x240]
test rcx, rcx
je 0x1400d088c
mov rax, qword [rsp + 0x248]
cmp rax, rcx
je 0x1400d087f
add rax, 0xfffffffffffffff0
jne 0x1400d086f
jmp 0x1400d0df9
mov qword [rsp + 0x248], rcx
call fcn.140155854
mov rcx, qword [rsp + 0x260]
test rcx, rcx
je 0x1400d08be
mov rax, qword [rsp + 0x268]
cmp rax, rcx
je 0x1400d08b1
add rax, 0xfffffffffffffff0
jne 0x1400d08a1
jmp 0x1400d0df9
mov qword [rsp + 0x268], rcx
call fcn.140155854
lea rsi, [rsp + 0x90]
mov rcx, rsi
mov dl, 1
call fcn.14019eb40
xor ebp, ebp
mov rcx, rsi
xor edx, edx
call fcn.14019eb50
mov rcx, rsi
call fcn.14019eae0
test al, al
je 0x1400d0a49
lea rcx, [rsp + 0x78]
call fcn.1400cf030
lea rbx, [rsp + 0x60]
mov rcx, rbx
call fcn.1400ceaf0
xor ecx, ecx
xor edx, edx
mov r8d, 1
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test rax, rax
je 0x1400d0a91
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
call fcn.14012d270
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
cmp byte [rsp + 0x77], 0
jns 0x1400d0940
mov rbx, qword [rsp + 0x60]
mov rcx, rsi
mov rdx, rbx
mov r8d, 0xf01ff
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
test rax, rax
je 0x1400d0b3f
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
call fcn.14012d270
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, rbx
call fcn.1400cea50
test al, al
jne 0x1400d0c09
lea rcx, str....._brave_browser_brave_vpnwin_brave_vpn_wireguard_serviceinstall_utils.cc
mov edx, 0x4f
call fcn.14012cfd0
test eax, eax
jle 0x1400d0a06
lea rdx, str....._brave_browser_brave_vpnwin_brave_vpn_wireguard_serviceinstall_utils.cc
lea rdi, [rsp + 0x110]
mov rcx, rdi
mov r8d, 0x80
mov r9d, 0xffffffff
call fcn.1400e3be0
lea rcx, [rsp + 0x120]
lea rdx, str.SetServiceFailureActions_failed:
mov r8d, 0x20
call fcn.140111880
mov r14, rax
mov rax, qword [rax]
movsxd rax, dword [rax + 4]
mov ecx, dword [r14 + rax + 8]
and ecx, 0xffffffb5
or ecx, 8
mov dword [r14 + rax + 8], ecx
call fcn.1400ce850
mov rcx, r14
mov edx, eax
call fcn.1400c2cc0
mov rcx, rdi
call fcn.1400e41f0
xor ebp, ebp
call fcn.14012d270
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
call fcn.14012d270
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
cmp byte [rsp + 0x77], 0
jns 0x1400d0a35
mov rcx, qword [rsp + 0x60]
call fcn.140155854
cmp byte [rsp + 0x8f], 0
jns 0x1400d0a49
mov rcx, qword [rsp + 0x78]
call fcn.140155854
lea rcx, [rsp + 0x90]
call fcn.140197fd0
lea rcx, [rsp + 0xc0]
call fcn.1400e8510
mov rcx, qword [rsp + 0x278]
xor rcx, rsp
call fcn.140156d40
mov eax, ebp
movaps xmm6, xmmword [rsp + 0x280]
add rsp, 0x298
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str....._brave_browser_brave_vpnwin_brave_vpn_wireguard_serviceinstall_utils.cc
mov edx, 0x4f
call fcn.14012cfd0
test eax, eax
jle 0x1400d0b38
lea rdx, str....._brave_browser_brave_vpnwin_brave_vpn_wireguard_serviceinstall_utils.cc
lea rsi, [rsp + 0x110]
mov rcx, rsi
mov r8d, 0x73
mov r9d, 0xffffffff
call fcn.1400e3be0
lea rcx, [rsp + 0x120]
lea rdx, str.::OpenSCManager_failed._service_name:
mov r8d, 0x26
call fcn.140111880
lea rdx, [rsp + 0x60]
mov rcx, rax
call fcn.1400e0bb0
lea rdx, str.__error:
mov r8d, 9
mov rcx, rax
call fcn.140111880
mov rdi, rax
mov rax, qword [rax]
movsxd rax, dword [rax + 4]
mov ecx, dword [rdi + rax + 8]
and ecx, 0xffffffb5
or ecx, 8
mov dword [rdi + rax + 8], ecx
call fcn.1400ce850
mov rcx, rdi
mov edx, eax
call fcn.1400c2cc0
mov rcx, rsi
call fcn.1400e41f0
xor ebp, ebp
jmp 0x1400d0a24
lea rcx, str....._brave_browser_brave_vpnwin_brave_vpn_wireguard_serviceinstall_utils.cc
mov edx, 0x4f
call fcn.14012cfd0
test eax, eax
jle 0x1400d0be6
lea rdx, str....._brave_browser_brave_vpnwin_brave_vpn_wireguard_serviceinstall_utils.cc
lea rdi, [rsp + 0x110]
mov rcx, rdi
mov r8d, 0x7a
mov r9d, 0xffffffff
call fcn.1400e3be0
lea rcx, [rsp + 0x120]
lea rdx, str.::OpenService_failed._service_name:
mov r8d, 0x24
call fcn.140111880
lea rdx, [rsp + 0x60]
mov rcx, rax
call fcn.1400e0bb0
lea rdx, str.__error:
mov r8d, 9
mov rcx, rax
call fcn.140111880
mov rbx, rax
mov rax, qword [rax]
movsxd rax, dword [rax + 4]
mov ecx, dword [rbx + rax + 8]
and ecx, 0xffffffb5
or ecx, 8
mov dword [rbx + rax + 8], ecx
call fcn.1400ce850
mov rcx, rbx
mov edx, eax
call fcn.1400c2cc0
mov rcx, rdi
call fcn.1400e41f0
xor ebp, ebp
jmp 0x1400d0a16
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x80]
lea rcx, [rsp + 0x260]
call fcn.140120ec0
jmp 0x1400d0c4a
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x270], rax
movaps xmmword [rsp + 0x260], xmm6
cmp byte [rsp + 0x8f], 0
js 0x1400d0bed
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x270], rax
movups xmm0, xmmword [rsp + 0x78]
movaps xmmword [rsp + 0x260], xmm0
movsx rax, byte [rsp + 0x277]
test rax, rax
jns 0x1400d0dac
movabs r15, 0x7fffffffffffffff
and r15, qword [rsp + 0x270]
dec r15
mov rax, qword [rsp + 0x268]
cmp rax, r15
je 0x1400d0dcb
mov rcx, qword [rsp + 0x260]
lea rdx, [rax + 1]
mov qword [rsp + 0x268], rdx
mov dword [rcx + rax*2], 0
movzx eax, byte [rsp + 0x277]
test al, al
cmovs eax, dword [rsp + 0x268]
cmovs r12, qword [rsp + 0x260]
mov dword [rsp + 0x48], 2
add eax, eax
mov dword [rsp + 0x4c], eax
mov qword [rsp + 0x50], r12
xor eax, eax
mov qword [rsp + 0x120], rax
movabs rcx, 0x100000014
mov qword [rsp + 0x110], rcx
lea rcx, [0x140236f9c]
mov qword [rsp + 0x118], rcx
mov ecx, 1
mov dword [rsp + 0x120], ecx
mov qword [rsp + 0x128], rdi
xorps xmm0, xmm0
lea r8, [rsp + 0x240]
movaps xmmword [r8], xmm0
mov qword [r8 + 0x10], rax
mov dword [r8], ecx
mov qword [r8 + 8], r14
mov rcx, rbx
mov edx, 8
call qword [sym.imp.ADVAPI32.dll_ChangeServiceConfig2W]
mov edi, eax
cmp byte [rsp + 0x277], 0
jns 0x1400d0d4b
mov rcx, qword [rsp + 0x260]
call fcn.140155854
mov bpl, 1
test edi, edi
jne 0x1400d0a08
lea rcx, str....._brave_browser_brave_vpnwin_brave_vpn_wireguard_serviceinstall_utils.cc
mov edx, 0x4f
call fcn.14012cfd0
test eax, eax
jle 0x1400d0a06
lea rdx, str....._brave_browser_brave_vpnwin_brave_vpn_wireguard_serviceinstall_utils.cc
lea rdi, [rsp + 0x110]
mov rcx, rdi
mov r8d, 0x85
mov r9d, 0xffffffff
call fcn.1400e3be0
lea rcx, [rsp + 0x120]
lea rdx, str.SetServiceTriggerForVPNConnection_failed:
mov r8d, 0x29
jmp 0x1400d09d0
cmp al, 0xa
je 0x1400d0dc5
lea ecx, [rax + 1]
and cl, 0x7f
mov byte [rsp + 0x277], cl
mov rcx, r12
jmp 0x1400d0c96
mov r15d, 0xa
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x20], r15
lea rcx, [rsp + 0x260]
mov r8d, 1
mov rdx, r15
mov r9, r15
call fcn.140111ba0
mov rax, r15
jmp 0x1400d0c82
lea rcx, [0x140231db2]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:66:_assertion___loc___nullptr_failed:_null_pointer_given_to_destroy_at_n
call fcn.140194150
int3