Function at 0x40246f
Capabilities:
Query or enumerate registry value

Disassembly:
push 0x328
mov eax, 0x432448
call fcn.0041cd86
mov eax, dword [ebp + 8]
mov dword [ebp - 0x250], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp + 0x10]
mov esi, 0x208
push esi
mov dword [ebp - 0x248], eax
call fcn.0041874e
pop ecx
mov ebx, eax
push esi
mov dword [ebp - 0x258], ebx
call fcn.0041874e
pop ecx
push esi
mov dword [ebp - 0x228], eax
call fcn.0041874e
pop ecx
push esi
mov dword [ebp - 0x22c], eax
call fcn.0041874e
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyW]
pop ecx
mov edi, str.SOFTWAREAsk.com.tmp_
push edi
push ebx
mov dword [ebp - 0x240], eax
call esi
push edi
push dword [ebp - 0x228]
call esi
push edi
push dword [ebp - 0x22c]
call esi
push edi
mov edi, dword [ebp - 0x240]
push edi
call esi
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
push str.Macro
push ebx
call esi
push str.Custom
push dword [ebp - 0x228]
call esi
push str.Installer
push dword [ebp - 0x22c]
call esi
push str.General
push edi
call esi
mov eax, dword [ebp - 0x228]
mov dword [ebp - 0x274], ebx
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x22c]
xor ebx, ebx
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x268], edi
mov dword [ebp - 0x21c], ebx
lea eax, [ebp - 0x234]
push eax
mov eax, dword [ebp - 0x21c]
push 0x20019
push ebx
push dword [ebp + eax*4 - 0x274]
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, ebx
jne 0x402843
cmp dword [ebp - 0x234], ebx
je 0x402843
xor eax, eax
push 0x206
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push ebx
push eax
call fcn.0041c7e0
add esp, 0xc
lea eax, [ebp - 0x28c]
push eax
lea eax, [ebp - 0x280]
push eax
lea eax, [ebp - 0x244]
push eax
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x284]
push eax
lea eax, [ebp - 0x27c]
push eax
lea eax, [ebp - 0x264]
push eax
push ebx
lea eax, [ebp - 0x25c]
push eax
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x234]
mov dword [ebp - 0x25c], 0x104
mov dword [ebp - 0x264], ebx
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
cmp dword [ebp - 0x238], ebx
je 0x402837
mov eax, dword [ebp - 0x23c]
xor ecx, ecx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041874e
mov dword [ebp - 0x224], eax
mov eax, dword [ebp - 0x244]
pop ecx
add eax, eax
push eax
call fcn.0041874e
pop ecx
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x230], ebx
cmp dword [ebp - 0x238], ebx
jbe 0x40281f
mov eax, dword [ebp - 0x220]
push 4
pop ecx
mov byte [eax], bl
inc eax
dec ecx
jne 0x402672
mov eax, dword [ebp - 0x224]
push 4
pop ecx
mov byte [eax], bl
inc eax
dec ecx
jne 0x402681
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x260], eax
lea eax, [ebp - 0x260]
push eax
push dword [ebp - 0x220]
lea eax, [ebp - 0x278]
push eax
push ebx
lea eax, [ebp - 0x254]
push eax
push dword [ebp - 0x224]
push dword [ebp - 0x230]
push dword [ebp - 0x234]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
cmp eax, ebx
jne 0x402807
xor edi, edi
inc edi
cmp dword [ebp - 0x21c], ebx
je 0x4026ee
cmp dword [ebp - 0x21c], edi
jne 0x402743
push dword [ebp - 0x220]
lea esi, [ebp - 0x2a8]
call fcn.004056d6
push dword [ebp - 0x224]
lea esi, [ebp - 0x334]
mov dword [ebp - 4], ebx
call fcn.004056d6
lea eax, [ebp - 0x2a8]
push eax
push dword [ebp - 0x248]
mov eax, esi
mov byte [ebp - 4], 1
call fcn.0040bf1c
push ebx
push edi
call fcn.00405f67
or dword [ebp - 4], 0xffffffff
push ebx
push edi
lea esi, [ebp - 0x2a8]
call fcn.00405f67
cmp dword [ebp - 0x21c], 2
jne 0x4027a5
push dword [ebp - 0x220]
lea esi, [ebp - 0x318]
call fcn.004056d6
push dword [ebp - 0x224]
lea esi, [ebp - 0x2e0]
mov dword [ebp - 4], 2
call fcn.004056d6
lea eax, [ebp - 0x318]
push eax
push dword [ebp - 0x24c]
mov eax, esi
mov byte [ebp - 4], 3
call fcn.0040bf1c
push ebx
push edi
call fcn.00405f67
or dword [ebp - 4], 0xffffffff
push ebx
push edi
lea esi, [ebp - 0x318]
call fcn.00405f67
cmp dword [ebp - 0x21c], 3
jne 0x402807
push dword [ebp - 0x220]
lea esi, [ebp - 0x2fc]
call fcn.004056d6
push dword [ebp - 0x224]
lea esi, [ebp - 0x2c4]
mov dword [ebp - 4], 4
call fcn.004056d6
lea eax, [ebp - 0x2fc]
push eax
push dword [ebp - 0x250]
mov eax, esi
mov byte [ebp - 4], 5
call fcn.0040bf1c
push ebx
push edi
call fcn.00405f67
or dword [ebp - 4], 0xffffffff
push ebx
push edi
lea esi, [ebp - 0x2fc]
call fcn.00405f67
inc dword [ebp - 0x230]
mov eax, dword [ebp - 0x230]
cmp eax, dword [ebp - 0x238]
jb 0x402669
push dword [ebp - 0x220]
call fcn.0041a129
pop ecx
push dword [ebp - 0x224]
call fcn.0041a129
pop ecx
push dword [ebp - 0x234]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
inc dword [ebp - 0x21c]
cmp dword [ebp - 0x21c], 4
jl 0x40255b
push dword [ebp - 0x258]
call fcn.0041a129
pop ecx
push dword [ebp - 0x228]
call fcn.0041a129
pop ecx
push dword [ebp - 0x22c]
call fcn.0041a129
pop ecx
push dword [ebp - 0x240]
call fcn.0041a129
pop ecx
xor eax, eax
call fcn.0041cdd0
ret 0xc