Function at 0x4240f2
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x128
mov eax, dword [0x4f4284]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x54]
xor ebx, ebx
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x3c], ebx
and dword [ebp - 0x54], ebx
and dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], edi
call fcn.0046a64a
mov ecx, eax
mov byte [ebp - 0x3c], bl
push dword [ebp - 0x3c]
mov eax, dword [ebp + 0x10]
lea edx, [ebp - 0x54]
mov dword [ebp - 0x54], ecx
push dword [ecx]
push edx
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x5c]
push eax
call fcn.0042372d
add esp, 0x18
lea ecx, [ebp - 0x68]
call fcn.00444cc0
cmp dword [edi + 0x14], 8
jb 0x42415b
mov eax, dword [edi]
jmp 0x42415d
mov eax, edi
push 0xb
push eax
push esi
lea ecx, [ebp - 0x68]
call fcn.004459b0
mov edi, eax
test edi, edi
je 0x4241e3
push 2
pop esi
push esi
call fcn.00432780
pop ecx
test al, al
je 0x4241ca
cmp edi, esi
je 0x4241ca
push esi
push 0x1f3
push str.c:_bc_bwin_archive_srcchromeinstaller_setup_setup_util.cc
lea ecx, [ebp - 0x128]
call fcn.00431700
push edi
push str.__result_
push dword [ebp - 0x4c]
add eax, 8
push str.Failed_to_open
push eax
call fcn.00415b8c
pop ecx
pop ecx
push eax
call fcn.0041659c
pop ecx
pop ecx
push eax
call fcn.00415b8c
pop ecx
pop ecx
mov ecx, eax
call fcn.00416422
xor ebx, ebx
inc ebx
test bl, 1
je 0x42446f
lea ecx, [ebp - 0x128]
call fcn.00431880
jmp 0x42446f
and dword [ebp - 0x48], ebx
lea ecx, [ebp - 0x48]
and dword [ebp - 0x44], ebx
call fcn.0046a64a
and dword [ebp - 0xc], ebx
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x48], eax
xor edi, edi
xor eax, eax
mov dword [ebp - 8], 7
push eax
push 0x100
mov word [ebp - 0x1c], ax
call fcn.00425228
xor eax, eax
push 2
mov byte [ebp - 0x35], al
mov word [ebp - 0x40], ax
pop esi
push dword [ebp - 0x40]
push dword [ebp - 8]
call fcn.00423710
pop ecx
pop ecx
push 0
push eax
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x3c], eax
call fcn.004204fc
cmp dword [ebp - 8], 8
lea eax, [ebp - 0x1c]
cmovae eax, dword [ebp - 0x1c]
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
lea ecx, [ebp - 0x3c]
push ecx
push eax
push edi
push dword [ebp - 0x68]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
cmp eax, 0xea
jne 0x424272
mov eax, dword [ebp - 8]
lea ecx, [ebp - 0x1c]
add eax, eax
push eax
call fcn.0041c388
jmp 0x424220
cmp eax, 0x103
jne 0x42428b
cmp byte [ebp - 0x35], 0
je 0x4243da
mov byte [ebp - 0x35], 0
xor edi, edi
jmp 0x424220
test eax, eax
jne 0x4243da
push eax
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x1c]
call fcn.004204fc
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x48]
call fcn.00423038
push dword [ebp - 0x58]
push dword [ebp - 0x5c]
call fcn.004c6733
pop ecx
pop ecx
test eax, eax
jne 0x4243cb
lea eax, [ebp - 0x1c]
push eax
call fcn.00442fa0
pop ecx
test al, al
je 0x4242fe
push ecx
push ecx
lea eax, [ebp - 0x1c]
mov ecx, esp
push eax
or ebx, esi
call fcn.00415fd3
lea eax, [ebp - 0x34]
push eax
call fcn.004431b0
add esp, 0xc
lea ecx, [ebp - 0x54]
push eax
call fcn.00425299
mov byte [ebp - 0x36], 1
test eax, eax
jne 0x424302
mov byte [ebp - 0x36], 0
test bl, 2
je 0x424316
push 0
push 1
lea ecx, [ebp - 0x34]
and ebx, 0xfffffffd
call fcn.0041b1ee
cmp byte [ebp - 0x36], 0
lea eax, [ebp - 0x1c]
je 0x42432b
push dword [ebp - 0x3c]
push eax
lea eax, [ebp - 0x78]
jmp 0x4243c0
cmp dword [ebp - 8], 8
lea ecx, [ebp - 0x68]
cmovae eax, dword [ebp - 0x1c]
push eax
call fcn.00445770
test eax, eax
je 0x4243d1
push esi
call fcn.00432780
pop ecx
test al, al
je 0x4243a3
push esi
push 0x22e
push str.c:_bc_bwin_archive_srcchromeinstaller_setup_setup_util.cc
lea ecx, [ebp - 0x128]
or ebx, 4
call fcn.00431700
add eax, 8
push str.Failed_to_delete_subkey
push eax
call fcn.00415b8c
cmp dword [ebp - 8], 8
lea ecx, [ebp - 0x1c]
cmovae ecx, dword [ebp - 0x1c]
push ecx
push eax
call fcn.00431db0
add esp, 0x10
push dword [ebp - 0x4c]
push str._under_path
push eax
call fcn.00415b8c
pop ecx
pop ecx
push eax
call fcn.0041659c
pop ecx
pop ecx
test bl, 4
je 0x4243b6
lea ecx, [ebp - 0x128]
and ebx, 0xfffffffb
call fcn.00431880
push dword [ebp - 0x3c]
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x70]
push 0
push eax
lea ecx, [ebp - 0x48]
call fcn.0042343c
inc edi
jmp 0x424220
mov byte [ebp - 0x35], 1
jmp 0x424220
cmp dword [ebp - 0x44], 0
jne 0x424490
push 0x4d3e5c
lea ecx, [ebp - 0x68]
call fcn.004456d0
push esi
mov edi, eax
call fcn.00432780
pop ecx
test al, al
je 0x42444b
test edi, edi
je 0x42444b
push esi
push 0x23b
push str.c:_bc_bwin_archive_srcchromeinstaller_setup_setup_util.cc
lea ecx, [ebp - 0x128]
or ebx, 8
call fcn.00431700
push edi
push 0x4d4650
push dword [ebp - 0x4c]
add eax, 8
push str.Failed_to_delete_empty_key
push eax
call fcn.00415b8c
pop ecx
pop ecx
push eax
call fcn.0041659c
pop ecx
pop ecx
push eax
call fcn.00415b8c
pop ecx
pop ecx
mov ecx, eax
call fcn.00416422
test bl, 8
je 0x42445b
lea ecx, [ebp - 0x128]
call fcn.00431880
push 0
push 1
lea ecx, [ebp - 0x1c]
call fcn.0041b1ee
lea ecx, [ebp - 0x48]
call fcn.004237fa
lea ecx, [ebp - 0x68]
call fcn.004454c0
lea ecx, [ebp - 0x54]
call fcn.004237fa
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0049d8a1
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x48]
call fcn.00425278
mov byte [ebp - 0x3c], 0
xor edi, edi
mov byte [ebp - 0x35], 0
cmp dword [ebp - 8], 0x7fff
seta byte [ebp - 0x3b]
push dword [ebp - 0x3c]
push dword [ebp - 8]
call fcn.004236ea
pop ecx
pop ecx
cwde
lea ecx, [ebp - 0x1c]
push 0
push eax
mov dword [ebp - 0x40], eax
call fcn.004204fc
cmp dword [ebp - 8], 8
lea eax, [ebp - 0x1c]
cmovae eax, dword [ebp - 0x1c]
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
lea ecx, [ebp - 0x40]
push ecx
push eax
push edi
push dword [ebp - 0x68]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
cmp eax, 0xea
jne 0x42450d
cmp dword [ebp - 0x40], 0x7fff
jae 0x42445b
mov eax, dword [ebp - 8]
lea ecx, [ebp - 0x1c]
add eax, eax
push eax
call fcn.0041c388
jmp 0x4244a2
cmp eax, 0x103
jne 0x424523
cmp byte [ebp - 0x35], 0
je 0x42445b
jmp 0x42449c
test eax, eax
jne 0x42445b
push eax
push dword [ebp - 0x40]
lea ecx, [ebp - 0x1c]
call fcn.004204fc
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x48]
call fcn.00423038
push dword [ebp - 0x58]
push dword [ebp - 0x5c]
call fcn.004c6733
pop ecx
pop ecx
test eax, eax
jne 0x4245ff
cmp dword [ebp - 8], 8
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x68]
cmovae eax, dword [ebp - 0x1c]
push eax
call fcn.00445800
test eax, eax
je 0x424605
push esi
call fcn.00432780
pop ecx
test al, al
je 0x4245d7
push esi
push 0x269
push str.c:_bc_bwin_archive_srcchromeinstaller_setup_setup_util.cc
lea ecx, [ebp - 0x128]
or ebx, 0x10
call fcn.00431700
add eax, 8
push str.Failed_to_delete_value
push eax
call fcn.00415b8c
cmp dword [ebp - 8], 8
lea ecx, [ebp - 0x1c]
cmovae ecx, dword [ebp - 0x1c]
push ecx
push eax
call fcn.00431db0
add esp, 0x10
push dword [ebp - 0x4c]
push str._in_key
push eax
call fcn.00415b8c
pop ecx
pop ecx
push eax
call fcn.0041659c
pop ecx
pop ecx
test bl, 0x10
je 0x4245ea
lea ecx, [ebp - 0x128]
and ebx, 0xffffffef
call fcn.00431880
push dword [ebp - 0x3c]
lea eax, [ebp - 0x1c]
push eax
push 0
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x48]
call fcn.0042343c
inc edi
jmp 0x4244a2
mov byte [ebp - 0x35], 1
jmp 0x4244a2