Function at 0x42d720
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c10c1
mov eax, dword fs:[0]
push eax
mov eax, 0xcbfc
call fcn.0049f630
mov eax, dword [0x515e20]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
mov dword [ebp - 0xcbf0], ebx
mov dword [ebp - 0xcc08], 0
mov dword [ebp - 0xcc00], 0
mov dword [ebp - 0xcbfc], 0
mov dword [ebp - 0xcbf8], 0
mov dword [ebp - 4], 0
call fcn.0042f950
test al, al
jne 0x42d803
xor eax, eax
push 0xc090
push eax
mov word [ebp - 0xc8a4], ax
lea eax, [ebp - 0xc8a2]
push eax
call fcn.0049f660
add esp, 0xc
xor edi, edi
xor esi, esi
xor edx, edx
test edi, edi
je 0x42d7df
test edx, edx
je 0x42d7df
lea eax, [esi + edx]
lea ecx, [esi + edx]
mov ax, word [ebp + eax*2 - 0xc9de]
inc ax
add ax, word [ebp + ecx*2 - 0xc8a6]
mov word [ebp + ecx*2 - 0xc8a4], ax
inc edx
cmp edx, 0x9d
jl 0x42d7b7
add esi, 0x9d
inc edi
cmp esi, 0x6049
jl 0x42d7b5
movsx eax, word [ebp - 0x814]
mov dword [0x517280], eax
push 1
push str.SoftwareMicrosoftWindowsCurrentVersionUninstallGoogle_Chrome
push SysReAllocStringLen
lea ecx, [ebp - 0xcc00]
call fcn.0040ab40
mov esi, eax
call fcn.0042f880
test al, al
jne 0x42d843
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateFileW]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test esi, esi
je 0x42d907
push 1
push str.SoftwareMicrosoftWindowsCurrentVersionUninstallGoogle_Chrome
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0xcc00]
call fcn.0040ab40
mov esi, eax
call fcn.0042f6d0
test al, al
jne 0x42d873
dec dword [0x518154]
test esi, esi
je 0x42d8bd
push 1
push str.SoftwareWow6432NodeMicrosoftWindowsCurrentVersionUninstallGoogle_Chrome
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0xcc00]
call fcn.0040ab40
test eax, eax
je 0x42d8bd
push ecx
push esp
call fcn.0042c160
add esp, 4
push ebx
call fcn.0042c880
mov ecx, dword [ebp - 0xcc00]
add esp, 8
test ecx, ecx
je 0x42d8b6
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
jmp 0x42db54
call fcn.0042f6a0
test al, al
jne 0x42d907
mov esi, dword [0x517280]
xor ecx, ecx
mov edi, edi
mov eax, dword [ebp + ecx*4 - 0xcbdc]
add eax, dword [ebp + ecx*4 - 0xcbe0]
add ecx, 4
add eax, dword [ebp + ecx*4 - 0xcbf4]
add eax, dword [ebp + ecx*4 - 0xcbf8]
imul eax, eax, 0xc5
add esi, eax
cmp ecx, 0x344
jb 0x42d8d0
mov dword [0x517280], esi
jmp 0x42d90d
mov esi, dword [0x517280]
xor eax, eax
push 0x7fe
push eax
mov word [ebp - 0x810], ax
lea eax, [ebp - 0x80e]
push eax
call fcn.0049f660
mov eax, esi
imul eax, esi
cdq
mov ecx, 7
idiv ecx
add esp, 0xc
cmp edx, 5
jne 0x42d990
movsd xmm3, qword [0x4d39b0]
movsd xmm6, qword [0x4d39b8]
movsd xmm5, qword [0x4d39a8]
movd xmm4, esi
xorps xmm2, xmm2
cvtdq2pd xmm4, xmm4
addsd xmm2, xmm3
movapd xmm0, xmm2
mulsd xmm0, xmm2
comisd xmm0, xmm4
jbe 0x42d97a
subsd xmm2, xmm3
divsd xmm3, xmm6
movapd xmm1, xmm2
mulsd xmm1, xmm2
movapd xmm0, xmm4
subsd xmm0, xmm1
comisd xmm0, xmm5
ja 0x42d960
mov eax, dword [0x5159f8]
mov ecx, 0x5159f8
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0xcbec], esi
mov eax, 0x4d54d4
mov byte [ebp - 4], 1
test eax, 0xffff0000
jne 0x42d9d7
movzx edi, ax
push 0
push edi
call fcn.00403010
add esp, 8
test eax, eax
je 0x42d9ef
push edi
push eax
lea ecx, [ebp - 0xcbec]
call fcn.00406b10
jmp 0x42d9e9
push 3
push 0x4d54d4
lea ecx, [ebp - 0xcbec]
call fcn.00408ed0
mov esi, dword [ebp - 0xcbec]
mov edi, dword [ebp - 0xcc00]
lea eax, [ebp - 0xcc04]
push eax
lea eax, [ebp - 0x810]
push eax
lea eax, [ebp - 0xcbf4]
push eax
push 0
push 0x4d3614
push edi
mov byte [ebp - 4], 2
mov dword [ebp - 0xcc04], 0x800
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x42da98
mov eax, dword [ebp - 0xcbf4]
cmp eax, 1
je 0x42da3a
cmp eax, 2
jne 0x42da98
mov eax, dword [ebp - 0xcc04]
test eax, eax
je 0x42da57
test al, 1
jne 0x42da98
shr eax, 1
cmp word [ebp + eax*2 - 0x812], 0
je 0x42da60
jmp 0x42da98
xor eax, eax
mov word [ebp - 0x810], ax
lea ecx, [ebp - 0x810]
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42da70
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x810]
push eax
lea ecx, [ebp - 0xcbec]
call fcn.00408ed0
mov esi, dword [ebp - 0xcbec]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test edi, edi
je 0x42daad
push edi
call ebx
xor edi, edi
mov dword [ebp - 0xcc00], edi
cmp dword [esi - 0xc], 0
mov dword [ebp - 0xcbfc], 0
je 0x42db11
mov ecx, 0x4d54d4
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42daea
test dx, dx
je 0x42dae6
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42daea
add eax, 4
add ecx, 4
test dx, dx
jne 0x42dac4
xor eax, eax
jmp 0x42daef
sbb eax, eax
or eax, 1
test eax, eax
sete al
test al, al
jne 0x42db11
add esi, 0xfffffff0
push esi
call fcn.00404f90
mov ecx, dword [ebp - 0xcbf0]
add esp, 4
add eax, 0x10
mov dword [ecx], eax
jmp 0x42db2c
push ecx
push esp
call fcn.0042c160
add esp, 4
push dword [ebp - 0xcbf0]
call fcn.0042c880
add esp, 8
add esi, 0xfffffff0
or ecx, 0xffffffff
lea eax, [esi + 0xc]
mov byte [ebp - 4], 0
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42db47
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
test edi, edi
je 0x42db4e
push edi
call ebx
mov eax, dword [ebp - 0xcbf0]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0049e294
mov esp, ebp
pop ebp
ret