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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x148
mov eax, dword [0x51a0a0]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
push edi
mov edi, edx
lea ecx, [ebp - 0x84]
xor ebx, ebx
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x90], ebx
call fcn.00426e0e
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x84]
mov esi, dword [ebp - 0x84]
mov dword [ebp - 0x8c], ecx
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov esi, dword [esi]
mov dword [ebp - 0x58], edx
cmp eax, edx
je 0x425fd0
mov ebx, eax
mov edi, ecx
push ebx
lea ecx, [ebp - 0x7c]
call fcn.0041ad80
push dword [ebp - 0x78]
lea ecx, [ebp - 0x38]
push dword [ebp - 0x7c]
call fcn.0043ca20
pop ecx
pop ecx
push dword [ebp - 0x6c]
lea eax, [ebp - 0x38]
mov ecx, edi
push eax
push esi
lea eax, [ebp - 0x60]
push eax
call fcn.00427286
mov eax, dword [ebp - 0x60]
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x88], eax
call fcn.00421ea5
push 0
push 1
lea ecx, [ebp - 0x38]
call fcn.0041b875
add ebx, 0x18
cmp ebx, dword [ebp - 0x58]
je 0x425fc7
mov esi, dword [ebp - 0x88]
mov edi, dword [ebp - 0x8c]
jmp 0x425f65
mov ebx, dword [ebp - 0x90]
mov edi, dword [ebp - 0x6c]
xor eax, eax
cmp dword [edi + 0x14], 8
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
jb 0x425fe5
mov eax, dword [edi]
jmp 0x425fe7
mov eax, edi
push 0xb
push eax
push SysReAllocString
lea ecx, [ebp - 0x2c]
call fcn.00442850
mov edx, eax
mov dword [ebp - 0x6c], edx
test edx, edx
je 0x426078
push 2
pop esi
mov ecx, esi
call fcn.0044bc30
test al, al
je 0x42605f
cmp edx, esi
je 0x42605f
push esi
push 0x20b
push str..._.._chrome_installer_setup_setup_util.cc
lea ecx, [ebp - 0x144]
call fcn.0044bca0
mov edx, str.Failed_to_open
lea ecx, [eax + 8]
call fcn.0041cec3
cmp dword [edi + 0x14], 8
jb 0x42603d
mov edi, dword [edi]
mov edx, edi
mov ecx, eax
call fcn.0044c7c0
push dword [ebp - 0x6c]
mov edx, str.__result_
mov ecx, eax
call fcn.0041cec3
mov ecx, eax
call fcn.0041af3b
xor ebx, ebx
inc ebx
test bl, 1
je 0x426307
lea ecx, [ebp - 0x144]
call fcn.0044bd90
jmp 0x426307
lea ecx, [ebp - 0x68]
call fcn.00426e0e
xor ecx, ecx
mov dword [ebp - 0xc], 7
push ecx
mov dword [ebp - 0x58], ecx
xor eax, eax
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x20]
push 0x100
mov word [ebp - 0x20], ax
call fcn.00426eb9
mov byte [ebp - 0x51], 0
call fcn.004270c8
push 2
pop esi
mov eax, dword [ebp - 0xc]
lea ecx, [ebp - 0x20]
push 0
push eax
mov dword [ebp - 0x60], eax
call fcn.00420aeb
cmp dword [ebp - 0xc], 8
lea eax, [ebp - 0x20]
cmovae eax, dword [ebp - 0x20]
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
lea ecx, [ebp - 0x60]
push ecx
push eax
push dword [ebp - 0x58]
push dword [ebp - 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
cmp eax, 0xea
jne 0x4260f9
mov eax, dword [ebp - 0xc]
lea ecx, [ebp - 0x20]
add eax, eax
push eax
call fcn.0041d410
jmp 0x4260af
cmp eax, 0x103
jne 0x426114
cmp byte [ebp - 0x51], 0
je 0x42626b
and dword [ebp - 0x58], 0
mov byte [ebp - 0x51], 0
jmp 0x4260af
test eax, eax
jne 0x42626b
push eax
push dword [ebp - 0x60]
lea ecx, [ebp - 0x20]
call fcn.00420aeb
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x68]
call fcn.00426da4
test eax, eax
jne 0x42625a
cmp dword [ebp - 0xc], 8
lea ecx, [ebp - 0x20]
mov edx, dword [ebp - 0x10]
cmovae ecx, dword [ebp - 0x20]
call fcn.0043d340
test al, al
je 0x426188
lea eax, [ebp - 0x20]
or ebx, esi
push eax
lea ecx, [ebp - 0x7c]
call fcn.0041ad80
push dword [ebp - 0x78]
lea ecx, [ebp - 0x50]
push dword [ebp - 0x7c]
call fcn.0043ca20
pop ecx
pop ecx
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x84]
call fcn.00426da4
mov byte [ebp - 0x59], 1
test eax, eax
jne 0x42618c
mov byte [ebp - 0x59], 0
test bl, 2
je 0x4261a0
push 0
push 1
lea ecx, [ebp - 0x50]
and ebx, 0xfffffffd
call fcn.0041b875
cmp byte [ebp - 0x59], 0
lea eax, [ebp - 0x20]
je 0x4261b8
push dword [ebp - 0x6c]
push eax
lea eax, [ebp - 0x8c]
jmp 0x426250
cmp dword [ebp - 0xc], 8
lea ecx, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x20]
push eax
call fcn.004428f0
test eax, eax
je 0x426262
mov ecx, esi
call fcn.0044bc30
test al, al
je 0x426233
push esi
push 0x246
push str..._.._chrome_installer_setup_setup_util.cc
lea ecx, [ebp - 0x144]
or ebx, 4
call fcn.0044bca0
mov edx, str.Failed_to_delete_subkey
lea ecx, [eax + 8]
call fcn.0041cec3
cmp dword [ebp - 0xc], 8
lea edx, [ebp - 0x20]
mov ecx, eax
cmovae edx, dword [ebp - 0x20]
call fcn.0044c7c0
mov edx, str._under_path
mov ecx, eax
call fcn.0041cec3
cmp dword [edi + 0x14], 8
jb 0x42622a
mov edx, dword [edi]
jmp 0x42622c
mov edx, edi
mov ecx, eax
call fcn.0044c7c0
test bl, 4
je 0x426246
lea ecx, [ebp - 0x144]
and ebx, 0xfffffffb
call fcn.0044bd90
push dword [ebp - 0x6c]
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x70]
push ecx
push eax
lea ecx, [ebp - 0x68]
call fcn.00427016
inc dword [ebp - 0x58]
jmp 0x4260af
mov byte [ebp - 0x51], 1
jmp 0x4260af
cmp dword [ebp - 0x64], 0
jne 0x42632b
push 0x4ff854
lea ecx, [ebp - 0x2c]
call fcn.00442a00
mov edx, eax
mov ecx, esi
mov dword [ebp - 0x6c], edx
call fcn.0044bc30
test al, al
je 0x4262e3
test edx, edx
je 0x4262e3
push esi
push 0x253
push str..._.._chrome_installer_setup_setup_util.cc
lea ecx, [ebp - 0x144]
or ebx, 8
call fcn.0044bca0
mov edx, str.Failed_to_delete_empty_key
lea ecx, [eax + 8]
call fcn.0041cec3
cmp dword [edi + 0x14], 8
jb 0x4262c4
mov edi, dword [edi]
mov edx, edi
mov ecx, eax
call fcn.0044c7c0
push dword [ebp - 0x6c]
mov edx, 0x50021c
mov ecx, eax
call fcn.0041cec3
mov ecx, eax
call fcn.0041af3b
test bl, 8
je 0x4262f3
lea ecx, [ebp - 0x144]
call fcn.0044bd90
push 0
push 1
lea ecx, [ebp - 0x20]
call fcn.0041b875
lea ecx, [ebp - 0x68]
call fcn.00426ddf
lea ecx, [ebp - 0x2c]
call fcn.004426e0
lea ecx, [ebp - 0x84]
call fcn.00426ddf
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004cb8a3
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x68]
lea ecx, [ebp - 0x68]
push dword [eax + 4]
call fcn.00426e72
mov eax, dword [ebp - 0x68]
mov dword [eax + 4], eax
mov eax, dword [ebp - 0x68]
mov dword [eax], eax
mov eax, dword [ebp - 0x68]
mov dword [eax + 8], eax
xor eax, eax
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x51], al
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0xc]
call fcn.00426fb7
movzx eax, ax
lea ecx, [ebp - 0x20]
cwde
push 0
push eax
mov dword [ebp - 0x60], eax
call fcn.00420aeb
cmp dword [ebp - 0xc], 8
lea eax, [ebp - 0x20]
cmovae eax, dword [ebp - 0x20]
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
lea ecx, [ebp - 0x60]
push ecx
push eax
push dword [ebp - 0x58]
push dword [ebp - 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
cmp eax, 0xea
jne 0x4263b5
cmp dword [ebp - 0x60], 0x7fff
jae 0x4262f3
mov eax, dword [ebp - 0xc]
lea ecx, [ebp - 0x20]
add eax, eax
push eax
call fcn.0041d410
jmp 0x426355
cmp eax, 0x103
jne 0x4263d0
cmp byte [ebp - 0x51], 0
je 0x4262f3
and dword [ebp - 0x58], 0
mov byte [ebp - 0x51], 0
jmp 0x426355
test eax, eax
jne 0x4262f3
push eax
push dword [ebp - 0x60]
lea ecx, [ebp - 0x20]
call fcn.00420aeb
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x68]
call fcn.00426da4
test eax, eax
jne 0x42649e
cmp dword [ebp - 0xc], 8
lea eax, [ebp - 0x20]
cmovae eax, dword [ebp - 0x20]
push eax
push dword [ebp - 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
test eax, eax
je 0x4264a6
mov ecx, esi
call fcn.0044bc30
test al, al
je 0x426477
push esi
push 0x281
push str..._.._chrome_installer_setup_setup_util.cc
lea ecx, [ebp - 0x144]
or ebx, 0x10
call fcn.0044bca0
mov edx, str.Failed_to_delete_value
lea ecx, [eax + 8]
call fcn.0041cec3
cmp dword [ebp - 0xc], 8
lea edx, [ebp - 0x20]
mov ecx, eax
cmovae edx, dword [ebp - 0x20]
call fcn.0044c7c0
mov edx, str._in_key
mov ecx, eax
call fcn.0041cec3
cmp dword [edi + 0x14], 8
jb 0x42646e
mov edx, dword [edi]
jmp 0x426470
mov edx, edi
mov ecx, eax
call fcn.0044c7c0
test bl, 0x10
je 0x42648a
lea ecx, [ebp - 0x144]
and ebx, 0xffffffef
call fcn.0044bd90
push dword [ebp - 0x6c]
lea eax, [ebp - 0x20]
push eax
push ecx
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x68]
call fcn.00427016
inc dword [ebp - 0x58]
jmp 0x426355
mov byte [ebp - 0x51], 1
jmp 0x426355