Function at 0x4aecf4
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff68
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x98], edx
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], edx
xor eax, eax
push ebp
push 0x4af011
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
push eax
push 0x20019
push 0
push 0x4af020
push 0x80000001
call sub.advapi32.dll_RegOpenKeyExA_1
test eax, eax
jne 0x4aefce
mov eax, 0x4bb04c
call fcn.00403c38
mov dword [ebp - 0xc], 0x18
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 8]
push eax
push 0
push 0x4af040
mov eax, dword [ebp - 4]
push eax
call sub.advapi32.dll_RegQueryValueExA_1
test eax, eax
jne 0x4aee0d
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 8]
push eax
push 0
push 0x4af04c
mov eax, dword [ebp - 4]
push eax
call sub.advapi32.dll_RegQueryValueExA_1
test eax, eax
jne 0x4aee0d
mov ebx, 1
lea esi, [ebp - 0x3c]
lea edi, [ebp - 0x54]
mov eax, ebx
and eax, 0x80000001
jns 0x4aedcc
dec eax
or eax, 0xfffffffe
inc eax
dec eax
jne 0x4aede8
lea eax, [ebp - 0x80]
mov dl, byte [esi]
call fcn.00403de0
mov edx, dword [ebp - 0x80]
mov eax, 0x4bb04c
call fcn.00403ec0
jmp 0x4aee05
lea eax, [ebp - 0x84]
mov dl, byte [edi]
call fcn.00403de0
mov edx, dword [ebp - 0x84]
mov eax, 0x4bb04c
call fcn.00403ec0
inc ebx
inc edi
inc esi
cmp ebx, 0x19
jne 0x4aedbe
lea edx, [ebp - 0x88]
mov eax, dword [0x4bb04c]
call fcn.0046fab0
mov edx, dword [ebp - 0x88]
mov eax, 0x4bb04c
call fcn.00403c8c
call fcn.00409a8c
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x20]
call fcn.00409604
mov eax, dword [ebp - 0x1c]
mov dword [0x4bb058], eax
mov eax, dword [0x4bb058]
inc eax
mov dword [0x4bb054], eax
lea eax, [ebp - 0x10]
call fcn.00403c38
lea eax, [ebp - 0x14]
call fcn.00403c38
mov dword [ebp - 0xc], 0x28
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 8]
push eax
push 0
push 0x4af058
mov eax, dword [ebp - 4]
push eax
call sub.advapi32.dll_RegQueryValueExA_1
test eax, eax
jne 0x4aef4b
mov ebx, 1
lea esi, [ebp - 0x7c]
mov eax, ebx
and eax, 0x80000001
jns 0x4aeea5
dec eax
or eax, 0xfffffffe
inc eax
dec eax
jne 0x4aeec5
lea eax, [ebp - 0x8c]
mov dl, byte [esi]
call fcn.00403de0
mov edx, dword [ebp - 0x8c]
lea eax, [ebp - 0x10]
call fcn.00403ec0
jmp 0x4aeee0
lea eax, [ebp - 0x90]
mov dl, byte [esi]
call fcn.00403de0
mov edx, dword [ebp - 0x90]
lea eax, [ebp - 0x14]
call fcn.00403ec0
inc ebx
inc esi
cmp ebx, 0x27
jne 0x4aee97
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.0046fab0
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 0x18]
call fcn.00402c6c
mov dword [0x4bb054], eax
cmp dword [ebp - 0x24], 0
je 0x4aef10
mov eax, dword [ebp - 0x1c]
mov dword [0x4bb054], eax
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 0x14]
call fcn.0046fab0
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 0x18]
call fcn.00402c6c
mov dword [0x4bb058], eax
cmp dword [ebp - 0x24], 0
je 0x4aef3e
mov eax, dword [0x4bb054]
add eax, 0xe
mov dword [0x4bb058], eax
mov al, byte [0x4bb058]
sub al, byte [ebp - 0x1c]
mov byte [0x4b97f0], al
mov dword [ebp - 0xc], 0x18
mov eax, 0x4b97fc
call fcn.00403c38
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 8]
push eax
push 0
push 0x4af064
mov eax, dword [ebp - 4]
push eax
call sub.advapi32.dll_RegQueryValueExA_1
test eax, eax
jne 0x4aefc5
mov ebx, 3
lea esi, [ebp - 0x3c]
lea eax, [ebp - 0x94]
mov dl, byte [esi]
call fcn.00403de0
mov edx, dword [ebp - 0x94]
mov eax, 0x4b97fc
call fcn.00403ec0
inc esi
dec ebx
jne 0x4aef84
lea edx, [ebp - 0x98]
mov eax, dword [0x4b97fc]
call fcn.0040854c
mov edx, dword [ebp - 0x98]
mov eax, 0x4b97fc
call fcn.00403c8c
mov eax, dword [ebp - 4]
push eax
call sub.advapi32.dll_RegCloseKey_1
cmp dword [0x4b97fc], 0
jne 0x4aefe6
mov eax, 0x4b97fc
mov edx, 0x4af074
call fcn.00403c8c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4af018
lea eax, [ebp - 0x98]
mov edx, 7
call fcn.00403c5c
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00403c5c
ret