Function at 0x140011c34
Capabilities:
Delete registry value
Query or enumerate registry value
Set registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x498]
sub rsp, 0x598
mov rax, qword [0x140048f50]
xor rax, rsp
mov qword [rbp + 0x480], rax
mov r14, qword [rbp + 0x500]
xor r15d, r15d
mov rsi, rcx
mov r12, r8
mov ebx, edx
lea edi, [r15 + 0x7f]
lea rcx, [rbp + 1]
mov r8d, edi
xor edx, edx
mov r13, r9
mov byte [rbp], r15b
call fcn.14001e2f0
lea rcx, [rbp - 0x7f]
mov r8d, edi
xor edx, edx
mov byte [rbp - 0x80], r15b
call fcn.14001e2f0
lea rcx, [rbp + 0x81]
xor edx, edx
mov r8d, 0x3ff
mov dword [rsp + 0x6c], r15d
mov dword [rsp + 0x54], r15d
mov dword [rsp + 0x58], r15d
mov dword [rsp + 0x50], r15d
mov byte [rbp + 0x80], r15b
call fcn.14001e2f0
lea rdi, [0x140037bf4]
mov rdx, rdi
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
mov rdx, rdi
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
mov rdx, rdi
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea r11, [rsp + 0x6c]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r15
lea rdx, str.SoftwareJreMetrics
xor r9d, r9d
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x28], 0x2021f
mov dword [rsp + 0x20], r15d
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov edi, eax
test eax, eax
je 0x140011d63
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.GetUpdatedJreMetrics_____RegCreateKeyEx_failed:__l_Error_Code:__d_n
lea rcx, [rbp + 0x80]
mov r9d, eax
mov r8d, edi
call qword [sym.imp.USER32.dll_wsprintfA]
jmp 0x1400120bc
mov rcx, qword [rsp + 0x60]
lea rax, [rsp + 0x50]
lea r9, [rsp + 0x70]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x68]
lea rdx, str.MachineCount
xor r8d, r8d
mov dword [rsp + 0x50], 4
mov dword [rsp + 0x70], r15d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov edi, eax
mov eax, 1
cmp edi, 2
jne 0x140011e3d
test ebx, ebx
jne 0x140011e14
mov rcx, qword [rsp + 0x60]
lea r9d, [rax + 3]
mov dword [rsp + 0x68], eax
lea rax, [rsp + 0x68]
mov dword [rsp + 0x28], r9d
lea rdx, str.MachineCount
xor r8d, r8d
mov dword [rsp + 0x50], r9d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov edi, eax
test eax, eax
jne 0x140011e05
lea rdx, str.false
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea rcx, str.GetUpdatedJreMetrics_____MachineCount_registry_value_created_n
jmp 0x140011e91
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.GetUpdatedJreMetrics_____RegSetValue_for_MachineCount_failed:__l_Error_Code:__d_n
jmp 0x140011e77
lea rdx, [0x140038e9c]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea rdx, str.GetUpdatedJreMetrics_____MachineCount_registry_value_does_not_exist_and_will_not_be_created__because_install_was_not_successful._Error:__d_n
lea rcx, [rbp + 0x80]
mov r8d, ebx
call qword [sym.imp.USER32.dll_wsprintfA]
jmp 0x140011e8a
test edi, edi
jne 0x140011e6a
lea rcx, str.GetUpdatedJreMetrics_____MachineCount_registry_value_exists_n
call fcn.1400113f8
mov rcx, r12
lea rdx, str.true
test ebx, ebx
je 0x140011e62
lea rdx, [0x140037c00]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x140011e96
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.GetUpdatedJreMetrics_____RegQueryValueEx_for_MachineCount_failed:__l_Error_Code:__d_n
lea rcx, [rbp + 0x80]
mov r9d, eax
mov r8d, edi
call qword [sym.imp.USER32.dll_wsprintfA]
lea rcx, [rbp + 0x80]
call fcn.1400113f8
mov rcx, qword [rsp + 0x60]
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x58]
lea rdx, str.InstallAttempts
mov edi, 4
mov dword [rsp + 0x50], edi
call fcn.140011a4c
test eax, eax
jne 0x140011efb
mov rcx, qword [rsp + 0x60]
lea r9, [rsp + 0x50]
lea r8, [rbp - 0x80]
lea rdx, str.NewJreVersion
mov dword [rsp + 0x50], 0x80
call fcn.140011a4c
test eax, eax
jne 0x140011efb
lea rcx, [rbp - 0x80]
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x140011efb
inc dword [rsp + 0x58]
jmp 0x140011f03
mov dword [rsp + 0x58], 1
mov rcx, qword [rsp + 0x60]
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x54]
lea rdx, str.UpdateCount
mov dword [rsp + 0x50], edi
call fcn.140011a4c
mov ecx, dword [rsp + 0x54]
or edx, 0xffffffff
test eax, eax
cmovne ecx, edx
mov dword [rsp + 0x54], ecx
test ebx, ebx
jne 0x1400120ed
mov rcx, qword [rsp + 0x60]
lea r9, [rsp + 0x50]
lea r8, [rbp]
lea rdx, str.JreVersion
mov dword [rsp + 0x50], 0x80
call fcn.140011a4c
lea rcx, [rbp]
mov ebx, r15d
test eax, eax
mov eax, 1
mov rdx, rsi
cmovne ebx, eax
call qword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
js 0x140011f82
test ebx, ebx
je 0x14001203f
mov ebx, 1
mov rcx, rsi
add dword [rsp + 0x54], ebx
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov rcx, qword [rsp + 0x60]
mov dword [rsp + 0x28], eax
lea rdx, str.JreVersion
mov r9d, ebx
xor r8d, r8d
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov ebx, eax
test eax, eax
je 0x140011fe7
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.GetUpdatedJreMetrics_____RegSetValueEx_failed_for_JreVersion:__l_Error_Code:__d_n
lea rcx, [rbp + 0x80]
mov r9d, eax
mov r8d, ebx
call qword [sym.imp.USER32.dll_wsprintfA]
lea rcx, [rbp + 0x80]
call fcn.1400113f8
mov rcx, qword [rsp + 0x60]
lea rax, [rsp + 0x54]
lea rdx, str.UpdateCount
mov r9d, edi
xor r8d, r8d
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov ebx, eax
test eax, eax
je 0x14001203f
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.GetUpdatedJreMetrics_____RegSetValueEx_failed_for_UpdateCount:__l_Error_Code:__d_n
lea rcx, [rbp + 0x80]
mov r9d, eax
mov r8d, ebx
call qword [sym.imp.USER32.dll_wsprintfA]
lea rcx, [rbp + 0x80]
call fcn.1400113f8
mov rcx, qword [rsp + 0x60]
lea rdx, str.InstallAttempts
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
mov rcx, qword [rsp + 0x60]
lea rdx, str.NewJreVersion
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
mov r8d, dword [rsp + 0x54]
lea rdx, [0x1400384d0]
mov rcx, r13
cmp r8d, 0xffffffff
cmove r8d, r15d
mov dword [rsp + 0x54], r8d
call qword [sym.imp.USER32.dll_wsprintfA]
mov r8d, dword [rsp + 0x58]
lea rdx, [0x1400384d0]
mov rcx, r14
call qword [sym.imp.USER32.dll_wsprintfA]
lea rdx, str.GetUpdatedJreMetrics_____MachineCounted:__s__InstallAttempts:__s__UpdateCount:__s_n
lea rcx, [rbp + 0x80]
mov r9, r14
mov r8, r12
mov qword [rsp + 0x20], r13
call qword [sym.imp.USER32.dll_wsprintfA]
mov edi, r15d
lea rcx, [rbp + 0x80]
call fcn.1400113f8
mov eax, edi
mov rcx, qword [rbp + 0x480]
xor rcx, rsp
call fcn.14001eba0
add rsp, 0x598
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp ebx, 0xffffff80
je 0x14001203f
mov rcx, qword [rsp + 0x60]
lea rax, [rsp + 0x58]
lea rdx, str.InstallAttempts
mov r9d, edi
xor r8d, r8d
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov ebx, eax
test eax, eax
je 0x14001214e
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.GetUpdatedJreMetrics_____RegSetValueEx_failed_for_InstallAttempts:__l_Error_Code:__d_n
lea rcx, [rbp + 0x80]
mov r9d, eax
mov r8d, ebx
call qword [sym.imp.USER32.dll_wsprintfA]
lea rcx, [rbp + 0x80]
call fcn.1400113f8
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov rcx, qword [rsp + 0x60]
lea rdx, str.NewJreVersion
mov dword [rsp + 0x28], eax
mov r9d, 1
xor r8d, r8d
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov ebx, eax
test eax, eax
je 0x140012063
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.GetUpdatedJreMetrics_____RegSetValueEx_failed_for_NewJreVersion:__l_Error_Code:__d_n
lea rcx, [rbp + 0x80]
mov r9d, eax
mov r8d, ebx
call qword [sym.imp.USER32.dll_wsprintfA]
lea rcx, [rbp + 0x80]
call fcn.1400113f8
jmp 0x140012063