Function at 0x4aea10
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x57a2fe
mov eax, dword fs:[0]
push eax
sub esp, 0x350
mov eax, dword [0x5c4680]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x31c], ecx
push 0x582174
lea ecx, [ebp - 0x260]
call fcn.00403d10
mov dword [ebp - 4], 0
lea eax, [ebp - 0x260]
push eax
mov ecx, dword [ebp - 0x31c]
call fcn.0040eb20
mov ecx, dword [ebp - 0x31c]
mov dword [ecx + 0x258], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x260]
call fcn.00403c70
push 0x58218c
lea ecx, [ebp - 0x278]
call fcn.00403d10
mov dword [ebp - 4], 1
lea edx, [ebp - 0x278]
push edx
mov ecx, dword [ebp - 0x31c]
call fcn.0040eb20
mov ecx, dword [ebp - 0x31c]
mov dword [ecx + 0x25c], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x278]
call fcn.00403c70
push str.install_path
lea ecx, [ebp - 0x290]
call fcn.00403d10
mov dword [ebp - 4], 2
lea edx, [ebp - 0x290]
push edx
mov ecx, dword [ebp - 0x31c]
call fcn.0040eb20
mov ecx, dword [ebp - 0x31c]
mov dword [ecx + 0x260], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x290]
call fcn.00403c70
push str.progress
lea ecx, [ebp - 0x2a8]
call fcn.00403d10
mov dword [ebp - 4], 3
lea edx, [ebp - 0x2a8]
push edx
mov ecx, dword [ebp - 0x31c]
call fcn.0040eb20
mov ecx, dword [ebp - 0x31c]
mov dword [ecx + 0x264], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2a8]
call fcn.00403c70
push 0x5821c4
lea ecx, [ebp - 0x2c0]
call fcn.00403d10
mov dword [ebp - 4], 4
lea edx, [ebp - 0x2c0]
push edx
mov ecx, dword [ebp - 0x31c]
call fcn.0040eb20
mov ecx, dword [ebp - 0x31c]
mov dword [ecx + 0x268], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c0]
call fcn.00403c70
push 0x5821d8
lea ecx, [ebp - 0x2d8]
call fcn.00403d10
mov dword [ebp - 4], 5
lea edx, [ebp - 0x2d8]
push edx
mov ecx, dword [ebp - 0x31c]
call fcn.0040eb20
mov ecx, dword [ebp - 0x31c]
mov dword [ecx + 0x26c], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2d8]
call fcn.00403c70
push 0x5821f8
lea ecx, [ebp - 0x2f0]
call fcn.00403d10
mov dword [ebp - 4], 6
lea edx, [ebp - 0x2f0]
push edx
mov ecx, dword [ebp - 0x31c]
call fcn.0040eb20
mov ecx, dword [ebp - 0x31c]
mov dword [ecx + 0x270], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2f0]
call fcn.00403c70
mov edx, dword [ebp - 0x31c]
mov dword [ebp - 0x320], edx
mov dword [ebp - 0x33c], 0x4aeed0
mov dword [ebp - 0x338], 0
mov dword [ebp - 0x334], 0
push 0x582172
lea eax, [ebp - 0x320]
push eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x33c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x338]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x334]
mov dword [ecx + 8], edx
lea eax, [ebp - 0x35c]
push eax
call fcn.004addd0
add esp, 0x18
mov dword [ebp - 0x324], eax
mov ecx, dword [ebp - 0x324]
mov dword [ebp - 0x328], ecx
mov dword [ebp - 4], 7
mov edx, dword [ebp - 0x328]
push edx
lea ecx, [ebp - 0x318]
call fcn.004adc20
mov byte [ebp - 4], 8
lea eax, [ebp - 0x318]
push eax
push 6
mov ecx, dword [ebp - 0x31c]
mov ecx, dword [ecx + 0x1c]
call fcn.004ae6e0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x318]
call fcn.00417fb0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x35c]
call fcn.0040fa50
push 1
call fcn.004ac7a0
mov ecx, eax
call fcn.00410cb0
mov ecx, eax
call fcn.004a6bc0
movzx edx, al
push edx
mov eax, dword [ebp - 0x31c]
mov ecx, dword [eax + 0x270]
mov edx, dword [ebp - 0x31c]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x270]
mov edx, dword [eax + 0x184]
call edx
push 1
call fcn.004ac7a0
mov ecx, eax
call fcn.00410cb0
mov ecx, eax
call fcn.004a6750
movzx eax, al
push eax
mov ecx, dword [ebp - 0x31c]
mov edx, dword [ecx + 0x26c]
mov eax, dword [ebp - 0x31c]
mov edx, dword [edx]
mov ecx, dword [eax + 0x26c]
mov eax, dword [edx + 0x184]
call eax
push 1
call fcn.004ac7a0
mov ecx, eax
call fcn.00410cb0
mov ecx, eax
call fcn.004756f0
movzx ecx, al
push ecx
mov edx, dword [ebp - 0x31c]
mov eax, dword [edx + 0x268]
mov ecx, dword [ebp - 0x31c]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x268]
mov eax, dword [edx + 0x184]
call eax
lea ecx, [ebp - 0x230]
call fcn.00403d60
mov dword [ebp - 4], 9
mov dword [ebp - 0x330], 1
push 0x208
push 0
lea ecx, [ebp - 0x218]
push ecx
call fcn.005339f0
add esp, 0xc
mov dword [ebp - 0x32c], 0x208
lea edx, [ebp - 0x32c]
push edx
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x330]
push ecx
push str.InstallPath
push str.SOFTWAREjiebangbang
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
lea edx, [ebp - 0x218]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jle 0x4aee39
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x230]
call fcn.00403c40
jmp 0x4aee7f
push 0x2a
lea ecx, [ebp - 0x248]
push ecx
call fcn.0048e680
add esp, 8
mov byte [ebp - 4], 0xa
push 0x582254
lea ecx, [ebp - 0x248]
call fcn.00423320
lea edx, [ebp - 0x248]
push edx
lea ecx, [ebp - 0x230]
call fcn.00407d70
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x248]
call fcn.00403c70
lea eax, [ebp - 0x230]
push eax
mov ecx, dword [ebp - 0x31c]
mov ecx, dword [ecx + 0x260]
call fcn.0043d730
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x230]
call fcn.00403c70
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005313f0
mov esp, ebp
pop ebp
ret