Function at 0x42459c
Capabilities:
Query or enumerate registry value

Disassembly:
push 0x680
mov eax, 0x4b3099
call fcn.00451bb6
mov edi, dword [ebp + 8]
xor eax, eax
mov esi, dword [ebp + 0xc]
xor ebx, ebx
mov word [ebp - 0x524], ax
mov dword [ebp - 0x67c], ebx
mov byte [edi], bl
mov eax, dword [0x4dfe24]
mov dword [ebp - 0x688], 0x208
push dword [eax]
lea eax, [ebp - 0x114]
push str.SoftwareMicrosoftWindowsCurrentVersionUninstall_s
push 0x103
push eax
call fcn.0040fd1f
add esp, 0x10
cmp esi, 0x80000001
jne 0x4246e0
call fcn.004242cf
mov esi, eax
lea eax, [ebp - 0x114]
push eax
call fcn.004243a0
lea ecx, [ebp - 0x674]
mov dword [ebp - 0x680], eax
mov dword [ebp - 0x684], 0x482
mov dword [esp], str.Searching_for_previous_installation_at___s_.
call fcn.00418d39
lea ecx, [ebp - 0x680]
mov dword [ebp - 4], ebx
push ecx
push eax
call fcn.00417b03
pop ecx
pop ecx
lea ecx, [ebp - 0x53c]
push ecx
mov ecx, eax
call fcn.0041f2df
push str.:_d__s
lea ecx, [ebp - 0x5d8]
mov byte [ebp - 4], 1
call fcn.00418d39
lea ecx, [ebp - 0x684]
mov byte [ebp - 4], 2
push ecx
push eax
call fcn.00417aaf
lea ecx, [ebp - 0x53c]
push ecx
push eax
call fcn.00417b2d
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 0x678], ecx
push ecx
mov ecx, eax
call fcn.0041f2df
push str.C:ProgrammingTrillianWindows6.5_setupmain.cpp
push ebx
mov ecx, 0x4e1708
call fcn.0041fa1f
lea ecx, [ebp - 0x5d8]
call fcn.00419930
lea ecx, [ebp - 0x53c]
call fcn.00406bbc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x674]
call fcn.00419930
lea eax, [ebp - 0x67c]
push eax
push 0x20019
push ebx
push dword [ebp - 0x680]
jmp 0x4247ab
push str.Searching_for_previous_installation_at___s_.
lea ecx, [ebp - 0x5d8]
mov dword [ebp - 0x684], 0x488
call fcn.00418d39
lea ecx, [ebp - 0x114]
mov dword [ebp - 4], 3
push ecx
push eax
call fcn.00417a31
pop ecx
pop ecx
lea ecx, [ebp - 0x53c]
push ecx
mov ecx, eax
call fcn.0041f2df
push str.:_d__s
lea ecx, [ebp - 0x674]
mov byte [ebp - 4], 4
call fcn.00418d39
lea ecx, [ebp - 0x684]
mov byte [ebp - 4], 5
push ecx
push eax
call fcn.00417aaf
lea ecx, [ebp - 0x53c]
push ecx
push eax
call fcn.00417b2d
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 0x680], ecx
push ecx
mov ecx, eax
call fcn.0041f2df
push str.C:ProgrammingTrillianWindows6.5_setupmain.cpp
push ebx
mov ecx, 0x4e1708
call fcn.0041fa1f
lea ecx, [ebp - 0x674]
call fcn.00419930
lea ecx, [ebp - 0x53c]
call fcn.00406bbc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5d8]
call fcn.00419930
lea eax, [ebp - 0x67c]
push eax
push 0x20019
push ebx
lea eax, [ebp - 0x114]
push eax
push esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
lea eax, [ebp - 0x688]
mov dword [ebp - 0x68c], ebx
push eax
lea eax, [ebp - 0x524]
push eax
lea eax, [ebp - 0x68c]
push eax
push ebx
push 0x4bba7c
push dword [ebp - 0x67c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x4247f7
mov byte [edi], bl
push dword [ebp - 0x67c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.00451b65
ret
lea eax, [ebp - 0x524]
push eax
call fcn.00463ed2
pop ecx
test eax, eax
je 0x4247e5
cmp dword [ebp - 0x688], 0
jbe 0x4247e5
push 0x5c
pop esi
lea eax, [ebp - 0x524]
push esi
push eax
call fcn.00458677
pop ecx
pop ecx
lea ecx, [ebp - 0x524]
sub eax, ecx
and eax, 0xfffffffe
cmp eax, 0x410
jae 0x4248a4
xor ecx, ecx
mov word [ebp + eax - 0x524], cx
lea eax, [ebp - 0x524]
push eax
call fcn.00463ed2
pop ecx
cmp word [ebp + eax*2 - 0x526], si
je 0x424869
lea eax, [ebp - 0x524]
push 0x4bba9c
push eax
call fcn.00485a73
pop ecx
pop ecx
push ebx
push 0xffffffffffffffff
lea eax, [ebp - 0x678]
mov dword [ebp - 0x678], ebx
push eax
lea eax, [ebp - 0x524]
push eax
call fcn.0040d58a
push dword [ebp - 0x678]
push edi
call fcn.004641f0
push dword [ebp - 0x678]
call fcn.00451c94
add esp, 0x1c
jmp 0x4247e5
call fcn.00451dc9
int3