Function at 0x759c49b6
Capabilities:
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xb4
mov eax, dword [0x75bc8d18]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0xb4]
call fcn.759b3ca6
xor ebx, ebx
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x94], 0x27
mov dword [ebp - 0x98], eax
cmp esi, ebx
je 0x759e3ac5
push edi
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 0x26
jne 0x759e3ae3
lea ecx, [ebp - 0x20]
call fcn.759b3c2d
push ebx
push ebx
lea eax, [ebp - 0x20]
push eax
push esi
mov dword [ebp - 0xa0], ebx
call fcn.759c4acf
add esp, 0x10
neg eax
sbb al, al
inc al
mov byte [ebp - 0xa1], al
lea eax, [ebp - 0xa0]
push eax
push ebx
mov edi, 0x759c3f44
push edi
push esi
call sym.msi.dll_MsiGetProductInfoW
test eax, eax
jne 0x759cee1a
cmp dword [ebp - 0xa0], ebx
je 0x759cee1a
mov byte [ebp - 0x99], 1
call fcn.759c4b5e
test al, al
je 0x759e3b10
cmp byte [ebp - 0xa1], bl
je 0x759d7d51
xor eax, eax
cmp byte [ebp - 0x99], bl
setne al
lea eax, [eax*4 + 1]
mov esi, eax
lea ecx, [ebp - 0x20]
call fcn.759b3c00
lea ecx, [ebp - 0x18]
call fcn.759b1681
lea ecx, [ebp - 0x98]
call fcn.759b499d
lea ecx, [ebp - 0xb4]
call fcn.759b3ed0
mov eax, esi
pop edi
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.759b1748
leave
ret 4
mov byte [ebp - 0x99], bl
jmp 0x759c4a71
cmp byte [ebp - 0x99], bl
jne 0x759e3b70
mov dword [ebp - 0xa8], ebx
lea ecx, [ebp - 0x3c]
call fcn.759b3c2d
lea eax, [ebp - 0x20]
push eax
push esi
push dword [ebp - 0xa8]
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa0], ebx
call fcn.759d7dd0
add esp, 0xc
cmp eax, ebx
je 0x759e3b78
cmp eax, 2
je 0x759e3ba8
cmp eax, ebx
je 0x759e3b97
lea ecx, [ebp - 0x3c]
call fcn.759b3c00
lea ecx, [ebp - 0x34]
call fcn.759b1681
lea ecx, [ebp - 0x20]
call fcn.759b3c00
lea ecx, [ebp - 0x18]
call fcn.759b1681
or esi, 0xffffffff
jmp 0x759c4aa1
lea ecx, [ebp - 0x98]
call fcn.759b499d
lea ecx, [ebp - 0xb4]
call fcn.759b3ed0
push 0xfffffffffffffffe
pop eax
jmp 0x759c4aba
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x98]
push 1
push esi
call fcn.759b554e
add esp, 0x20
test eax, eax
jne 0x759e3b05
push 0xfffffffffffffffe
pop esi
jmp 0x759c4aa1
mov esi, dword [ebp - 0x98]
jmp 0x759c4a0c
lea eax, [ebp - 0xa0]
push eax
push ebx
push 0x759c3dc0
push esi
call sym.msi.dll_MsiGetProductInfoW
test eax, eax
jne 0x759e3b3b
cmp dword [ebp - 0xa0], ebx
je 0x759e3b3b
mov byte [ebp - 0x99], 1
jmp 0x759c4a71
mov byte [ebp - 0x99], bl
cmp dword [0x75bc8ca8], ebx
je 0x759c4a71
push ebx
push ebx
mov eax, 0x759b7ff8
push eax
push eax
push eax
push eax
push eax
push esi
push 0x759e3bf0
push ebx
push ebx
push 9
call fcn.759c26bf
add esp, 0x30
jmp 0x759c4a71
push 2
pop esi
jmp 0x759c4a91
lea eax, [ebp - 0xa0]
push eax
push ebx
lea eax, [ebp - 0xac]
push eax
push ebx
push edi
push dword [ebp - 0x20]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
jmp 0x759d7d92
cmp dword [ebp - 0xac], 4
jne 0x759e3ba8
cmp dword [ebp - 0xa0], ebx
jne 0x759e3bc3
lea ecx, [ebp - 0x3c]
call fcn.759b3c00
lea ecx, [ebp - 0x34]
call fcn.759b1681
inc dword [ebp - 0xa8]
jmp 0x759d7d63
lea ecx, [ebp - 0x3c]
call fcn.759b3c00
lea ecx, [ebp - 0x34]
call fcn.759b1681
lea ecx, [ebp - 0x20]
call fcn.759b3c00
lea ecx, [ebp - 0x18]
call fcn.759b1681
push 2
jmp 0x759e3aff