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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xf0
mov ecx, dword [0x5a05c4]
mov eax, dword [ebp + 0x10]
lea esi, [ebp - 0x18]
xor edx, edx
xor ecx, ebp
mov dword [ebp - 0x10], ecx
mov dword [esi], edx
mov dword [esi + 4], edx
mov dword [esi - 4], esi
mov edi, dword [eax]
mov ebx, dword [eax + 4]
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], esi
cmp edi, ebx
je 0x433281
lea esi, [ebp - 0xec]
movzx eax, byte [edi + 0xb]
mov ecx, edi
test al, al
jns 0x43324e
mov ecx, dword [edi]
mov eax, dword [edi + 4]
push eax
push ecx
push esi
call fcn.004472b0
add esp, 0xc
lea ecx, [ebp - 0x28]
push esi
call fcn.004345dc
xor eax, eax
cmp byte [ebp - 0xe1], al
jns 0x43327a
push dword [ebp - 0xec]
call fcn.005272d6
add esp, 4
add edi, 0xc
cmp ebx, edi
jne 0x43323f
mov edi, dword [ebp + 8]
lea esi, [ebp - 0x28]
mov ecx, esi
call fcn.00451840
mov ebx, dword [ebp + 0xc]
cmp byte [ebx + 0xb], 0
mov eax, ebx
jns 0x43329b
mov eax, dword [ebx]
mov edx, 0xb
mov ecx, esi
push edx
push eax
push edi
call fcn.004567f0
test eax, eax
je 0x43333b
mov esi, eax
mov edi, 2
push edi
call fcn.0043e5e0
add esp, 4
cmp esi, edi
je 0x4337cf
test al, al
je 0x4337cf
lea edi, [ebp - 0xec]
mov ecx, edi
push 2
push 0x231
push str..._.._chrome_installer_setup_setup_util.cc
call fcn.0043e680
lea eax, [ebp - 0xe8]
push 0xf
push str.Failed_to_open
push eax
call fcn.004058b5
add esp, 0xc
cmp byte [ebx + 0xb], 0
jns 0x433309
mov ebx, dword [ebx]
push ebx
push eax
call fcn.0043f290
add esp, 8
mov ecx, 0xb
push ecx
push str.__result_
push eax
call fcn.004058b5
add esp, 0xc
mov ecx, eax
push esi
call fcn.00411310
mov ecx, edi
call fcn.0043ea30
jmp 0x4337cf
mov edi, 4
lea ecx, [ebp - 0x34]
xor ebx, ebx
lea eax, [ecx + edi]
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebx
mov dword [ebp - 0xfc], eax
mov dword [ecx], eax
push 0x210
call fcn.00527256
add esp, 4
lea ecx, [ebp - 0xec]
lea esi, [ebp - 0x40]
add ecx, edi
mov dword [esi], eax
mov dword [esi + 8], 0x80000108
mov dword [esi + 4], 0x100
mov dword [ebp - 0xf8], ecx
push 0x202
push ebx
push eax
call fcn.0052b7c0
add esp, 0xc
xor edi, edi
mov dword [ebp - 0xf0], 0
mov eax, dword [ebp - 0x38]
mov ecx, SysReAllocString
and eax, ecx
mov ecx, 4
dec eax
cmp byte [ebp - 0x35], bl
cmovns eax, ecx
mov ecx, esi
mov dword [ebp - 0x44], eax
push ebx
push eax
call fcn.0042795c
cmp byte [ebp - 0x35], bl
mov eax, esi
jns 0x4333cb
mov eax, dword [ebp - 0x40]
push ebx
push ebx
push ebx
push ebx
lea ecx, [ebp - 0x44]
push ecx
push eax
push edi
push dword [ebp - 0x28]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
cmp eax, 0xea
jne 0x433402
mov eax, dword [ebp - 0x38]
cmp byte [ebp - 0x35], 0
mov ecx, 8
lea eax, [eax + eax - 2]
cmovns eax, ecx
mov ecx, esi
push eax
call fcn.00427a30
jmp 0x43339f
test eax, eax
je 0x43342f
cmp eax, 0x103
jne 0x433580
xor edi, edi
cmp byte [ebp - 0xf0], 0
mov dword [ebp - 0xf0], 0
jne 0x43339f
jmp 0x433580
mov ecx, esi
push 0
push dword [ebp - 0x44]
call fcn.0042795c
lea ecx, [ebp - 0x34]
push esi
call fcn.00434998
test eax, eax
jne 0x43357a
movzx eax, byte [ebp - 0x35]
mov ecx, esi
test al, al
jns 0x43345c
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
push eax
push ecx
call fcn.00447ac0
add esp, 8
test al, al
je 0x4334c4
movzx eax, byte [ebp - 0x35]
mov ecx, esi
test al, al
jns 0x43347a
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
push eax
push ecx
lea eax, [ebp - 0xec]
push eax
call fcn.004472b0
add esp, 0xc
lea eax, [ebp - 0xec]
lea ecx, [ebp - 0x1c]
push eax
call fcn.00434998
cmp byte [ebp - 0xe1], bl
jns 0x4334bc
push dword [ebp - 0xec]
mov dword [ebp - 0xf4], eax
call fcn.005272d6
mov eax, dword [ebp - 0xf4]
add esp, 4
test eax, eax
jne 0x433569
cmp byte [ebp - 0x35], 0
mov eax, esi
jns 0x4334cf
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x28]
push eax
call fcn.004569f0
test eax, eax
jne 0x4334e9
mov al, 1
mov dword [ebp - 0xf0], eax
jmp 0x43339f
push 2
call fcn.0043e5e0
add esp, 4
test al, al
je 0x433569
lea ecx, [ebp - 0xec]
push 2
push 0x26c
push str..._.._chrome_installer_setup_setup_util.cc
call fcn.0043e680
push 0x18
push str.Failed_to_delete_subkey
push dword [ebp - 0xf8]
call fcn.004058b5
add esp, 0xc
cmp byte [ebp - 0x35], bl
mov ecx, esi
jns 0x43352d
mov ecx, dword [ebp - 0x40]
push ecx
push eax
call fcn.0043f290
add esp, 8
push 0xc
push str._under_path
push eax
call fcn.004058b5
add esp, 0xc
mov ecx, dword [ebp + 0xc]
cmp byte [ecx + 0xb], bl
jns 0x433554
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx]
push ecx
push eax
call fcn.0043f290
add esp, 8
lea ecx, [ebp - 0xec]
call fcn.0043ea30
lea ecx, [ebp - 0x34]
push esi
push esi
lea eax, [ebp - 0xec]
push eax
call fcn.00434a2a
inc edi
jmp 0x43339f
cmp dword [ebp - 0x2c], 0
je 0x43373c
lea esi, [ebp - 0x34]
mov ecx, esi
push dword [esi + 4]
call fcn.0043459c
mov eax, dword [ebp - 0xfc]
xor ebx, ebx
lea edi, [ebp - 0x40]
mov dword [ebp - 0xf0], 0
mov dword [esi + 8], ebx
mov dword [esi], eax
mov dword [esi + 4], ebx
xor esi, esi
cmp byte [ebp - 0x35], 0
mov eax, 4
jns 0x4335d8
mov eax, dword [ebp - 0x38]
mov ecx, SysReAllocString
mov edx, 0x7fff
and eax, ecx
dec eax
cmp eax, 0x7fff
ja 0x4335da
mov edx, eax
mov dword [ebp - 0x44], edx
mov ecx, edi
push ebx
push edx
call fcn.0042795c
cmp byte [ebp - 0x35], 0
mov eax, edi
jns 0x4335f1
mov eax, dword [ebp - 0x40]
push ebx
push ebx
push ebx
push ebx
lea ecx, [ebp - 0x44]
push ecx
push eax
push esi
push dword [ebp - 0x28]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
cmp eax, 0xea
jne 0x433635
cmp dword [ebp - 0x44], 0x7ffe
ja 0x4337b3
mov eax, dword [ebp - 0x38]
cmp byte [ebp - 0x35], 0
mov ecx, 8
lea eax, [eax + eax - 2]
cmovns eax, ecx
mov ecx, edi
push eax
call fcn.00427a30
jmp 0x4335b6
test eax, eax
je 0x433662
cmp eax, 0x103
jne 0x4337b3
xor esi, esi
cmp byte [ebp - 0xf0], 0
mov dword [ebp - 0xf0], 0
jne 0x4335b6
jmp 0x4337b3
mov ecx, edi
push 0
push dword [ebp - 0x44]
call fcn.0042795c
lea ecx, [ebp - 0x34]
push edi
call fcn.00434998
test eax, eax
jne 0x433736
cmp byte [ebp - 0x35], 0
mov eax, edi
jns 0x43368a
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x28]
push eax
call fcn.00456da0
test eax, eax
jne 0x4336a4
mov al, 1
mov dword [ebp - 0xf0], eax
jmp 0x4335b6
push 2
call fcn.0043e5e0
add esp, 4
test al, al
je 0x433725
lea ecx, [ebp - 0xec]
push 2
push 0x2a9
push str..._.._chrome_installer_setup_setup_util.cc
call fcn.0043e680
push 0x17
push str.Failed_to_delete_value
lea eax, [ebp - 0xe8]
push eax
call fcn.004058b5
add esp, 0xc
cmp byte [ebp - 0x35], bl
mov ecx, edi
jns 0x4336e9
mov ecx, dword [ebp - 0x40]
push ecx
push eax
call fcn.0043f290
add esp, 8
push 8
push str._in_key
push eax
call fcn.004058b5
add esp, 0xc
mov ecx, dword [ebp + 0xc]
cmp byte [ecx + 0xb], bl
jns 0x433710
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx]
push ecx
push eax
call fcn.0043f290
add esp, 8
lea ecx, [ebp - 0xec]
call fcn.0043ea30
lea ecx, [ebp - 0x34]
push edi
push edi
lea eax, [ebp - 0xec]
push eax
call fcn.00434a2a
inc esi
jmp 0x4335b6
lea ecx, [ebp - 0x28]
push 0x5565d2
call fcn.004569f0
test eax, eax
je 0x4337b3
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 2
call fcn.0043e5e0
add esp, 4
test al, al
je 0x4337b3
call fcn.0043ef80
lea esi, [ebp - 0xec]
mov ecx, esi
push eax
push 2
push 0x27b
push str..._.._chrome_installer_setup_setup_util.cc
call fcn.0043f140
lea eax, [ebp - 0xe4]
push 0x15
push str.Failed_to_delete_key
push eax
call fcn.004058b5
add esp, 0xc
mov ecx, dword [ebp + 0xc]
cmp byte [ecx + 0xb], 0
jns 0x4337a2
mov ecx, dword [ecx]
push ecx
push eax
call fcn.0043f290
add esp, 8
mov ecx, esi
call fcn.0043f200
cmp byte [ebp - 0x35], 0
jns 0x4337c4
push dword [ebp - 0x40]
call fcn.005272d6
add esp, 4
lea ecx, [ebp - 0x34]
push dword [ecx + 4]
call fcn.0043459c
lea ecx, [ebp - 0x28]
call fcn.004568a0
lea ecx, [ebp - 0x1c]
push dword [ecx + 4]
call fcn.0043459c
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00527311
add esp, 0xf0
pop esi
pop edi
pop ebx
pop ebp
ret