Function at 0x4d1dc0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x732ddd
push eax
mov dword fs:[0], esp
sub esp, 0x28
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1551db0]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x8f337c]
cmp eax, dword [ecx + 0x78c]
jg 0x4d20d7
cmp dword [0x834fd0], 0
push esi
jne 0x4d1e69
mov edx, dword [0x834fa4]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d1e10
sub ecx, esi
push ecx
push edx
mov ecx, 0x834fc0
call fcn.0047e790
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 0x4d1e69
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 0x4d1e88
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp + 8]
push 0x834fc0
call fcn.0047b780
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 0x4d1ec4
push edi
lea eax, [ebp - 0x34]
mov dword [ebp - 0x24], edi
push 0
push eax
call fcn.006f4b50
mov byte [ebp + edi - 0x34], 0
mov ebx, dword [ebp - 0x34]
jmp 0x4d1f12
cmp edi, 0x7fffffff
ja 0x4d210d
mov esi, edi
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x4d1ee4
mov esi, bind
jmp 0x4d1eee
mov eax, 0x16
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x34]
call fcn.0047e6a0
push edi
mov ebx, eax
mov dword [ebp - 0x24], edi
push 0
push ebx
mov dword [ebp - 0x20], esi
call fcn.006f4b50
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 0x4d1fa0
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esi, dword [ebp + 8]
mov ecx, esi
push 0x834fc0
call fcn.0047b780
mov edx, dword [ebp - 0x20]
cmp edx, 0x10
jb 0x4d1f8d
mov ecx, dword [ebp - 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4d1f83
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d20d2
push edx
push ecx
call fcn.00503df0
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 [0x834fd4]
mov dword [ebp - 0x18], eax
cmp edi, ebx
ja 0x4d1fe4
cmp ebx, 0x10
mov dword [0x834fd0], edi
push edi
mov esi, 0x834fc0
cmovae esi, dword [0x834fc0]
push eax
push esi
call fcn.006f45d0
add esp, 0xc
mov byte [edi + esi], 0
jmp 0x4d2088
cmp edi, 0x7fffffff
ja 0x4d2112
mov esi, edi
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x4d2004
mov esi, bind
jmp 0x4d2022
mov ecx, ebx
mov eax, bind
shr ecx, 1
sub eax, ecx
cmp ebx, eax
jbe 0x4d201a
mov esi, bind
jmp 0x4d2022
lea eax, [ebx + ecx]
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
mov ecx, 0x834fc0
push eax
call fcn.0047e6a0
push edi
push dword [ebp - 0x18]
mov dword [0x834fd4], esi
mov esi, eax
push esi
mov dword [ebp - 0x1c], eax
mov dword [0x834fd0], edi
call fcn.006f45d0
add esp, 0xc
mov byte [edi + esi], 0
cmp ebx, 0x10
jb 0x4d2082
mov ecx, dword [0x834fc0]
inc ebx
mov eax, ecx
cmp ebx, 0x1000
jb 0x4d2078
mov ecx, dword [ecx - 4]
add ebx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d20d2
push ebx
push ecx
call fcn.00503df0
add esp, 8
mov dword [0x834fc0], esi
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esi, dword [ebp + 8]
mov ecx, esi
push 0x834fc0
call fcn.0047b780
mov edx, dword [ebp - 0x20]
cmp edx, 0x10
jb 0x4d1f8d
mov ecx, dword [ebp - 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4d1f83
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4d1f83
call fcn.006fee64
push 0x8f337c
call fcn.006f2701
add esp, 4
cmp dword [0x8f337c], 0xffffffff
jne 0x4d1dfb
push 0x740d90
call fcn.006f255c
push 0x8f337c
call fcn.006f26b7
add esp, 8
jmp 0x4d1dfb
call fcn.0047e500
call fcn.0047e500
int3