Function at 0x140025b90
Capabilities:
Delete registry value
Set registry value

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x90]
sub rsp, 0x190
mov qword [rbp + 0x60], 0xfffffffffffffffe
mov qword [rsp + 0x1d0], rbx
mov rsi, rcx
xor r14d, r14d
mov dword [rbp + 0xd8], r14d
lea rax, [0x14004e858]
mov qword [rsp + 0x60], rax
lea rax, [0x14004e860]
mov qword [rsp + 0x70], rax
lea rax, vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rbp], rax
xor r8d, r8d
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x60]
call fcn.140001fe0
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0x5c], edx
lea rcx, [rsp + 0x78]
call fcn.140002110
lea rax, vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x20], r14
mov dword [rbp - 0x18], r14d
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.Logger.0
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa0]
mov dword [rsp + rcx + 0x5c], edx
mov dword [rbp - 0x10], 0x64
lea rdx, str.UpdateRegistry__
lea rcx, [rsp + 0x70]
call fcn.140001350
mov rbx, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rbx
mov dl, 0xa
call fcn.1400089a0
movzx edx, ax
mov rcx, rbx
call fcn.1400083e0
mov rcx, rbx
call fcn.140007de0
lea rcx, [rbp]
call fcn.14000eab0
nop
lea r13, vtable.std::ios_base.0
mov qword [rbp], r13
lea rcx, [rbp]
call fcn.140027d0c
nop
mov qword [rbp + 0xe0], r14
lea rax, [rbp + 0xe0]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.AppID
mov rcx, 0xffffffff80000000
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400261ec
mov r15, qword [rbp + 0xe0]
mov r12d, r14d
mov qword [rbp + 0xe8], r14
lea rax, [rbp + 0xe8]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdi, str.11AC3232_E7D7_49CD_ABFE_501700100B3A
mov rdx, rdi
mov rcx, r15
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegOpenKeyExW]
lea edx, [r14 + 1]
lea rcx, [rsp + 0x60]
test eax, eax
jne 0x140025ec3
mov r12, qword [rbp + 0xe8]
call fcn.140011fe0
mov dword [rax + 0x90], 0x64
lea rcx, [rax + 0x10]
lea rdx, str.Registry_is_up_to_date
call fcn.140001350
mov rbx, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rbx
mov dl, 0xa
call fcn.1400089a0
movzx edx, ax
mov rcx, rbx
call fcn.1400083e0
mov rcx, rbx
call fcn.140007de0
lea rcx, [rbp]
call fcn.14000eab0
nop
mov qword [rbp], r13
lea rcx, [rbp]
call fcn.140027d0c
nop
lea edx, [r14 + 1]
lea rcx, [rsp + 0x60]
call fcn.140011fe0
mov dword [rax + 0x90], 0xa
lea rcx, [rax + 0x10]
lea rdx, str.Registering_Server
call fcn.140001350
mov rbx, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rbx
mov dl, 0xa
call fcn.1400089a0
movzx edx, ax
mov rcx, rbx
call fcn.1400083e0
mov rcx, rbx
call fcn.140007de0
lea rcx, [rbp]
call fcn.14000eab0
nop
mov qword [rbp], r13
lea rcx, [rbp]
call fcn.140027d0c
nop
mov eax, r14d
mov rsi, qword [0x140073ff0]
mov rcx, qword [0x140073ff8]
cmp rsi, rcx
jae 0x140025e88
nop dword [rax]
mov rdi, qword [rsi]
test rdi, rdi
je 0x140025e7b
mov rbx, qword [rdi + 8]
mov rcx, rbx
call qword [fcn.14000cbb0]
mov ecx, 1
call rbx
test eax, eax
js 0x140025eba
mov rbx, qword [rdi + 0x30]
mov rcx, rbx
call qword [fcn.14000cbb0]
call rbx
mov rdx, rax
mov r8d, 1
mov rcx, qword [rdi]
call fcn.140021430
test eax, eax
js 0x140025eba
mov rcx, qword [0x140073ff8]
add rsi, 8
cmp rsi, rcx
jb 0x140025e30
test eax, eax
js 0x140025eba
xor edx, edx
mov rcx, qword [0x140073fe8]
call fcn.1400219a0
test eax, eax
js 0x140025eba
mov rbx, qword [0x140073fd0]
test rbx, rbx
je 0x140025eb8
mov rcx, rbx
call qword [fcn.14000cbb0]
mov rcx, qword [0x140074e08]
call rbx
test eax, eax
cmovns eax, r14d
jmp 0x1400261c8
call fcn.140011fe0
mov dword [rax + 0x90], 0xa
lea rcx, [rax + 0x10]
lea rdx, str.Registry_update_needed
call fcn.140001350
mov rbx, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rbx
mov dl, 0xa
call fcn.1400089a0
movzx edx, ax
mov rcx, rbx
call fcn.1400083e0
mov rcx, rbx
call fcn.140007de0
lea rcx, [rbp]
call fcn.14000eab0
nop
mov qword [rbp], r13
lea rcx, [rbp]
call fcn.140027d0c
nop
lea rax, str.APPID
mov qword [rbp + 0x68], rax
mov qword [rbp + 0x70], rdi
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x78], xmm0
lea r9, [rbp + 0x68]
mov edx, 0x65
lea r8d, [rdx - 0x64]
mov rcx, qword [0x140073fa0]
call fcn.140015cb0
test eax, eax
js 0x1400261c8
test r15, r15
je 0x140025f6a
mov rcx, r15
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov r15, r14
mov qword [rsp + 0x50], r14
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, 0x20006
xor r8d, r8d
lea rdx, str.AppID
mov rcx, 0xffffffff80000000
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400261c1
mov eax, r14d
test r15, r15
je 0x140025faf
mov rcx, r15
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov r15, qword [rsp + 0x50]
test eax, eax
jne 0x1400261c1
mov qword [rsp + 0x58], r14
lea rax, [rbp + 0xd8]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x2001f
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov rcx, r15
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCreateKeyExW]
test eax, eax
jne 0x1400261c1
mov r12, qword [rsp + 0x58]
lea rdx, str.LocalService
mov rcx, r12
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegDeleteValueW]
mov edx, 1
lea rcx, [rsp + 0x60]
call fcn.140011fe0
mov dword [rax + 0x90], 0xa
lea rcx, [rax + 0x10]
lea rdi, [rsi + 0x68]
lea rdx, str.LocalService_:
call fcn.140001350
mov rcx, rax
mov rdx, rdi
call fcn.14000dd90
mov rbx, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rbx
mov dl, 0xa
call fcn.1400089a0
movzx edx, ax
mov rcx, rbx
call fcn.1400083e0
mov rcx, rbx
call fcn.140007de0
lea rcx, [rbp]
call fcn.14000eab0
nop
mov qword [rbp], r13
lea rcx, [rbp]
call fcn.140027d0c
nop
test rdi, rdi
je 0x1400260d4
or rax, 0xffffffffffffffff
nop dword [rax + rax]
lea rax, [rax + 1]
cmp word [rdi + rax*2], 0
jne 0x1400260a0
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdi
mov r9d, 1
xor r8d, r8d
lea rdx, str.LocalService
mov rcx, r12
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
mov rcx, r12
call fcn.140024a90
mov edx, 1
lea rcx, [rsp + 0x60]
call fcn.140011fe0
mov dword [rax + 0x90], 0xa
lea rcx, [rax + 0x10]
lea rdx, str.Registering_Server
call fcn.140001350
mov rbx, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rbx
mov dl, 0xa
call fcn.1400089a0
movzx edx, ax
mov rcx, rbx
call fcn.1400083e0
mov rcx, rbx
call fcn.140007de0
lea rcx, [rbp]
call fcn.14000eab0
nop
mov qword [rbp], r13
lea rcx, [rbp]
call fcn.140027d0c
nop
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rsi
call fcn.1400242e0
test eax, eax
js 0x1400261c8
mov edx, 1
lea rcx, [rsp + 0x60]
call fcn.140011fe0
mov dword [rax + 0x90], 0x64
lea rcx, [rax + 0x10]
lea rdx, str.UpdateRegistry___done
call fcn.140001350
mov rbx, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rbx
mov dl, 0xa
call fcn.1400089a0
movzx edx, ax
mov rcx, rbx
call fcn.1400083e0
mov rcx, rbx
call fcn.140007de0
lea rcx, [rbp]
call fcn.14000eab0
nop
mov qword [rbp], r13
lea rcx, [rbp]
call fcn.140027d0c
nop
jmp 0x1400261cb
mov ecx, eax
call fcn.140012d90
mov r14d, eax
test r12, r12
je 0x1400261d9
mov rcx, r12
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
test r15, r15
je 0x1400261e7
mov rcx, r15
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov eax, r14d
jmp 0x1400261f2
mov dword [rsi + 0x27c], eax
mov rbx, qword [rsp + 0x1d0]
add rsp, 0x190
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret