Function at 0x4cecb0
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x43
push 0
push 0
dec ecx
jne 0x4cecb8
lea eax, [ebp - 0x1e0]
mov edx, dword [0x407f54]
call fcn.00404f30
xor eax, eax
push ebp
push 0x4cf4a0
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4cf2d5
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [0x55b380], eax
xor eax, eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
lea eax, [eax*4 + 0x55b388]
call fcn.00404448
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xa
jne 0x4cecfd
mov dword [0x55b384], 0xffffffff
lea eax, [ebp - 4]
push eax
push 0x20019
push 0
push 0x4cf4ac
push 0x80000002
call sub.advapi32.dll_RegOpenKeyExA_1
test eax, eax
jne 0x4cee0e
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x18]
push eax
push 0
push 0
push 0
mov eax, dword [ebp - 4]
push eax
call sub.advapi32.dll_RegQueryInfoKeyA
test eax, eax
jne 0x4cee0e
mov eax, dword [ebp - 0x18]
dec eax
test eax, eax
jl 0x4cee0e
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 8]
call fcn.00404a94
push 0
push 0
push 0
push 0
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp - 0xc]
call fcn.00404908
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 4]
push eax
call sub.advapi32.dll_RegEnumKeyExA
mov eax, dword [ebp - 0xc]
call fcn.00404908
mov edx, 0x4cf4bc
mov ecx, 4
call fcn.00408ed4
test eax, eax
je 0x4ceded
mov eax, dword [ebp - 0xc]
call fcn.00404908
mov edx, 0x4cf4c4
mov ecx, 4
call fcn.00408ed4
test eax, eax
jne 0x4cee02
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 8]
call fcn.00404a94
push ebp
mov eax, dword [ebp - 0xc]
call fcn.004ce7e8
pop ecx
inc dword [ebp - 0x14]
dec dword [ebp - 0x20]
jne 0x4ced83
cmp dword [0x55b380], 0
jle 0x4cee1e
push ebp
call fcn.004ce9b8
pop ecx
cmp dword [0x55b354], 0
jne 0x4cee86
mov dword [ebp - 8], 0x64
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x85]
push eax
push 0
push 0
push 0x4cf4cc
mov eax, dword [ebp - 4]
push eax
call sub.advapi32.dll_RegQueryValueExA_1
test eax, eax
jne 0x4cee86
lea eax, [ebp - 0x1e8]
lea edx, [ebp - 0x85]
mov ecx, 0x65
call fcn.004046b8
mov eax, dword [ebp - 0x1e8]
lea edx, [ebp - 0x1e4]
call fcn.00408ef4
mov edx, dword [ebp - 0x1e4]
mov eax, 0x55b354
call fcn.0040449c
cmp dword [0x55b354], 0
je 0x4cef14
lea edx, [ebp - 0x1ec]
mov eax, dword [0x55b354]
call fcn.00409b3c
mov edx, dword [ebp - 0x1ec]
mov eax, 0x55b378
call fcn.0040449c
lea eax, [ebp - 0x1f4]
push eax
mov eax, dword [0x55b378]
call fcn.00404708
mov edx, eax
sub edx, 3
mov ecx, 4
mov eax, dword [0x55b378]
call fcn.00404968
mov eax, dword [ebp - 0x1f4]
lea edx, [ebp - 0x1f0]
call fcn.00408da4
mov eax, dword [ebp - 0x1f0]
mov edx, 0x4cf4dc
call fcn.00404854
jne 0x4cef14
mov eax, dword [0x55b378]
call fcn.00404708
mov edx, eax
sub edx, 4
mov eax, 0x55b378
call fcn.00404a94
cmp dword [0x55b354], 0
jne 0x4cf273
cmp dword [0x55b37c], 0
jne 0x4cefd2
cmp dword [0x55b380], 0
jle 0x4cef59
cmp dword [0x55b384], 0xffffffff
je 0x4cef59
mov eax, 0x55b378
mov edx, dword [0x55b384]
mov edx, dword [edx*4 + 0x55b388]
call fcn.0040449c
jmp 0x4cef63
mov eax, 0x55b378
call fcn.00404448
cmp dword [0x55b378], 0
jne 0x4cefb4
mov dword [ebp - 8], 0x64
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x85]
push eax
push 0
push 0
push 0x4cf4e4
mov eax, dword [ebp - 4]
push eax
call sub.advapi32.dll_RegQueryValueExA_1
test eax, eax
jne 0x4cefb4
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x86], 0
mov eax, 0x55b378
lea edx, [ebp - 0x85]
mov ecx, 0x65
call fcn.004046b8
cmp dword [0x55b378], 0
jne 0x4cf04e
mov eax, 0x55b354
mov edx, 0x4cf4f8
call fcn.0040449c
jmp 0x4cf04e
mov eax, dword [0x55b380]
dec eax
test eax, eax
jl 0x4cf029
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], 0
mov eax, dword [0x55b37c]
call fcn.00404908
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax*4 + 0x55b3d8]
call fcn.00404908
pop edx
call fcn.00408e94
test eax, eax
jne 0x4cf021
mov eax, 0x55b378
mov edx, dword [ebp - 0x14]
mov edx, dword [edx*4 + 0x55b388]
call fcn.0040449c
jmp 0x4cf029
inc dword [ebp - 0x14]
dec dword [ebp - 0x20]
jne 0x4cefe7
cmp dword [0x55b378], 0
jne 0x4cf04e
mov eax, 0x55b354
mov ecx, dword [0x55b37c]
mov edx, 0x4cf508
call fcn.00404754
push ebp
call fcn.004cec18
pop ecx
cmp dword [0x55b378], 0
je 0x4cf273
lea eax, [ebp - 0x10]
call fcn.00404448
mov eax, dword [0x55b378]
call fcn.00404708
mov edx, dword [0x55b378]
cmp byte [edx + eax - 1], 0x5c
jne 0x4cf091
mov eax, dword [0x55b378]
call fcn.00404708
mov edx, eax
dec edx
mov eax, 0x55b378
call fcn.00404a94
push dword [0x55b378]
push 0x4cf514
push 0x4cf4f8
lea eax, [ebp - 0x1f8]
mov edx, 3
call fcn.004047c8
mov eax, dword [ebp - 0x1f8]
lea ecx, [ebp - 0x1e0]
mov edx, 0x3f
call fcn.0040994c
test eax, eax
jne 0x4cf0fa
push dword [0x55b378]
push 0x4cf514
push 0x4cf4f8
mov eax, 0x55b354
mov edx, 3
call fcn.004047c8
lea eax, [ebp - 0x1e0]
call fcn.004099c0
jmp 0x4cf22a
push dword [0x55b378]
push 0x4cf524
push 0x4cf4f8
lea eax, [ebp - 0x1fc]
mov edx, 3
call fcn.004047c8
mov eax, dword [ebp - 0x1fc]
lea ecx, [ebp - 0x1e0]
mov edx, 0x3f
call fcn.0040994c
test eax, eax
jne 0x4cf163
push dword [0x55b378]
push 0x4cf524
push 0x4cf4f8
mov eax, 0x55b354
mov edx, 3
call fcn.004047c8
lea eax, [ebp - 0x1e0]
call fcn.004099c0
jmp 0x4cf22a
push dword [0x55b378]
push 0x4cf514
push 0x4cf530
lea eax, [ebp - 0x200]
mov edx, 3
call fcn.004047c8
mov eax, dword [ebp - 0x200]
lea ecx, [ebp - 0x1e0]
mov edx, 0x3f
call fcn.0040994c
test eax, eax
jne 0x4cf22a
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 0x204]
xor edx, edx
mov eax, dword [ebp - 0x1d4]
call fcn.00409a74
mov eax, dword [ebp - 0x204]
mov ecx, 6
mov edx, 4
call fcn.00404968
mov eax, dword [ebp - 0xc]
mov al, byte [eax]
add al, 0xd0
sub al, 0xa
jae 0x4cf210
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
call fcn.00404854
jbe 0x4cf210
push dword [0x55b378]
push 0x4cf514
push dword [ebp - 0x1d4]
mov eax, 0x55b354
mov edx, 3
call fcn.004047c8
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0xc]
call fcn.004044e0
lea eax, [ebp - 0x1e0]
call fcn.0040999c
test eax, eax
je 0x4cf1a1
lea eax, [ebp - 0x1e0]
call fcn.004099c0
cmp dword [0x55b354], 0
jne 0x4cf273
cmp dword [0x55b37c], 0
jne 0x4cf24d
mov eax, 0x55b354
mov edx, 0x4cf4f8
call fcn.0040449c
jmp 0x4cf273
push dword [0x55b378]
push 0x4cf514
push 0x4cf544
mov eax, 0x55b354
mov edx, 3
call fcn.004047c8
push ebp
call fcn.004cec18
pop ecx
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x85]
push eax
push 0
push 0
push 0x4cf548
mov eax, dword [ebp - 4]
push eax
call sub.advapi32.dll_RegQueryValueExA_1
test eax, eax
jne 0x4cf2ad
mov edx, 0x4cf550
lea eax, [ebp - 0x85]
mov ecx, 3
call fcn.00409e00
test eax, eax
je 0x4cf2b1
xor eax, eax
jmp 0x4cf2b3
mov al, 1
mov byte [0x55b374], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4cf2dc
cmp dword [ebp - 4], 0
je 0x4cf2d4
mov eax, dword [ebp - 4]
push eax
call sub.advapi32.dll_RegCloseKey_1
ret