Function at 0x4271ae
Capabilities:
Query or enumerate registry value

Disassembly:
mov eax, 0x460e77
call fcn.0042c2e0
sub esp, 0x20
push ebx
push esi
push edi
mov edi, ecx
xor ebx, ebx
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], ebx
call fcn.0043c566
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], 1
call fcn.0043c566
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.0043c566
mov esi, dword [edi + 0x24]
mov byte [ebp - 4], 3
imul esi, esi, 0x5c
add esi, dword [edi + 0x14]
mov eax, dword [esi + 0x50]
test al, 2
jne 0x427217
mov ecx, dword [ebp + 8]
add esi, 0x44
push esi
call fcn.0043c576
mov dword [ebp - 0x24], 1
jmp 0x4273bd
shl eax, 0x1f
sar eax, 0x1f
test al, al
je 0x427228
mov ecx, edi
call fcn.00427557
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], ebx
push eax
mov ecx, esi
push dword [esi + 0x18]
call fcn.0042697e
cmp eax, ebx
mov dword [ebp - 0x18], eax
jl 0x42727b
mov eax, dword [esi + 0x18]
lea edi, [esi + 0x48]
push edi
mov dword [edi], eax
mov eax, dword [esi + 0x40]
push dword [ebp - 0x1c]
cmp dword [eax - 8], ebx
jne 0x42725c
lea eax, [esi + 0x4c]
push eax
push ebx
push ebx
jmp 0x427262
lea ecx, [esi + 0x4c]
push ecx
push ebx
push eax
push dword [esi + 0x30]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
cmp eax, 2
mov dword [ebp - 0x18], eax
jne 0x427278
mov dword [edi], ebx
mov dword [ebp - 0x18], ebx
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x18]
cmp ecx, ebx
je 0x427328
lea eax, [ecx - 1]
cmp eax, 7
ja case.default.0x42728e
jmp dword [eax*4 + 0x4273f4]
push 0x6014
jmp 0x4272cb
push 0x6015
jmp 0x4272cb
push 0x6016
jmp 0x4272cb
push 0x6017
jmp 0x4272cb
push 0x6018
jmp 0x4272cb
push 0x6019
jmp 0x4272cb
push 0x601a
jmp 0x4272cb
push 0x601b
lea ecx, [ebp - 0x14]
call fcn.0043cc5a
jmp 0x427301
push ebx
lea eax, [ebp - 0x2c]
push ebx
push eax
push 0x400
push ecx
push ebx
push 0x1100
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x14]
call fcn.0043c7f9
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_LocalFree]
push dword [ebp - 0x18]
lea eax, [ebp - 0x20]
push dword [edi + 4]
push eax
call fcn.0043ac69
add esp, 0xc
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x20]
push eax
call fcn.0043ca89
lea eax, [ebp - 0x20]
push eax
jmp 0x4273ae
and dword [esi + 0x50], 0xfffffffd
cmp dword [esi + 0x48], ebx
jbe 0x427397
mov eax, dword [esi + 0x4c]
cmp eax, 8
ja case.0x427339.5
jmp dword [eax*4 + 0x427414]
push 0x201a
jmp 0x42738d
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
push eax
push eax
push dword [edi + 8]
lea eax, [ebp - 0x10]
push eax
call fcn.0043ac69
add esp, 0x10
jmp 0x42739f
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x10]
call fcn.0043c7f9
jmp 0x42739f
push 0x201b
jmp 0x42738d
push 0x201c
jmp 0x42738d
push 0x201d
jmp 0x42738d
push 0x201e
jmp 0x42738d
push 0x201f
lea ecx, [ebp - 0x10]
call fcn.0043cc5a
jmp 0x42739f
lea ecx, [ebp - 0x10]
call fcn.0043c63c
add esi, 0x44
lea eax, [ebp - 0x10]
push eax
mov ecx, esi
call fcn.0043c7aa
push esi
mov ecx, dword [ebp + 8]
call fcn.0043c576
mov dword [ebp - 0x24], 1
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.0043c6b1
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 1
call fcn.0043c6b1
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], bl
call fcn.0043c6b1
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 4