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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x158
mov eax, dword [0x4f4284]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
xor ebx, ebx
mov dword [ebp - 0x8c], ecx
push esi
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
call fcn.00477e49
push ebx
push ebx
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x50]
mov dword [ebp - 0x44], ebx
push eax
lea eax, [ebp - 0x34]
mov dword [ebp - 0x78], ebx
push eax
push ebx
lea eax, [ebp - 0x78]
mov dword [ebp - 0x34], ebx
push eax
lea eax, [ebp - 0x44]
mov dword [ebp - 0x50], ebx
push eax
push ebx
push ebx
push ebx
push dword [esi]
mov dword [ebp - 0x54], ebx
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
mov esi, eax
test esi, esi
je 0x477502
push 2
call fcn.00432780
pop ecx
test al, al
je 0x4774e7
push 2
push 0x82
push str.c:_bc_bwin_archive_srcchromeinstallerutil_registry_key_backup.cc
lea ecx, [ebp - 0x158]
call fcn.00431700
push esi
add eax, 8
push str.Failed_getting_info_of_key_to_backup__result:
push eax
call fcn.00415b8c
pop ecx
pop ecx
mov ecx, eax
call fcn.00416422
xor eax, eax
inc eax
jmp 0x4774ea
mov eax, dword [ebp - 0x38]
test al, 1
je 0x477887
lea ecx, [ebp - 0x158]
call fcn.00431880
jmp 0x477887
mov eax, dword [ebp - 0x78]
lea ecx, [ebp - 0x74]
cmp eax, dword [ebp - 0x50]
push edi
cmovb eax, dword [ebp - 0x50]
inc eax
push eax
call fcn.004451d0
cmp dword [ebp - 0x34], ebx
je 0x4776d5
push dword [ebp - 0x34]
lea ecx, [ebp - 0x88]
call fcn.00478352
xor eax, eax
lea ecx, [ebp - 0x68]
inc eax
cmp dword [ebp - 0x54], ebx
cmovne eax, dword [ebp - 0x54]
push eax
call fcn.00420fe4
mov esi, ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], esi
cmp dword [ebp - 0x34], ebx
jbe 0x4776cd
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x74]
sub edx, ecx
mov edi, dword [ebp - 0x70]
mov dword [ebp - 0x90], edx
sub edi, eax
mov dword [ebp - 0x40], edx
lea edx, [ebp - 0x40]
push edx
push ecx
lea ecx, [ebp - 0x7c]
sar edi, 1
push ecx
push ebx
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], edi
push ecx
push eax
mov eax, dword [ebp - 0x58]
push esi
push dword [eax]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
mov dword [ebp - 0x5c], eax
sub eax, ebx
je 0x4775ce
sub eax, 0xea
jne 0x47764f
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x90]
jbe 0x4775b7
push eax
lea ecx, [ebp - 0x68]
call fcn.00470ea6
mov eax, dword [ebp - 0x30]
inc eax
cmp eax, edi
jbe 0x477644
push eax
lea ecx, [ebp - 0x74]
call fcn.00478385
jmp 0x477644
xor eax, eax
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
lea ecx, [ebp - 0x88]
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x1c], ebx
push eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], ebx
call fcn.004782e9
lea ecx, [ebp - 0x14]
call fcn.00421057
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.0041b1ee
push dword [ebp - 0x30]
mov ebx, dword [ebp - 0x84]
push dword [ebp - 0x74]
mov edi, dword [ebp - 0x40]
add ebx, 0xffffffd8
mov esi, dword [ebp - 0x7c]
mov ecx, ebx
call fcn.0041b79d
mov ecx, dword [ebp - 0x68]
mov dword [ebx + 0x24], esi
lea eax, [ecx + edi]
push eax
push ecx
lea ecx, [ebx + 0x18]
call fcn.004705f2
mov esi, dword [ebp - 0x3c]
inc esi
xor ebx, ebx
mov dword [ebp - 0x3c], esi
cmp esi, dword [ebp - 0x34]
jb 0x477558
jmp 0x4776cd
sub eax, 0x19
je 0x4776ca
push 2
call fcn.00432780
pop ecx
test al, al
je 0x4776ab
push 2
push 0xa7
push str.c:_bc_bwin_archive_srcchromeinstallerutil_registry_key_backup.cc
lea ecx, [ebp - 0x158]
call fcn.00431700
push dword [ebp - 0x5c]
add eax, 8
push str.__result:
push esi
push str.Failed_backing_up_value
push eax
call fcn.00415b8c
pop ecx
pop ecx
mov ecx, eax
call fcn.0042f288
push eax
call fcn.00415b8c
pop ecx
pop ecx
mov ecx, eax
call fcn.00416422
push 2
pop eax
jmp 0x4776ae
mov eax, dword [ebp - 0x38]
test al, 2
je 0x4776bd
lea ecx, [ebp - 0x158]
call fcn.00431880
lea ecx, [ebp - 0x68]
call fcn.00421057
jmp 0x47787e
mov dword [ebp - 0x34], esi
lea ecx, [ebp - 0x68]
call fcn.00421057
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x47785c
mov esi, dword [ebp - 0x74]
mov edi, ebx
mov dword [ebp - 0x30], ebx
mov eax, dword [ebp - 0x70]
push ebx
push ebx
sub eax, esi
push ebx
sar eax, 1
push ebx
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x58]
push esi
push edi
push dword [eax]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
mov dword [ebp - 0x5c], eax
sub eax, ebx
je 0x477727
sub eax, 0xea
jne 0x47777e
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x74]
inc eax
push eax
call fcn.00478385
mov esi, dword [ebp - 0x74]
jmp 0x477773
lea ecx, [ebp - 0xa8]
call fcn.00477355
push eax
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x1c], esi
call fcn.0047732d
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x4c]
call fcn.00476f24
push eax
add eax, 0x10
lea ecx, [ebp - 0x4c]
push eax
push ebx
lea eax, [ebp - 0x94]
push eax
call fcn.0047714d
lea ecx, [ebp - 0x18]
call fcn.004773bf
lea ecx, [ebp - 0xa8]
call fcn.004773bf
inc edi
cmp edi, dword [ebp - 0x44]
jb 0x4776e8
jmp 0x4777f8
sub eax, 0x19
je 0x4777f5
push 2
call fcn.00432780
pop ecx
test al, al
je 0x4777da
push 2
push 0xc7
push str.c:_bc_bwin_archive_srcchromeinstallerutil_registry_key_backup.cc
lea ecx, [ebp - 0x158]
call fcn.00431700
push dword [ebp - 0x5c]
add eax, 8
push str._for_backup__result:
push edi
push str.Failed_getting_name_of_subkey
push eax
call fcn.00415b8c
pop ecx
pop ecx
mov ecx, eax
call fcn.0042f288
push eax
call fcn.00415b8c
pop ecx
pop ecx
mov ecx, eax
call fcn.00416422
push 4
pop eax
jmp 0x4777dd
mov eax, dword [ebp - 0x38]
test al, 4
je 0x47787e
lea ecx, [ebp - 0x158]
call fcn.00431880
jmp 0x47787e
mov dword [ebp - 0x44], edi
lea ecx, [ebp - 0x68]
call fcn.00444cc0
mov eax, dword [ebp - 0x4c]
mov esi, dword [eax]
mov dword [ebp - 0x3c], esi
cmp esi, eax
je 0x477854
lea eax, [esi + 0x10]
cmp dword [eax + 0x14], 8
jb 0x477817
mov eax, dword [eax]
push 0x20009
push eax
mov eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x68]
push dword [eax]
call fcn.004459b0
mov edi, eax
test edi, edi
jne 0x477906
lea eax, [ebp - 0x68]
push eax
lea ecx, [esi + 0x28]
call fcn.0047742a
test al, al
je 0x4778ae
lea ecx, [ebp - 0x3c]
call fcn.004cabc4
mov esi, dword [ebp - 0x3c]
cmp esi, dword [ebp - 0x4c]
jne 0x47780c
lea ecx, [ebp - 0x68]
call fcn.004454c0
mov esi, dword [ebp - 0x8c]
lea eax, [ebp - 0x88]
push eax
mov ecx, esi
call fcn.00489a02
lea eax, [ebp - 0x4c]
push eax
lea ecx, [esi + 0xc]
call fcn.004cdecc
mov bl, 1
lea ecx, [ebp - 0x74]
call fcn.00462819
pop edi
lea ecx, [ebp - 0x4c]
call fcn.0047737f
lea ecx, [ebp - 0x88]
call fcn.00477fd9
mov ecx, dword [ebp - 4]
mov al, bl
pop esi
xor ecx, ebp
pop ebx
call fcn.0049d8a1
mov esp, ebp
pop ebp
ret 4
push 2
call fcn.00432780
pop ecx
test al, al
je 0x4778ff
push 2
push 0xdc
push str.c:_bc_bwin_archive_srcchromeinstallerutil_registry_key_backup.cc
lea ecx, [ebp - 0x158]
call fcn.00431700
push 0x4d4e30
add esi, 0x10
add eax, 8
push esi
push str.Failed_backing_up_subkey__
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
push 0x10
pop eax
jmp 0x477902
mov eax, dword [ebp - 0x38]
test al, 0x10
jmp 0x477964
push 2
call fcn.00432780
pop ecx
test al, al
je 0x47795f
push 2
push 0xd7
push str.c:_bc_bwin_archive_srcchromeinstallerutil_registry_key_backup.cc
lea ecx, [ebp - 0x158]
call fcn.00431700
push edi
push str.__for_backup__result:
add esi, 0x10
add eax, 8
push esi
push str.Failed_opening_subkey__
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
push 8
pop eax
jmp 0x477962
mov eax, dword [ebp - 0x38]
test al, 8
je 0x477971
lea ecx, [ebp - 0x158]
call fcn.00431880
lea ecx, [ebp - 0x68]
call fcn.004454c0
jmp 0x47787e