Function at 0x551900
Capabilities:
Query or enumerate registry value

Disassembly:
push 0xffffffffffffffff
push 0x654a6c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x10
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x18], 0x69f510
lea eax, [esp + 0x18]
xor ebx, ebx
push eax
mov dword [esp + 0x2c], ebx
call fcn.0060f7b0
push 0x746758
mov esi, eax
call fcn.0054d610
push 0x746754
call fcn.0054d850
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
add esp, 0xc
mov dword [0x74676c], ecx
mov dword [0x746770], edx
mov eax, dword [esi]
push 0x2714
mov ecx, esi
call dword [eax + 0x38]
mov dword [0x746778], eax
mov edx, dword [esi]
push 0x2746
mov ecx, esi
call dword [edx + 0x38]
push 1
mov ecx, 0x7466a8
mov dword [0x74677c], eax
mov dword [0x7466b4], ebx
call fcn.00572a80
mov eax, dword [0x7466ac]
push 1
mov ecx, 0x7466b8
mov dword [eax], 2
mov dword [eax + 4], 2
mov dword [0x7466c4], ebx
call fcn.00572a80
mov eax, dword [0x7466bc]
mov edi, 3
push 1
mov ecx, 0x7466c8
mov dword [eax], edi
mov dword [eax + 4], edi
mov dword [0x7466d4], ebx
call fcn.00572a80
mov eax, dword [0x7466cc]
mov ebp, 4
push 2
mov ecx, 0x7466d8
mov dword [eax], ebp
mov dword [eax + 4], ebp
mov dword [0x7466e4], ebx
call fcn.00572a80
mov eax, dword [0x7466dc]
push 2
mov ecx, 0x7466e8
mov dword [eax], ebp
mov dword [eax + 4], edi
mov dword [eax + 8], 2
mov dword [eax + 0xc], edi
mov dword [0x7466f4], ebx
call fcn.00572a80
mov eax, dword [0x7466ec]
push 2
mov ecx, 0x7466f8
mov dword [eax], ebp
mov dword [eax + 4], edi
mov dword [eax + 8], 0x10
mov dword [eax + 0xc], edi
mov dword [0x746704], ebx
call fcn.00572a80
mov eax, dword [0x7466fc]
mov dword [eax], 8
mov dword [eax + 4], ebp
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebp
lea eax, [esp + 0x10]
mov edi, 1
push eax
push edi
push ebx
push str.SoftwareFoxit_SoftwareFoxit_ReaderAnnotation
push SysReAllocStringLen
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
cmp eax, ebx
jne 0x551aae
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x14]
push ecx
push edx
push ebx
push ebx
push str.SelectMode
push eax
mov dword [esp + 0x34], ebp
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [esp + 0x14]
dec eax
je 0x551acc
dec eax
je 0x551ac0
mov dword [0x746774], ebx
jmp 0x551ad2
mov dword [0x746774], 2
jmp 0x551ad2
mov dword [0x746774], edi
push 0xc
call fcn.006147b3
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov byte [esp + 0x28], 1
je 0x551af2
mov ecx, eax
call fcn.0054ecc0
jmp 0x551af4
xor eax, eax
mov ecx, dword [0x746770]
mov dword [0x746788], eax
push eax
mov byte [esp + 0x2c], bl
mov edx, dword [ecx]
call dword [edx + 0x28]
push 0x30
call fcn.006147b3
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov byte [esp + 0x28], 2
je 0x551b29
mov ecx, eax
call fcn.0057bcf0
jmp 0x551b2b
xor eax, eax
mov ecx, dword [0x746770]
mov dword [0x74678c], eax
push eax
mov byte [esp + 0x2c], bl
mov edx, dword [ecx]
call dword [edx + 0x28]
mov ecx, dword [0x746770]
mov dword [0x746790], ebx
mov dword [0x746730], ebx
mov dword [0x746734], ebx
mov dword [0x746794], ebx
mov eax, dword [ecx]
push edi
push 0x710f00
call dword [eax + 0x18]
cmp eax, ebx
mov dword [0x746780], eax
jne 0x551b95
mov ecx, dword [0x746770]
push ebx
push 0x710f00
push 0x710f00
mov edx, dword [ecx]
call dword [edx + 0x14]
mov dword [0x746780], eax
mov edx, dword [eax]
push edi
mov ecx, eax
call dword [edx + 0x28]
mov ecx, dword [0x746770]
push 0x2783
lea edx, [esp + 0x34]
push esi
mov eax, dword [ecx]
push edx
call dword [eax + 0x94]
push eax
mov ecx, 0x746760
mov byte [esp + 0x2c], 3
call fcn.004911b0
lea ecx, [esp + 0x30]
mov byte [esp + 0x28], bl
call fcn.00490f90
mov ecx, dword [0x746770]
push 0x2784
lea edx, [esp + 0x34]
push esi
mov eax, dword [ecx]
push edx
call dword [eax + 0x94]
push eax
mov ecx, 0x74675c
mov byte [esp + 0x2c], 4
call fcn.004911b0
lea ecx, [esp + 0x30]
mov byte [esp + 0x28], bl
call fcn.00490f90
push 0x10
call fcn.006147b3
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov byte [esp + 0x28], 5
je 0x551c21
mov ecx, eax
call fcn.0057b9c0
jmp 0x551c23
xor eax, eax
mov ecx, dword [0x746770]
mov dword [0x746790], eax
push eax
mov byte [esp + 0x2c], bl
mov edx, dword [ecx]
call dword [edx + 0x24]
mov eax, dword [esi]
push 0x2720
mov ecx, esi
call dword [eax + 0x30]
mov dword [0x746730], eax
mov edx, dword [esi]
push 0x273e
mov ecx, esi
call dword [edx + 0x30]
mov dword [0x746734], eax
mov eax, dword [0x746760]
cmp eax, ebx
mov dword [0x746738], 0xff00
mov ecx, 0x730500
je 0x551c7c
add eax, 0xc
mov dword [0x74673c], eax
jmp 0x551c82
mov dword [0x74673c], ecx
mov eax, dword [0x74675c]
cmp eax, ebx
je 0x551c95
add eax, 0xc
mov dword [0x746740], eax
jmp 0x551c9b
mov dword [0x746740], ecx
mov ecx, dword [0x746780]
mov dword [0x746744], edi
mov dword [0x746748], ebx
push 0x746730
mov eax, dword [ecx]
call dword [eax + 0x44]
mov ecx, dword [0x746790]
mov dword [0x746794], eax
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx + 4]
push 0x6c
call fcn.006147b3
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov byte [esp + 0x28], 6
je 0x551cea
mov ecx, eax
call fcn.00577d00
jmp 0x551cec
xor eax, eax
mov ecx, dword [0x746770]
mov dword [0x746798], eax
push eax
mov byte [esp + 0x2c], bl
mov edx, dword [ecx]
call dword [edx + 0x28]
push 0xb0
call fcn.006147b3
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov byte [esp + 0x28], 7
je 0x551d24
mov ecx, eax
call fcn.005779a0
jmp 0x551d26
xor eax, eax
push ebx
push eax
mov byte [esp + 0x30], bl
call fcn.0054d1e0
push 0xc0
call fcn.006147b3
add esp, 0xc
mov dword [esp + 0x30], eax
cmp eax, ebx
mov byte [esp + 0x28], 8
je 0x551d54
mov ecx, eax
call fcn.00573840
jmp 0x551d56
xor eax, eax
push ebx
push eax
mov byte [esp + 0x30], bl
call fcn.0054d1e0
push 0xb0
call fcn.006147b3
add esp, 0xc
mov dword [esp + 0x30], eax
cmp eax, ebx
mov byte [esp + 0x28], 9
je 0x551d84
mov ecx, eax
call fcn.0055c760
jmp 0x551d86
xor eax, eax
push ebx
push eax
mov byte [esp + 0x30], bl
call fcn.0054d1e0
push 0xc0
call fcn.006147b3
add esp, 0xc
mov dword [esp + 0x30], eax
cmp eax, ebx
mov byte [esp + 0x28], 0xa
je 0x551db4
mov ecx, eax
call fcn.005730b0
jmp 0x551db6
xor eax, eax
push ebx
push eax
mov byte [esp + 0x30], bl
call fcn.0054d1e0
mov eax, dword [esi]
add esp, 8
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [esp + 0x20]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x1c
ret