Function at 0x4c07f0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x6ffd5d
push eax
mov dword fs:[0], esp
sub esp, 0x28
cmp byte [0x7ef5f8], 0
jne 0x4c0846
mov eax, dword [ebp + 8]
mov dword [eax], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov dword [eax + 0x10], 0
mov byte [eax], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov eax, dword fs:[0x2c]
mov ecx, dword [0xf2db10]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x800f60]
cmp eax, dword [ecx + 0x5ac]
jg 0x4c0b47
cmp dword [0x7ef620], 0
push esi
jne 0x4c08d9
mov edx, dword [str.Unknown]
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c0880
sub ecx, esi
push ecx
push edx
mov ecx, 0x7ef610
call fcn.00473620
lea eax, [ebp - 0x10]
push eax
push 1
push 0
push str.HARDWAREDESCRIPTIONSystemBIOS
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4c08d9
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
push 0
push 0
push 0
push str.BaseBoardManufacturer
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x4c08f8
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp + 8]
push 0x7ef610
call fcn.00470690
mov eax, dword [ebp + 8]
pop esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push ebx
push edi
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0xf
mov byte [ebp - 0x34], 0
cmp edi, 0xf
ja 0x4c0934
push edi
lea eax, [ebp - 0x34]
mov dword [ebp - 0x24], edi
push 0
push eax
call fcn.006c2360
mov byte [ebp + edi - 0x34], 0
mov ebx, dword [ebp - 0x34]
jmp 0x4c0982
cmp edi, 0x7fffffff
ja 0x4c0b7d
mov esi, edi
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x4c0954
mov esi, bind
jmp 0x4c095e
mov eax, 0x16
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x34]
call fcn.00473560
push edi
mov ebx, eax
mov dword [ebp - 0x24], edi
push 0
push ebx
mov dword [ebp - 0x20], esi
call fcn.006c2360
mov byte [ebx + edi], 0
mov dword [ebp - 0x34], ebx
add esp, 0xc
cmp dword [ebp - 0x20], 0x10
lea ecx, [ebp - 0x14]
push ecx
lea eax, [ebp - 0x34]
mov dword [ebp - 4], 0
cmovae eax, ebx
push eax
push 0
push 0
push str.BaseBoardManufacturer
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x4c0a10
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esi, dword [ebp + 8]
mov ecx, esi
push 0x7ef610
call fcn.00470690
mov edx, dword [ebp - 0x20]
cmp edx, 0x10
jb 0x4c09fd
mov ecx, dword [ebp - 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4c09f3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c0b42
push edx
push ecx
call fcn.004e7fa0
add esp, 8
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop ebx
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x20], 0x10
lea eax, [ebp - 0x34]
mov edi, dword [ebp - 0x24]
cmovae eax, dword [ebp - 0x34]
mov ebx, dword [0x7ef624]
mov dword [ebp - 0x18], eax
cmp edi, ebx
ja 0x4c0a54
cmp ebx, 0x10
mov dword [0x7ef620], edi
push edi
mov esi, 0x7ef610
cmovae esi, dword [0x7ef610]
push eax
push esi
call fcn.006c1de0
add esp, 0xc
mov byte [edi + esi], 0
jmp 0x4c0af8
cmp edi, 0x7fffffff
ja 0x4c0b82
mov esi, edi
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x4c0a74
mov esi, bind
jmp 0x4c0a92
mov ecx, ebx
mov eax, bind
shr ecx, 1
sub eax, ecx
cmp ebx, eax
jbe 0x4c0a8a
mov esi, bind
jmp 0x4c0a92
lea eax, [ebx + ecx]
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
mov ecx, 0x7ef610
push eax
call fcn.00473560
push edi
push dword [ebp - 0x18]
mov dword [0x7ef624], esi
mov esi, eax
push esi
mov dword [ebp - 0x1c], eax
mov dword [0x7ef620], edi
call fcn.006c1de0
add esp, 0xc
mov byte [edi + esi], 0
cmp ebx, 0x10
jb 0x4c0af2
mov ecx, dword [0x7ef610]
inc ebx
mov eax, ecx
cmp ebx, 0x1000
jb 0x4c0ae8
mov ecx, dword [ecx - 4]
add ebx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c0b42
push ebx
push ecx
call fcn.004e7fa0
add esp, 8
mov dword [0x7ef610], esi
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esi, dword [ebp + 8]
mov ecx, esi
push 0x7ef610
call fcn.00470690
mov edx, dword [ebp - 0x20]
cmp edx, 0x10
jb 0x4c09fd
mov ecx, dword [ebp - 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4c09f3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4c09f3
call fcn.006cc674
push 0x800f60
call fcn.006bff11
add esp, 4
cmp dword [0x800f60], 0xffffffff
jne 0x4c0866
push 0x70c670
call fcn.006bfd6d
push 0x800f60
call fcn.006bfec7
add esp, 8
jmp 0x4c0866
call fcn.004733c0
call fcn.004733c0
int3