Function at 0x422eaf
Capabilities:
Query or enumerate registry value

Disassembly:
push 0x4b4
mov eax, 0x4514d4
call fcn.00435c39
mov eax, dword [ebp + 8]
mov dword [ebp - 0x418], eax
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x414], ebx
push 0x206
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push ebx
push eax
mov edi, ecx
call fcn.004317b0
add esp, 0xc
lea eax, [ebp - 0x428]
push eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x420]
push eax
push 2
push str.UninstallString
push str.SoftwareMicrosoftWindowsCurrentVersionUninstall_
push dword [edi + 0x16c]
xor esi, esi
inc esi
mov dword [ebp - 0x428], 0x208
mov dword [ebp - 0x420], esi
call dword [sym.imp.SHLWAPI.dll_SHRegGetValueW]
cmp eax, ebx
je 0x42334c
xor eax, eax
mov dword [ebp - 0x258], 7
mov dword [ebp - 0x25c], ebx
mov word [ebp - 0x26c], ax
mov dword [ebp - 4], esi
lea eax, [ebp - 0x26c]
push eax
mov ecx, edi
call fcn.0042350e
cmp dword [ebp - 0x25c], ebx
je 0x4230ae
push str.B5TShoppingAssistant
push 0x16
pop ebx
lea esi, [ebp - 0x26c]
call fcn.004018c2
lea eax, [ebp - 0x4c0]
push eax
call fcn.00409a8c
mov byte [ebp - 4], 2
lea eax, [ebp - 0x4c0]
push str.path_manager::get_installation_dir_path_from_uninstall_reg_path.dat:
push eax
call fcn.0040c8ef
push eax
mov ecx, esi
call fcn.0040c75c
add esp, 0xc
push 0xf
pop esi
push 0x3a
xor ebx, ebx
push str.path_manager::get_installation_dir_path_from_uninstall_reg
lea ecx, [ebp - 0x234]
mov dword [ebp - 0x220], esi
mov dword [ebp - 0x224], ebx
mov byte [ebp - 0x234], bl
call fcn.00407efb
mov byte [ebp - 4], 3
push 0x10
push str.path_manager.cpp
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x23c], esi
mov dword [ebp - 0x240], ebx
mov byte [ebp - 0x250], bl
call fcn.00407efb
mov byte [ebp - 4], 4
lea eax, [ebp - 0x288]
push eax
lea eax, [ebp - 0x4c0]
push eax
call fcn.00409b50
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x234]
push eax
push 0x3a2
lea eax, [ebp - 0x250]
xor esi, esi
push eax
inc esi
push esi
call fcn.004109b9
push eax
call fcn.00410d00
mov byte [ebp - 4], 4
push ebx
push esi
lea ecx, [ebp - 0x288]
call fcn.0040229e
mov byte [ebp - 4], 3
push ebx
push esi
lea ecx, [ebp - 0x250]
call fcn.00407e53
mov byte [ebp - 4], 2
push ebx
push esi
lea ecx, [ebp - 0x234]
call fcn.00407e53
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x470]
call fcn.00409b0d
lea ecx, [ebp - 0x470]
call fcn.0040ee28
mov ecx, dword [ebp - 0x418]
lea eax, [ebp - 0x26c]
push eax
call fcn.0040151f
mov dword [ebp - 0x414], esi
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x26c]
jmp 0x4234f3
lea edx, [ebp - 0x26c]
mov ecx, edi
call fcn.0041f12f
cmp dword [ebp - 0x25c], ebx
je 0x4231e5
lea eax, [ebp - 0x4c0]
push eax
call fcn.00409a8c
mov byte [ebp - 4], 6
lea eax, [ebp - 0x4c0]
push str.path_manager::get_installation_dir_path_from_uninstall_reg_get_installation_dir_path:
push eax
call fcn.0040c8ef
push eax
lea ecx, [ebp - 0x26c]
call fcn.0040c75c
add esp, 0xc
push 0xf
pop edi
push 0x3a
push str.path_manager::get_installation_dir_path_from_uninstall_reg
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x23c], edi
mov dword [ebp - 0x240], ebx
mov byte [ebp - 0x250], bl
call fcn.00407efb
mov byte [ebp - 4], 7
push 0x10
push str.path_manager.cpp
lea ecx, [ebp - 0x234]
mov dword [ebp - 0x220], edi
mov dword [ebp - 0x224], ebx
mov byte [ebp - 0x234], bl
call fcn.00407efb
mov byte [ebp - 4], 8
lea eax, [ebp - 0x288]
push eax
lea eax, [ebp - 0x4c0]
push eax
call fcn.00409b50
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x250]
push eax
push 0x3a9
lea eax, [ebp - 0x234]
push eax
push esi
call fcn.004109b9
push eax
call fcn.00410d00
mov byte [ebp - 4], 8
push ebx
push esi
lea ecx, [ebp - 0x288]
call fcn.0040229e
mov byte [ebp - 4], 7
push ebx
push esi
lea ecx, [ebp - 0x234]
call fcn.00407e53
mov byte [ebp - 4], 6
push ebx
push esi
lea ecx, [ebp - 0x250]
call fcn.00407e53
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x470]
call fcn.00409b0d
lea ecx, [ebp - 0x470]
call fcn.0040ee28
mov ecx, dword [ebp - 0x418]
lea eax, [ebp - 0x26c]
push eax
call fcn.0040151f
jmp 0x42309a
push 0xf
pop edi
push ebx
push 0x4563d5
lea ecx, [ebp - 0x234]
mov dword [ebp - 0x220], edi
mov dword [ebp - 0x224], ebx
mov byte [ebp - 0x234], bl
call fcn.00407efb
mov byte [ebp - 4], 0xa
lea edx, [ebp - 0x234]
lea ecx, [ebp - 0x40c]
call fcn.0041c646
mov byte [ebp - 4], 0xc
push ebx
push esi
lea ecx, [ebp - 0x234]
call fcn.00407e53
cmp byte [ebp - 0x2d3], bl
je 0x423265
lea eax, [ebp - 0x40c]
push eax
lea ecx, [ebp - 0x288]
call fcn.004239a3
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x414], 2
mov byte [ebp - 0x40d], 1
cmp dword [eax + 0x10], ebx
jne 0x42326b
mov byte [ebp - 0x40d], bl
mov dword [ebp - 4], 0xc
test byte [ebp - 0x414], 2
je 0x42328f
and dword [ebp - 0x414], 0xfffffffd
push ebx
push esi
lea ecx, [ebp - 0x288]
call fcn.00407e53
cmp byte [ebp - 0x40d], bl
je 0x42332a
lea eax, [ebp - 0x40c]
push eax
lea ecx, [ebp - 0x288]
call fcn.004239a3
mov byte [ebp - 4], 0xe
cmp dword [eax + 0x14], 0x10
jb 0x4232b9
mov eax, dword [eax]
mov dword [ebp - 0x41c], eax
cmp eax, ebx
je 0x4232d5
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea edi, [eax + 1]
cmp edi, 0x3fffffff
jle 0x4232d9
xor eax, eax
jmp 0x4232f2
lea eax, [edi + edi]
call fcn.004313e0
mov eax, esp
push 3
push edi
push dword [ebp - 0x41c]
push eax
call fcn.00415210
mov ecx, dword [ebp - 0x418]
push eax
call fcn.00401eba
or dword [ebp - 0x414], esi
mov byte [ebp - 4], 0xc
push ebx
push esi
lea ecx, [ebp - 0x288]
call fcn.00407e53
mov byte [ebp - 4], 1
lea eax, [ebp - 0x40c]
push eax
call fcn.0041cd2a
jmp 0x4230a0
mov byte [ebp - 4], 1
lea eax, [ebp - 0x40c]
push eax
call fcn.0041cd2a
mov byte [ebp - 4], bl
push ebx
push esi
lea ecx, [ebp - 0x26c]
call fcn.0040229e
jmp 0x42334f
push 0xf
pop edi
xor eax, eax
mov dword [ebp - 0x290], 7
mov dword [ebp - 0x294], ebx
mov word [ebp - 0x2a4], ax
mov dword [ebp - 4], edi
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x2a4]
call fcn.00401e93
push esi
push 0x456624
lea eax, [ebp - 0x2a4]
call fcn.0040aa6f
mov dword [ebp - 0x41c], eax
lea eax, [ebp - 0x4c0]
push eax
call fcn.00409a8c
mov byte [ebp - 4], 0x10
push dword [ebp - 0x41c]
lea eax, [ebp - 0x288]
push ebx
push eax
lea ecx, [ebp - 0x2a4]
call fcn.00401567
mov dword [ebp - 0x424], eax
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x4c0]
push str.path_manager::get_installation_dir_path_from_uninstall_reg_reg:
push eax
call fcn.0040c8ef
mov ecx, dword [ebp - 0x424]
push eax
call fcn.0040c75c
add esp, 0xc
mov byte [ebp - 4], 0x10
push ebx
push esi
lea ecx, [ebp - 0x288]
call fcn.0040229e
push 0x3a
push str.path_manager::get_installation_dir_path_from_uninstall_reg
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x23c], edi
mov dword [ebp - 0x240], ebx
mov byte [ebp - 0x250], bl
call fcn.00407efb
mov byte [ebp - 4], 0x12
push 0x10
push str.path_manager.cpp
lea ecx, [ebp - 0x234]
mov dword [ebp - 0x220], edi
mov dword [ebp - 0x224], ebx
mov byte [ebp - 0x234], bl
call fcn.00407efb
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x288]
push eax
lea eax, [ebp - 0x4c0]
push eax
call fcn.00409b50
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x250]
push eax
push 0x3ba
lea eax, [ebp - 0x234]
push eax
push esi
call fcn.004109b9
push eax
call fcn.00410d00
mov byte [ebp - 4], 0x13
push ebx
push esi
lea ecx, [ebp - 0x288]
call fcn.0040229e
mov byte [ebp - 4], 0x12
push ebx
push esi
lea ecx, [ebp - 0x234]
call fcn.00407e53
mov byte [ebp - 4], 0x10
push ebx
push esi
lea ecx, [ebp - 0x250]
call fcn.00407e53
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x470]
call fcn.00409b0d
lea ecx, [ebp - 0x470]
call fcn.0040ee28
push dword [ebp - 0x41c]
lea ecx, [ebp - 0x2a4]
push ebx
push dword [ebp - 0x418]
call fcn.00401567
or dword [ebp - 0x414], esi
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x2a4]
push ebx
push esi
call fcn.0040229e
mov eax, dword [ebp - 0x418]
lea esp, [ebp - 0x4d0]
call fcn.00435cbc
ret 4