Function at 0x4a3270
Capabilities:
Query or enumerate registry value

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5ded93
push eax
mov dword fs:[0], esp
sub esp, 0x84
lea eax, [esp + 0x18]
push esi
xor esi, esi
push eax
push 1
push esi
push 0x663718
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4a36b1
lea ecx, [esp + 0x20]
lea edx, [esp + 0x24]
push ecx
push edx
push eax
push eax
mov eax, dword [esp + 0x2c]
push 0x652a5c
push eax
mov dword [esp + 0x38], 0x64
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x4a3689
lea ecx, [esp + 0x24]
push ebx
push ecx
lea ecx, [esp + 0xc]
call fcn.0059d86b
mov eax, dword [0x677e28]
mov dword [esp + 0x94], esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], eax
mov ebx, 4
push 0x2e
lea ecx, [esp + 0xc]
mov byte [esp + 0x98], bl
call fcn.0059dd1e
lea edx, [esp + 0xc]
push eax
push edx
lea ecx, [esp + 0x10]
call fcn.00595cff
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x98], 5
call fcn.0059d936
lea ecx, [esp + 0xc]
mov byte [esp + 0x94], bl
call fcn.0059d7fd
push 0x2e
lea ecx, [esp + 0xc]
call fcn.0059dd1e
inc eax
lea ecx, [esp + 8]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00595bca
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x98], 6
call fcn.0059d936
lea ecx, [esp + 0xc]
mov byte [esp + 0x94], bl
call fcn.0059d7fd
push 0x2e
lea ecx, [esp + 0xc]
call fcn.0059dd1e
lea ecx, [esp + 0xc]
push eax
push ecx
lea ecx, [esp + 0x10]
call fcn.00595cff
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x98], 7
call fcn.0059d936
lea ecx, [esp + 0xc]
mov byte [esp + 0x94], bl
call fcn.0059d7fd
push 0x2e
lea ecx, [esp + 0xc]
call fcn.0059dd1e
inc eax
lea edx, [esp + 0xc]
push eax
push edx
lea ecx, [esp + 0x10]
call fcn.00595bca
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x98], 8
call fcn.0059d936
lea ecx, [esp + 0xc]
mov byte [esp + 0x94], bl
call fcn.0059d7fd
push 0x2e
lea ecx, [esp + 0xc]
call fcn.0059dd1e
cmp eax, 0xffffffff
jne 0x4a348e
push 0x2e
lea ecx, [esp + 0xc]
call fcn.0059dd1e
push eax
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x10]
call fcn.00595cff
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x98], 9
call fcn.0059d936
lea ecx, [esp + 0xc]
mov byte [esp + 0x94], bl
call fcn.0059d7fd
push 0x2e
lea ecx, [esp + 0xc]
call fcn.0059dd1e
inc eax
lea ecx, [esp + 0xc]
push eax
push ecx
lea ecx, [esp + 0x10]
call fcn.00595bca
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x98], 0xa
call fcn.0059d936
lea ecx, [esp + 0xc]
mov byte [esp + 0x94], bl
call fcn.0059d7fd
jmp 0x4a349c
lea edx, [esp + 8]
lea ecx, [esp + 0x10]
push edx
call fcn.0059d936
mov eax, dword [esp + 0x14]
push eax
call fcn.0055b6e2
add esp, 4
cmp eax, ebx
jne 0x4a3500
mov ecx, dword [esp + 0x18]
mov esi, 3
push ecx
call fcn.0055b6e2
add esp, 4
sub eax, 0x47
je 0x4a34fe
dec eax
jne 0x4a3500
mov edx, dword [esp + 0x10]
push edx
call fcn.0055b6e2
add esp, 4
cmp eax, 0x83a
je 0x4a34f7
cmp eax, 0xc26
je 0x4a34f0
cmp eax, 0xe1c
jne 0x4a3500
mov esi, 7
jmp 0x4a3500
mov esi, 6
jmp 0x4a3500
mov esi, 5
jmp 0x4a3500
mov esi, ebx
mov eax, dword [esp + 0x14]
push eax
call fcn.0055b6e2
add esp, 4
cmp eax, 5
pop ebx
jne 0x4a35b6
mov ecx, dword [esp + 0x14]
mov esi, 8
push ecx
call fcn.0055b6e2
add esp, 4
test eax, eax
je 0x4a3563
cmp eax, 0x32
jne 0x4a35b6
mov edx, dword [esp + 0xc]
push edx
call fcn.0055b6e2
add esp, 4
cmp eax, 0x11aa
je 0x4a355c
sub eax, 0x12c7
neg eax
sbb eax, eax
and al, 0xfe
add eax, 0xf
mov esi, eax
jmp 0x4a35b6
mov esi, 0xe
jmp 0x4a35b6
mov eax, dword [esp + 0xc]
push eax
call fcn.0055b6e2
add esp, 4
cmp eax, 0xc21
jg 0x4a359e
je 0x4a3597
cmp eax, 0xb67
jl 0x4a35b1
cmp eax, 0xb68
jle 0x4a3590
cmp eax, 0xc1f
je 0x4a3597
jmp 0x4a35b1
mov esi, 0xa
jmp 0x4a35b6
mov esi, 0xb
jmp 0x4a35b6
cmp eax, 0xcf2
jl 0x4a35b1
cmp eax, 0xcf3
mov esi, 0xc
jle 0x4a35b6
mov esi, 9
mov ecx, dword [esp + 0x10]
push ecx
call fcn.0055b6e2
add esp, 4
cmp eax, 6
jne 0x4a35f7
mov edx, dword [esp + 0x14]
mov esi, 0x10
push edx
call fcn.0055b6e2
add esp, 4
test eax, eax
jne 0x4a35f7
mov eax, dword [esp + 0xc]
push eax
call fcn.0055b6e2
add esp, 4
cmp eax, 0xa28
jne 0x4a35f7
mov esi, 0x11
mov ecx, dword [esp + 0x10]
push ecx
call fcn.0055b6e2
add esp, 4
cmp eax, 6
jle 0x4a360e
mov esi, 0x12
lea ecx, [esp + 0x18]
mov byte [esp + 0x90], 3
call fcn.0059d7fd
lea ecx, [esp + 0xc]
mov byte [esp + 0x90], 2
call fcn.0059d7fd
lea ecx, [esp + 0x14]
mov byte [esp + 0x90], 1
call fcn.0059d7fd
lea ecx, [esp + 0x10]
mov byte [esp + 0x90], 0
call fcn.0059d7fd
lea ecx, [esp + 4]
mov dword [esp + 0x90], 0xffffffff
call fcn.0059d7fd
mov edx, dword [esp + 0x1c]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
pop esi
mov ecx, dword [esp + 0x84]
mov dword fs:[0], ecx
add esp, 0x90
ret
mov edx, dword [esp + 0x1c]
mov esi, 2
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
pop esi
mov ecx, dword [esp + 0x84]
mov dword fs:[0], ecx
add esp, 0x90
ret
mov ecx, dword [esp + 0x88]
mov eax, 1
pop esi
mov dword fs:[0], ecx
add esp, 0x90
ret