Function at 0x10047c00
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1016dd9b
mov eax, dword fs:[0]
push eax
sub esp, 0x244
mov eax, dword [0x101d7c7c]
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 dword [ebp - 0x238], 0
call fcn.10071f70
mov ebx, eax
mov dword [ebp - 0x240], ebx
test ebx, ebx
je 0x1004843a
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.10112750
lea eax, [ebp - 0x230]
mov dword [ebp - 0x24c], 0x208
push 5
push eax
mov dword [ebp - 0x250], 1
call fcn.10038cd0
add esp, 0x14
cmp dword [eax + 0x14], 8
jb 0x10047c8d
mov eax, dword [eax]
lea ecx, [ebp - 0x24c]
push ecx
lea ecx, [ebp - 0x218]
push ecx
lea ecx, [ebp - 0x250]
push ecx
push 0x10186a64
push eax
push SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
lea ecx, [ebp - 0x230]
mov esi, eax
call fcn.100109e0
or edi, 0xffffffff
test esi, esi
jne 0x10047e64
cmp dword [ebp - 0x24c], 2
jbe 0x10047e64
push str.ex_ary_vm_
lea ecx, [ebp - 0x234]
call fcn.1000e0d0
lea eax, [ebp - 0x23c]
mov dword [ebp - 4], esi
push eax
call fcn.1003ccb0
add esp, 4
mov esi, eax
mov ecx, dword [ebp - 0x234]
mov byte [ebp - 4], 2
mov ecx, dword [ecx - 0x10]
test ecx, ecx
je 0x10047d18
mov edx, dword [ecx]
call dword [edx + 0x10]
mov ecx, eax
test ecx, ecx
jne 0x10047d2e
call fcn.1000cdc0
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x10]
mov ecx, eax
test ecx, ecx
je 0x10048456
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, dword [esi]
add eax, 0x10
mov dword [ebp - 0x244], eax
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x238], 1
push dword [ecx - 0xc]
push ecx
push dword [eax - 0xc]
push eax
lea eax, [ebp - 0x244]
push eax
call fcn.100485b0
mov eax, dword [ebp - 0x244]
add esp, 0x14
mov ebx, dword [ebp - 0x234]
add ebx, 0xfffffff0
lea esi, [eax - 0x10]
cmp esi, ebx
je 0x10047dcc
cmp dword [ebx + 0xc], 0
jl 0x10047dbd
mov ecx, dword [esi]
cmp ecx, dword [ebx]
jne 0x10047dbd
push esi
call fcn.1000c650
add esp, 4
mov dword [ebp - 0x248], eax
mov ecx, edi
lea edx, [ebx + 0xc]
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x10047db2
mov ecx, dword [ebx]
push ebx
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x248]
add eax, 0x10
mov dword [ebp - 0x234], eax
jmp 0x10047dcc
push dword [eax - 0xc]
lea ecx, [ebp - 0x234]
push eax
call fcn.1000d900
mov byte [ebp - 4], 1
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x10047de4
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x23c]
mov eax, edi
mov byte [ebp - 4], 0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10047e05
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x23c], esp
mov dword [eax + 0x24], 0
push 0
push dword [ebp - 0x234]
mov byte [ebp - 4], 3
push str.avolap_v
call fcn.100349e0
mov ecx, eax
mov byte [ebp - 4], 0
call fcn.10030b90
mov edx, dword [ebp - 0x234]
mov eax, edi
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10047e5e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ebx, dword [ebp - 0x240]
call fcn.1000cdc0
mov ecx, eax
test ecx, ecx
je 0x10048460
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x238], eax
push str.45476F8083D74BA28A2DD8ED399737B7
lea ecx, [ebp - 0x238]
mov dword [ebp - 4], 4
call fcn.1000e2c0
test al, al
jne 0x10047eae
push 0x20
push str.45476F8083D74BA28A2DD8ED399737B7
lea ecx, [ebp - 0x238]
call fcn.1000d900
mov dword [ebp - 4], 5
call fcn.1000cdc0
mov ecx, eax
test ecx, ecx
je 0x1004846a
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x234], eax
push str.3nH9U1joeO2CU7EyGkms7Dwohh0ifZSpYTykMfmD3sefRR2rRUnFFL7n3b2VqudgR5NJMkVKg30PBJZk6NKw
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 6
call fcn.1000e2c0
test al, al
jne 0x10047efc
push 0x58
push str.3nH9U1joeO2CU7EyGkms7Dwohh0ifZSpYTykMfmD3sefRR2rRUnFFL7n3b2VqudgR5NJMkVKg30PBJZk6NKw
lea ecx, [ebp - 0x234]
call fcn.1000d900
lea eax, [ebp - 0x238]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x23c]
push eax
call fcn.100ae2b0
add esp, 0xc
mov ecx, dword [ebx]
push 0
push 0
push str.Path
push dword [eax]
mov byte [ebp - 4], 8
push reloc.OLEAUT32.dll_SysReAllocString
push ebx
call dword [ecx + 0x74]
mov edx, dword [ebp - 0x23c]
mov esi, eax
mov byte [ebp - 4], 7
add edx, 0xfffffff0
mov ecx, edi
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x10047f5a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x234]
mov eax, edi
mov byte [ebp - 4], 5
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10047f7b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x238]
mov eax, edi
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10047f9f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test esi, esi
je 0x10047fda
push 0
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x23c], esp
mov dword [eax + 0x24], 0
push 0
push 0
push str.avolap_s
mov dword [ebp - 4], 9
call fcn.100349e0
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
call fcn.10030b90
call fcn.1000cdc0
mov ecx, eax
test ecx, ecx
je 0x10048474
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x234], eax
push str.45476F8083D74BA28A2DD8ED399737B7
lea ecx, [ebp - 0x234]
mov dword [ebp - 4], 0xa
call fcn.1000e2c0
test al, al
jne 0x10048024
push 0x20
push str.45476F8083D74BA28A2DD8ED399737B7
lea ecx, [ebp - 0x234]
call fcn.1000d900
mov dword [ebp - 4], 0xb
call fcn.1000cdc0
mov ecx, eax
test ecx, ecx
je 0x1004847e
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x238], eax
push str.3nH9U1joeO1CwWUc2utjEgi_y_KZbnvU
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 0xc
call fcn.1000e2c0
test al, al
jne 0x10048072
push 0x20
push str.3nH9U1joeO1CwWUc2utjEgi_y_KZbnvU
lea ecx, [ebp - 0x238]
call fcn.1000d900
lea eax, [ebp - 0x234]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x23c]
push eax
call fcn.100ae2b0
add esp, 0xc
mov ecx, dword [ebx]
push 0
push 0
push str.InstallDir
push dword [eax]
mov byte [ebp - 4], 0xe
push reloc.OLEAUT32.dll_SysReAllocString
push ebx
call dword [ecx + 0x74]
mov edx, dword [ebp - 0x23c]
mov esi, eax
mov byte [ebp - 4], 0xd
add edx, 0xfffffff0
mov ecx, edi
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x100480d0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x238]
mov eax, edi
mov byte [ebp - 4], 0xb
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100480f1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x234]
mov eax, edi
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10048115
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test esi, esi
je 0x10048150
push 0
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x23c], esp
mov dword [eax + 0x24], 0
push 0
push 0
push str.avolap_q
mov dword [ebp - 4], 0xf
call fcn.100349e0
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
call fcn.10030b90
call fcn.1000cdc0
mov ecx, eax
test ecx, ecx
je 0x10048488
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x234], eax
push str.45476F8083D74BA28A2DD8ED399737B7
lea ecx, [ebp - 0x234]
mov dword [ebp - 4], 0x10
call fcn.1000e2c0
test al, al
jne 0x1004819a
push 0x20
push str.45476F8083D74BA28A2DD8ED399737B7
lea ecx, [ebp - 0x234]
call fcn.1000d900
mov dword [ebp - 4], 0x11
call fcn.1000cdc0
mov ecx, eax
test ecx, ecx
je 0x10048492
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x238], eax
push str.3nH9U1joeO2CU7EyGkms7Dwohh0ifZSpYTykMfmD3sefRR2rRUnFFOrQjgyAOSJiPRIZORY38ABsyHwg7ZL2F13ep3GcQRfuZ2Srblljk1Q
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 0x12
call fcn.1000e2c0
test al, al
jne 0x100481e8
push 0x6c
push str.3nH9U1joeO2CU7EyGkms7Dwohh0ifZSpYTykMfmD3sefRR2rRUnFFOrQjgyAOSJiPRIZORY38ABsyHwg7ZL2F13ep3GcQRfuZ2Srblljk1Q
lea ecx, [ebp - 0x238]
call fcn.1000d900
lea eax, [ebp - 0x234]
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x23c]
push eax
call fcn.100ae2b0
add esp, 0xc
mov ecx, dword [ebx]
push 0
push 0
push str.UninstallString
push dword [eax]
mov byte [ebp - 4], 0x14
push reloc.OLEAUT32.dll_SysReAllocString
push ebx
call dword [ecx + 0x74]
mov edx, dword [ebp - 0x23c]
mov esi, eax
mov byte [ebp - 4], 0x13
add edx, 0xfffffff0
mov ecx, edi
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x10048246
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x238]
mov eax, edi
mov byte [ebp - 4], 0x11
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10048267
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x234]
mov eax, edi
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1004828b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test esi, esi
je 0x100482c6
push 0
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x23c], esp
mov dword [eax + 0x24], 0
push 0
push 0
push str.avlap_j
mov dword [ebp - 4], 0x15
call fcn.100349e0
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
call fcn.10030b90
call fcn.1000cdc0
mov ecx, eax
test ecx, ecx
je 0x1004849c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x244], eax
push str.45476F8083D74BA28A2DD8ED399737B7
lea ecx, [ebp - 0x244]
mov dword [ebp - 4], 0x16
call fcn.1000e2c0
test al, al
jne 0x10048310
push 0x20
push str.45476F8083D74BA28A2DD8ED399737B7
lea ecx, [ebp - 0x244]
call fcn.1000d900
mov dword [ebp - 4], 0x17
call fcn.1000cdc0
mov ecx, eax
test ecx, ecx
je 0x100484a6
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x240], eax
push str.3nH9U1joeO2CU7EyGkms7Dwohh0ifZSpYTykMfmD3sefRR2rRUnFFOrQjgyAOSJiPKeAiXeLxkhBB150GkyQdn5tKnoglMXZ
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 0x18
call fcn.1000e2c0
test al, al
jne 0x1004835e
push 0x60
push str.3nH9U1joeO2CU7EyGkms7Dwohh0ifZSpYTykMfmD3sefRR2rRUnFFOrQjgyAOSJiPKeAiXeLxkhBB150GkyQdn5tKnoglMXZ
lea ecx, [ebp - 0x240]
call fcn.1000d900
lea eax, [ebp - 0x244]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x240]
push eax
lea eax, [ebp - 0x248]
push eax
call fcn.100ae2b0
add esp, 0xc
mov ecx, dword [ebx]
push 1
push 0
push str.UninstallString
push dword [eax]
mov byte [ebp - 4], 0x1a
push reloc.OLEAUT32.dll_SysReAllocString
push ebx
call dword [ecx + 0x74]
mov edx, dword [ebp - 0x248]
mov esi, eax
mov byte [ebp - 4], 0x19
add edx, 0xfffffff0
mov ecx, edi
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x100483bc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x240]
mov eax, edi
mov byte [ebp - 4], 0x17
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100483dd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x244]
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], edi
dec edi
test edi, edi
jg 0x100483ff
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test esi, esi
je 0x1004843a
push 0
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x23c], esp
mov dword [eax + 0x24], 0
push 0
push 0
push str.avlap_h
mov dword [ebp - 4], 0x1b
call fcn.100349e0
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
call fcn.10030b90
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.100acb08
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.1000ae00
push 0x80004005
call fcn.1000ae00
push 0x80004005
call fcn.1000ae00
push 0x80004005
call fcn.1000ae00
push 0x80004005
call fcn.1000ae00
push 0x80004005
call fcn.1000ae00
push 0x80004005
call fcn.1000ae00
push 0x80004005
call fcn.1000ae00
push 0x80004005
call fcn.1000ae00
int3