Function at 0x472960
Capabilities:
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x528540
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x56c
mov dword [ebp - 0x534], ecx
mov dword [ebp - 4], 1
mov dword [ebp - 0x424], 0
mov dword [ebp - 0x41c], 0x104
mov eax, dword [ebp + 8]
mov dword [ebp - 0x14], eax
lea ecx, [ebp + 0x2c]
call fcn.00419640
mov dword [ebp - 0x418], eax
lea ecx, [ebp - 0x10]
call fcn.0044e4a0
mov byte [ebp - 4], 2
lea ecx, [ebp + 0xc]
call fcn.00419640
push eax
push 0x538714
lea ecx, [ebp - 0x10]
push ecx
call fcn.004030e0
add esp, 0xc
lea edx, [ebp + 8]
push edx
push 0x20019
push 0
lea ecx, [ebp - 0x10]
call fcn.00459cf0
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x472dbc
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x424]
push ecx
push 0
lea edx, [ebp - 0x41c]
push edx
lea eax, [ebp - 0x414]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
test eax, eax
jne 0x472dbc
mov edx, dword [ebp + 0x4c]
add edx, dword [ebp - 0x424]
mov dword [ebp + 0x4c], edx
mov dword [ebp - 0x428], 0
jmp 0x472a5d
mov eax, dword [ebp - 0x428]
add eax, 1
mov dword [ebp - 0x428], eax
mov ecx, dword [ebp - 0x428]
cmp ecx, dword [ebp - 0x424]
jae 0x472dbc
mov dword [ebp - 0x420], 0xff
push 0
push 0
push 0
push 0
lea edx, [ebp - 0x420]
push edx
lea eax, [ebp - 0x214]
push eax
mov ecx, dword [ebp - 0x428]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x472db7
lea ecx, [ebp - 0x44c]
call fcn.0044e4a0
mov byte [ebp - 4], 3
lea eax, [ebp - 0x214]
push eax
lea ecx, [ebp - 0x44c]
call fcn.0041f070
lea ecx, [ebp - 0x448]
call fcn.00419530
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x44c]
call fcn.00459cf0
push eax
lea ecx, [ebp - 0x4d0]
call fcn.0041f550
mov dword [ebp - 0x538], eax
mov ecx, dword [ebp - 0x538]
mov dword [ebp - 0x53c], ecx
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x53c]
call fcn.00459cf0
push eax
lea ecx, [ebp - 0x448]
call fcn.00419590
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4d0]
call fcn.0041f590
push 0x544028
push 1
push 0
lea edx, [ebp - 0x4d8]
push edx
lea ecx, [ebp - 0x44c]
call fcn.0041ed70
mov dword [ebp - 0x540], eax
mov eax, dword [ebp - 0x540]
mov dword [ebp - 0x544], eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x544]
push ecx
call fcn.0041ef70
add esp, 8
mov byte [ebp - 0x4d1], al
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4d8]
call fcn.00401640
movzx edx, byte [ebp - 0x4d1]
test edx, edx
je 0x472c76
push 0
lea ecx, [ebp - 0x44c]
call fcn.0041f690
push eax
push 1
lea eax, [ebp - 0x4e0]
push eax
lea ecx, [ebp - 0x44c]
call fcn.0041ed70
mov dword [ebp - 0x548], eax
mov ecx, dword [ebp - 0x548]
mov dword [ebp - 0x54c], ecx
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x54c]
call fcn.00459cf0
push eax
mov ecx, dword [ebp - 0x534]
add ecx, 4
call fcn.0041ec90
xor edx, edx
cmp eax, 0xffffffff
sete dl
mov byte [ebp - 0x4d9], dl
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4e0]
call fcn.00401640
movzx eax, byte [ebp - 0x4d9]
test eax, eax
je 0x472c76
lea ecx, [ebp - 0x44c]
call fcn.0041f690
push eax
push 1
lea ecx, [ebp - 0x4e4]
push ecx
lea ecx, [ebp - 0x44c]
call fcn.0041ed70
mov dword [ebp - 0x550], eax
mov edx, dword [ebp - 0x550]
mov dword [ebp - 0x554], edx
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x554]
push eax
mov ecx, dword [ebp - 0x534]
add ecx, 4
call fcn.00413ae0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4e4]
call fcn.00401640
push 0x53d064
mov ecx, dword [ebp - 0x534]
add ecx, 4
call fcn.0041f070
lea ecx, [ebp + 0xc]
call fcn.0041f230
movzx ecx, al
test ecx, ecx
jne 0x472d1a
lea edx, [ebp - 0x448]
push edx
push 0x53d7a4
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 0x504]
push ecx
call fcn.00461c00
add esp, 0xc
mov dword [ebp - 0x558], eax
mov edx, dword [ebp - 0x558]
mov dword [ebp - 0x55c], edx
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x55c]
push eax
lea ecx, [ebp - 0x524]
push ecx
call fcn.00461b80
add esp, 0xc
mov dword [ebp - 0x560], eax
mov edx, dword [ebp - 0x560]
mov dword [ebp - 0x564], edx
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x564]
push eax
lea ecx, [ebp - 0x448]
call fcn.00417ca0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x524]
call fcn.00401ef0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x504]
call fcn.00401ef0
push 0
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x528], esp
push str.nothing
call fcn.004025c0
mov dword [ebp - 0x568], eax
mov ecx, dword [ebp - 0x568]
mov dword [ebp - 0x56c], ecx
mov byte [ebp - 4], 0xb
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x52c], esp
lea edx, [ebp - 0x448]
push edx
call fcn.00401e80
mov dword [ebp - 0x570], eax
mov eax, dword [ebp - 0x570]
mov dword [ebp - 0x574], eax
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x14]
push ecx
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x534]
call fcn.00473b30
mov dword [ebp - 0x578], eax
mov edx, dword [ebp + 0x4c]
add edx, dword [ebp - 0x578]
mov dword [ebp + 0x4c], edx
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x448]
call fcn.00401ef0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x44c]
call fcn.00401640
jmp 0x472a4e
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp + 0x4c]
mov dword [ebp - 0x530], ecx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x10]
call fcn.00401640
mov byte [ebp - 4], 0
lea ecx, [ebp + 0xc]
call fcn.00401ef0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x2c]
call fcn.00401ef0
mov eax, dword [ebp - 0x530]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x48