Function at 0x4c2340
Capabilities:
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f1087
mov eax, dword fs:[0]
push eax
sub esp, 0x33c
mov eax, dword [0x5392a4]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov byte [ebp - 0xd], 0
lea ecx, [ebp - 0x2a9]
call fcn.0040b800
push eax
lea ecx, [ebp - 0x34]
call fcn.004148f0
mov dword [ebp - 4], 0
lea eax, [ebp - 0x34]
push eax
call fcn.00486ac0
add esp, 4
movzx ecx, al
test ecx, ecx
je 0x4c2503
lea ecx, [ebp - 0x60]
call fcn.00419540
mov byte [ebp - 4], 1
mov dword [ebp - 0x64], 0
lea ecx, [ebp - 0x2aa]
call fcn.0040b800
push eax
push str.SoftwareMicrosoftInternet_ExplorerInternetRegistryREGISTRYUSER_
lea ecx, [ebp - 0x58]
call fcn.00414c40
mov byte [ebp - 4], 2
lea edx, [ebp - 0x34]
test edx, edx
je 0x4c23e6
lea eax, [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x330], eax
jmp 0x4c23f0
mov dword [ebp - 0x330], 0
mov ecx, dword [ebp - 0x330]
push ecx
lea ecx, [ebp - 0x54]
call fcn.00404ea0
push str.Software
lea ecx, [ebp - 0x54]
call fcn.00410d00
push 0xf003f
lea ecx, [ebp - 0x54]
call fcn.00413e50
push eax
push SysReAllocStringLen
lea ecx, [ebp - 0x60]
call fcn.00419460
test eax, eax
jne 0x4c24eb
mov dword [ebp - 0x284], 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea edx, [ebp - 0x284]
push edx
push 0
push 0
push 0
lea ecx, [ebp - 0x60]
call fcn.0040ae10
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x288], 0
jmp 0x4c2484
mov eax, dword [ebp - 0x288]
add eax, 1
mov dword [ebp - 0x288], eax
mov ecx, dword [ebp - 0x288]
cmp ecx, dword [ebp - 0x284]
jae 0x4c24eb
mov dword [ebp - 0x38], 0x104
lea edx, [ebp - 0x280]
push edx
push 0
push 0
push 0
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x274]
push ecx
mov edx, dword [ebp - 0x288]
push edx
lea ecx, [ebp - 0x60]
call fcn.0040ae10
push eax
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x4c24e9
push str.TBSB00001
lea eax, [ebp - 0x274]
push eax
call fcn.00413d10
add esp, 8
test eax, eax
je 0x4c24e9
mov byte [ebp - 0xd], 1
jmp 0x4c24eb
jmp 0x4c2475
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x58]
call fcn.00414a10
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x60]
call fcn.00419520
movzx ecx, byte [ebp - 0xd]
test ecx, ecx
jne 0x4c26d8
lea ecx, [ebp - 0x2ab]
call fcn.0040b800
push eax
lea ecx, [ebp - 0x2a8]
call fcn.004148f0
mov byte [ebp - 4], 3
push 0
lea edx, [ebp - 0x2a8]
push edx
call fcn.0047b230
add esp, 8
movzx eax, al
test eax, eax
je 0x4c25f6
lea ecx, [ebp - 0x2a8]
test ecx, ecx
je 0x4c2561
lea edx, [ebp - 0x2a8]
add edx, 4
mov dword [ebp - 0x334], edx
jmp 0x4c256b
mov dword [ebp - 0x334], 0
push 0x5111a8
mov eax, dword [ebp - 0x334]
push eax
lea ecx, [ebp - 0x2e8]
push ecx
call fcn.00407a80
add esp, 0xc
mov dword [ebp - 0x338], eax
mov edx, dword [ebp - 0x338]
mov dword [ebp - 0x33c], edx
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x33c]
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00417720
mov byte [ebp - 4], 5
push 0
lea ecx, [ebp - 0x2cc]
push ecx
call fcn.0048ded0
add esp, 8
mov byte [ebp - 0x2ac], al
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2cc]
call fcn.00414a10
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2e8]
call fcn.00414bf0
movzx edx, byte [ebp - 0x2ac]
test edx, edx
je 0x4c25f6
mov byte [ebp - 0xd], 1
movzx eax, byte [ebp - 0xd]
test eax, eax
jne 0x4c26c9
lea ecx, [ebp - 0x2a8]
push ecx
call fcn.0047b6f0
add esp, 4
test eax, eax
je 0x4c26c9
lea edx, [ebp - 0x2a8]
test edx, edx
je 0x4c2634
lea eax, [ebp - 0x2a8]
add eax, 4
mov dword [ebp - 0x340], eax
jmp 0x4c263e
mov dword [ebp - 0x340], 0
push str.extensions19BED1B4_FA23_440B_99DA_A530D0D8FE06
mov ecx, dword [ebp - 0x340]
push ecx
lea edx, [ebp - 0x328]
push edx
call fcn.00407a80
add esp, 0xc
mov dword [ebp - 0x344], eax
mov eax, dword [ebp - 0x344]
mov dword [ebp - 0x348], eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x348]
push ecx
lea ecx, [ebp - 0x30c]
call fcn.00417720
mov byte [ebp - 4], 7
push 0
lea edx, [ebp - 0x30c]
push edx
call fcn.0048ded0
add esp, 8
mov byte [ebp - 0x2e9], al
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x30c]
call fcn.00414a10
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x328]
call fcn.00414bf0
movzx eax, byte [ebp - 0x2e9]
test eax, eax
je 0x4c26c9
mov byte [ebp - 0xd], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2a8]
call fcn.00414a10
mov cl, byte [ebp - 0xd]
mov byte [ebp - 0x329], cl
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34]
call fcn.00414a10
mov al, byte [ebp - 0x329]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004489b2
mov esp, ebp
pop ebp
ret