Function at 0x481bb8
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffcc
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 4], eax
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], eax
xor eax, eax
push ebp
push 0x481e2d
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0x1e], 0
mov eax, dword [0x48b42c]
cmp dword [eax], 1
jne 0x481bfb
mov eax, dword [0x48b11c]
cmp dword [eax], 5
jl 0x481bff
xor eax, eax
jmp 0x481c01
mov al, 1
mov byte [ebp - 0x1d], al
mov dl, 1
mov eax, dword [0x412af4]
call fcn.0040399c
mov dword [ebp - 0x18], eax
mov ecx, 0x20019
mov dl, 1
mov eax, dword [0x41f130]
call fcn.0041f244
mov dword [ebp - 0x14], eax
xor eax, eax
push ebp
push 0x481dfa
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x80000002
mov eax, dword [ebp - 0x14]
call fcn.0041f2dc
xor ecx, ecx
mov edx, 0x481e48
mov eax, dword [ebp - 0x14]
call fcn.0041f340
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
call fcn.0041f684
mov eax, dword [ebp - 0x14]
call fcn.0041f2ac
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x481cd3
inc ebx
xor esi, esi
lea ecx, [ebp - 8]
mov edx, esi
mov eax, dword [ebp - 0x18]
mov edi, dword [eax]
call dword [edi + 0xc]
lea eax, [ebp - 4]
mov ecx, dword [ebp - 8]
mov edx, 0x481e84
call fcn.00404b08
xor ecx, ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
call fcn.0041f340
lea ecx, [ebp - 0x10]
mov edx, 0x481ec0
mov eax, dword [ebp - 0x14]
call fcn.0041f88c
mov eax, dword [ebp - 0x14]
call fcn.0041f2ac
mov edx, dword [ebp - 0x10]
mov eax, 0x481ed4
call fcn.0040859c
test al, al
je 0x481ccf
mov byte [ebp - 0x1e], 1
jmp 0x481cd3
inc esi
dec ebx
jne 0x481c76
cmp byte [ebp - 0x1e], 0
je 0x481ddc
mov edx, 0x80000001
mov eax, dword [ebp - 0x14]
call fcn.0041f2dc
xor ecx, ecx
mov edx, 0x481eec
mov eax, dword [ebp - 0x14]
call fcn.0041f340
cmp byte [ebp - 0x1d], 0
je 0x481d0c
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
call fcn.0041f684
jmp 0x481d17
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
call fcn.0041f74c
mov byte [ebp - 0x1e], 0
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x481dd4
inc ebx
xor esi, esi
cmp byte [ebp - 0x1d], 0
je 0x481d9c
lea ecx, [ebp - 0x30]
mov edx, esi
mov eax, dword [ebp - 0x18]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 4]
mov edx, 0x481f0c
call fcn.00404b08
xor ecx, ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
call fcn.0041f340
mov dword [ebp - 0x1c], 0xa
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x29]
push eax
push 0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 4]
push eax
call sub.advapi32.dll_RegQueryValueA
test eax, eax
jne 0x481d92
lea eax, [ebp - 0xc]
lea edx, [ebp - 0x29]
mov ecx, 0xb
call fcn.00404a68
mov eax, dword [ebp - 0x14]
call fcn.0041f2ac
jmp 0x481db7
lea ecx, [ebp - 0x34]
mov edx, esi
mov eax, dword [ebp - 0x18]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x34]
lea ecx, [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call fcn.0041f88c
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
call fcn.0040859c
test al, al
je 0x481dcc
mov byte [ebp - 0x1e], 1
jmp 0x481dd4
inc esi
dec ebx
jne 0x481d31
mov eax, dword [ebp - 0x14]
call fcn.0041f2ac
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x481e01
mov eax, dword [ebp - 0x14]
call fcn.004039cc
mov eax, dword [ebp - 0x18]
call fcn.004039cc
ret