Function at 0x442896
Capabilities:
Query or enumerate registry value

Disassembly:
push 0x324
mov eax, 0x46e515
call fcn.00462d75
xor eax, eax
push 0x206
mov word [ebp - 0x218], ax
xor ebx, ebx
lea eax, [ebp - 0x216]
mov esi, ecx
push ebx
push eax
mov dword [ebp - 0x28c], esi
call fcn.004556a0
add esp, 0xc
lea eax, [ebp - 0x294]
push eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x290]
push eax
push 2
push str.UninstallString
push str.SoftwareMicrosoftWindowsCurrentVersionUninstall_
push dword [esi + 0x16c]
xor edi, edi
inc edi
mov dword [ebp - 0x290], edi
mov dword [ebp - 0x294], 0x208
call dword [sym.imp.SHLWAPI.dll_SHRegGetValueW]
cmp eax, ebx
je 0x442a2b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
lea eax, [ebp - 0x330]
push eax
call fcn.00403575
mov dword [ebp - 4], ebx
push esi
push ecx
lea eax, [ebp - 0x330]
push 0x4768dc
push eax
call fcn.0040667a
add esp, 0xc
push eax
call fcn.004027f8
push 0xf
pop esi
push 0x3a
push str.path_manager::set_installation_dir_path_from_uninstall_reg
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x23c], esi
mov dword [ebp - 0x240], ebx
mov byte [ebp - 0x250], bl
call fcn.00403e19
mov byte [ebp - 4], 1
push 0x10
push str.path_manager.cpp
lea ecx, [ebp - 0x234]
mov dword [ebp - 0x220], esi
mov dword [ebp - 0x224], ebx
mov byte [ebp - 0x234], bl
call fcn.00403e19
mov byte [ebp - 4], 2
lea eax, [ebp - 0x288]
push eax
lea ecx, [ebp - 0x330]
call fcn.00403624
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x250]
push eax
push 0x277
push 2
call fcn.00439dc3
lea ecx, [ebp - 0x234]
mov ebx, eax
call fcn.00439e02
mov byte [ebp - 4], 2
xor esi, esi
xor ebx, ebx
push esi
inc ebx
push ebx
lea ecx, [ebp - 0x288]
call fcn.00403eaf
mov byte [ebp - 4], bl
push esi
push ebx
lea ecx, [ebp - 0x234]
call fcn.00403eaf
mov byte [ebp - 4], 0
push esi
push ebx
lea ecx, [ebp - 0x250]
call fcn.00403eaf
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2e0]
call fcn.004035e1
lea ecx, [ebp - 0x2e0]
call fcn.00402925
mov eax, ebx
call fcn.00462df8
ret
xor eax, eax
mov dword [ebp - 0x258], 7
mov dword [ebp - 0x25c], ebx
mov word [ebp - 0x26c], ax
mov dword [ebp - 4], 4
lea eax, [ebp - 0x26c]
push eax
lea ecx, [ebp - 0x218]
call fcn.0040b340
push edi
push 0x4768d4
lea eax, [ebp - 0x26c]
call fcn.00404159
cmp eax, 0xffffffff
jne 0x442b9f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
lea eax, [ebp - 0x330]
push eax
call fcn.00403575
mov byte [ebp - 4], 5
push esi
push ecx
lea eax, [ebp - 0x330]
push 0x4768dc
push eax
call fcn.0040667a
add esp, 0xc
push eax
call fcn.004027f8
push 0xf
pop esi
push 0x3a
push str.path_manager::set_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.00403e19
mov byte [ebp - 4], 6
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.00403e19
mov byte [ebp - 4], 7
lea eax, [ebp - 0x288]
push eax
lea ecx, [ebp - 0x330]
call fcn.00403624
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x234]
push eax
push 0x27c
push 2
call fcn.00439dc3
lea ecx, [ebp - 0x250]
mov ebx, eax
call fcn.00439e02
mov byte [ebp - 4], 7
xor esi, esi
xor ebx, ebx
push esi
inc ebx
push ebx
lea ecx, [ebp - 0x288]
call fcn.00403eaf
mov byte [ebp - 4], 6
push esi
push ebx
lea ecx, [ebp - 0x250]
call fcn.00403eaf
mov byte [ebp - 4], 5
push esi
push ebx
lea ecx, [ebp - 0x234]
call fcn.00403eaf
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2e0]
call fcn.004035e1
lea ecx, [ebp - 0x2e0]
call fcn.00402925
or dword [ebp - 4], 0xffffffff
push 1
xor edi, edi
lea esi, [ebp - 0x26c]
call fcn.004041e3
jmp 0x442a23
push eax
push ebx
lea eax, [ebp - 0x288]
push eax
lea eax, [ebp - 0x26c]
push eax
call fcn.0040278c
mov byte [ebp - 4], 9
mov ebx, eax
lea eax, [ebp - 0x26c]
call fcn.00403eff
mov byte [ebp - 4], 4
push 1
xor edi, edi
lea esi, [ebp - 0x288]
call fcn.004041e3
lea ecx, [ebp - 0x26c]
call fcn.0043ea36
mov edi, eax
xor ebx, ebx
cmp edi, ebx
je 0x442d06
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
lea eax, [ebp - 0x330]
push eax
call fcn.00403575
mov byte [ebp - 4], 0xa
push esi
push ecx
lea eax, [ebp - 0x330]
push 0x4768dc
push eax
call fcn.0040667a
add esp, 0xc
push eax
call fcn.004027f8
push 0xf
pop esi
push 0x3a
push str.path_manager::set_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.00403e19
mov byte [ebp - 4], 0xb
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.00403e19
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x288]
push eax
lea ecx, [ebp - 0x330]
call fcn.00403624
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x234]
push eax
push 0x27e
push 2
call fcn.00439dc3
lea ecx, [ebp - 0x250]
mov ebx, eax
call fcn.00439e02
mov byte [ebp - 4], 0xc
xor esi, esi
push esi
push 1
lea ecx, [ebp - 0x288]
call fcn.00403eaf
mov byte [ebp - 4], 0xb
push esi
push 1
lea ecx, [ebp - 0x250]
call fcn.00403eaf
mov byte [ebp - 4], 0xa
push esi
push 1
lea ecx, [ebp - 0x234]
call fcn.00403eaf
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2e0]
call fcn.004035e1
lea ecx, [ebp - 0x2e0]
call fcn.00402925
mov ebx, edi
jmp 0x442b87
mov esi, dword [ebp - 0x28c]
push 0xffffffffffffffff
push ebx
lea ecx, [esi + 0x1c]
lea eax, [ebp - 0x26c]
call fcn.00403f7d
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x26c]
lea ecx, [esi + 0x38]
call fcn.00403f7d
lea ecx, [esi + 0x38]
call fcn.00442d3b
jmp 0x442b87