Function at 0x47af52
Capabilities:
Delete registry key
Get installed programs
Query or enumerate registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x238
mov eax, dword [0x49a0d0]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
xor ebx, ebx
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x22c], str..kzShellNew
mov dword [ebp - 0x228], str..zipShellNew
mov dword [ebp - 0x224], str..7zShellNew
mov dword [ebp - 0x238], str.KzNew.dat
mov dword [ebp - 0x234], str.zipnew.dat
mov dword [ebp - 0x230], str.7znew.dat
xor esi, esi
push dword [ebp - 0x21c]
lea eax, [ebp - 0x214]
push 0x104
push eax
call fcn.0044a38e
mov eax, dword [ebp + esi - 0x22c]
add esp, 0xc
lea ecx, [ebp - 0x218]
push ecx
push eax
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
je 0x47b008
lea eax, [ebp - 0x218]
push eax
push dword [ebp + esi - 0x22c]
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
push dword [ebp + esi - 0x238]
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x214]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, bx
jne 0x47b025
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x214]
push eax
push 1
push ebx
push str.FileName
push dword [ebp - 0x218]
call edi
push dword [ebp - 0x218]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
add esi, 4
cmp esi, 0xc
jl 0x47afb7
push dword [ebp - 0x21c]
lea eax, [ebp - 0x214]
push 0x104
push eax
call fcn.0044a38e
add esp, 0xc
push str.Uninstaller.exe
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x218]
push eax
push str.SoftwareMicrosoftWindowsCurrentVersionUninstallKuaiZip
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
test eax, eax
jne 0x47b225
push ebx
call fcn.0044bf7e
mov dword [ebp - 0x22c], eax
lea eax, [ebp - 0x214]
mov dword [ebp - 0x228], edx
pop ecx
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, bx
jne 0x47b0ce
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x214]
push eax
push 1
push ebx
push str.UninstallString
push dword [ebp - 0x218]
call edi
push 0xf
pop esi
call fcn.0047b8e9
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, bx
jne 0x47b103
sub eax, ecx
sar eax, 1
mov dword [ebp - 0x21c], eax
call fcn.0047b8e9
mov ecx, dword [ebp - 0x21c]
lea ecx, [ecx + ecx + 2]
push ecx
push eax
push 1
push ebx
push str.DisplayName
push dword [ebp - 0x218]
call edi
mov ecx, dword [0x49f32c]
mov eax, dword [0x49f318]
cmp ecx, 8
jae 0x47b14d
mov eax, 0x49f318
lea esi, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, bx
jne 0x47b150
sub eax, esi
sar eax, 1
cmp ecx, 8
mov ecx, dword [0x49f318]
jae 0x47b16e
mov ecx, 0x49f318
lea eax, [eax + eax + 2]
push eax
push ecx
push 1
push ebx
push str.DisplayVersion
push dword [ebp - 0x218]
call edi
lea eax, [ebp - 0x214]
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, bx
jne 0x47b18d
sub eax, ecx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x214]
push eax
push 1
push ebx
push str.DisplayIcon
push dword [ebp - 0x218]
call edi
push 0x40
push str.Suzhou_Shijie_Software_Co.__LTD
push 1
push ebx
push str.Publisher
push dword [ebp - 0x218]
call edi
push ebx
push ebx
push ebx
push ebx
push 0x490750
push dword [ebp - 0x218]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x47b200
push 8
lea eax, [ebp - 0x22c]
push eax
push 0xb
push ebx
push str.InstallDate
push dword [ebp - 0x218]
call edi
push 8
lea eax, [ebp - 0x22c]
push eax
push 0xb
push ebx
push str.LastUpdateDate
push dword [ebp - 0x218]
call edi
push dword [ebp - 0x218]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x218]
push eax
push 0xf003f
push ebx
push str.SoftwareMicrosoftWindowsCurrentVersionUninstall
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x47b263
push str.KZip
push dword [ebp - 0x218]
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
push dword [ebp - 0x218]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.0047a6b3
call fcn.0047a76d
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004498d8
leave
ret