Function at 0x44d7d0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x31c
mov eax, dword [0x6051c4]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
push edi
test esi, esi
je 0x44dc92
push 0x100
lea eax, [ebp - 0x204]
push 0
push eax
call fcn.0044f220
lea edi, [esi + 0xa194]
add esp, 0xc
test edi, edi
je 0x44dc92
push str.System
push edi
call fcn.00450290
add esp, 8
test eax, eax
jne 0x44d83c
push str.SYSTEM
push edi
call fcn.00450290
add esp, 8
test eax, eax
je 0x44dc92
push eax
lea eax, [ebp - 0x204]
push 0x47a11c
push eax
call fcn.00405f60
add esp, 0xc
mov dword [ebp - 0x30c], 0
lea eax, [ebp - 0x30c]
push eax
push 0x20019
push 0
lea eax, [ebp - 0x204]
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x44dc92
push ebx
push 0x100
push eax
lea eax, [ebp - 0x104]
push eax
call fcn.0044f220
mov ebx, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea eax, [ebp - 0x308]
add esp, 0xc
mov dword [ebp - 0x308], 0x100
push eax
lea eax, [ebp - 0x104]
push eax
push 0
push 0
push str.HardwareInformation.BiosString
push dword [ebp - 0x30c]
call ebx
test eax, eax
jne 0x44d8f7
mov edi, dword [ebp - 0x308]
xor edx, edx
test edi, edi
je 0x44d8f7
cmp eax, 0xff
jae 0x44d8f7
mov cl, byte [ebp + eax - 0x104]
test cl, cl
je 0x44d8f2
mov byte [esi + edx + 0x9c88], cl
inc edx
inc eax
cmp eax, edi
jb 0x44d8d8
lea eax, [ebp - 0x308]
mov dword [ebp - 0x310], 0
push eax
lea eax, [ebp - 0x310]
mov dword [ebp - 0x308], 4
push eax
push 0
push 0
push str.HardwareInformation.MemorySize
push dword [ebp - 0x30c]
call ebx
test eax, eax
jne 0x44d936
mov eax, dword [ebp - 0x310]
jmp 0x44d974
lea eax, [ebp - 0x308]
mov dword [ebp - 0x308], 8
push eax
lea eax, [ebp - 0x31c]
xorps xmm0, xmm0
push eax
push 0
push 0
push str.HardwareInformation.MemorySize
push dword [ebp - 0x30c]
movlpd qword [ebp - 0x31c], xmm0
call ebx
test eax, eax
jne 0x44d98c
mov eax, dword [ebp - 0x31c]
shr eax, 0x14
cmp dword [esi + 0x87e0], 0
mov dword [esi + 0x9684], eax
jne 0x44d98c
mov dword [esi + 0x87e0], eax
push 0x100
lea eax, [ebp - 0x104]
mov dword [esi + 0x9d88], 0
push 0
push eax
mov dword [ebp - 0x308], 0x100
call fcn.0044f220
add esp, 0xc
lea eax, [ebp - 0x308]
push eax
lea eax, [ebp - 0x104]
push eax
push 0
push 0
push str.RadeonSoftwareEdition
push dword [ebp - 0x30c]
call ebx
test eax, eax
jne 0x44d9fb
push 0x7f
lea eax, [ebp - 0x104]
mov dword [esi + 0x9d88], 1
push eax
lea eax, [esi + 0x9d8c]
push eax
call fcn.00454a50
add esp, 0xc
lea eax, [ebp - 0x308]
mov dword [ebp - 0x308], 0x100
push eax
lea eax, [ebp - 0x104]
push eax
push 0
push 0
push str.DriverVersion
push dword [ebp - 0x30c]
call ebx
test eax, eax
jne 0x44da40
push 0x7f
lea eax, [ebp - 0x104]
push eax
lea eax, [esi + 0x9688]
push eax
call fcn.00454a50
add esp, 0xc
push 0x100
lea eax, [ebp - 0x104]
mov dword [ebp - 0x308], 0x100
push 0
push eax
call fcn.0044f220
add esp, 0xc
lea eax, [ebp - 0x308]
push eax
lea eax, [ebp - 0x104]
push eax
push 0
push 0
push str.DriverDate
push dword [ebp - 0x30c]
call ebx
test eax, eax
jne 0x44da9e
push 0xff
lea eax, [ebp - 0x104]
push eax
lea eax, [esi + 0x9888]
push eax
call fcn.00454a50
add esp, 0xc
push 0x100
lea eax, [ebp - 0x104]
mov dword [ebp - 0x308], 0x100
push 0
push eax
call fcn.0044f220
add esp, 0xc
lea eax, [ebp - 0x308]
cmp dword [esi + 0x9d88], 0
push eax
lea eax, [ebp - 0x104]
push eax
push 0
push 0
je 0x44dae0
push str.RadeonSoftwareVersion
jmp 0x44dae5
push str.Catalyst_Version
push dword [ebp - 0x30c]
call ebx
test eax, eax
jne 0x44db0c
push 0xff
lea eax, [ebp - 0x104]
push eax
lea eax, [esi + 0x9a88]
push eax
call fcn.00454a50
add esp, 0xc
push 0x100
lea eax, [ebp - 0x104]
mov dword [ebp - 0x308], 0x100
push 0
push eax
call fcn.0044f220
add esp, 0xc
lea eax, [ebp - 0x308]
push eax
lea eax, [ebp - 0x104]
push eax
push 0
push 0
push str.ReleaseVersion
push dword [ebp - 0x30c]
call ebx
test eax, eax
jne 0x44db6a
push 0xff
lea eax, [ebp - 0x104]
push eax
lea eax, [esi + 0x9988]
push eax
call fcn.00454a50
add esp, 0xc
push 0x100
lea eax, [ebp - 0x104]
mov dword [ebp - 0x308], 0x100
push 0
push eax
call fcn.0044f220
add esp, 0xc
mov dword [ebp - 0x314], 0
lea eax, [ebp - 0x308]
push eax
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x314]
push eax
push 0
push str.HardwareInformation.AdapterString
push dword [ebp - 0x30c]
call ebx
test eax, eax
jne 0x44dc16
mov eax, dword [ebp - 0x314]
cmp eax, 3
jne 0x44dbf6
mov edi, dword [ebp - 0x308]
xor eax, eax
xor edx, edx
test edi, edi
je 0x44dc16
cmp eax, 0xff
jae 0x44dc16
mov cl, byte [ebp + eax - 0x104]
test cl, cl
je 0x44dbef
mov byte [esi + edx + 0x9b88], cl
inc edx
inc eax
cmp eax, edi
jb 0x44dbd5
jmp 0x44dc16
cmp eax, 1
jne 0x44dc16
push 0xff
lea eax, [ebp - 0x104]
push eax
lea eax, [esi + 0x9b88]
push eax
call fcn.00454a50
add esp, 0xc
push 0x100
lea eax, [ebp - 0x304]
mov dword [ebp - 0x308], 0x100
push 0
push eax
call fcn.0044f220
add esp, 0xc
lea eax, [ebp - 0x308]
push eax
lea eax, [ebp - 0x304]
push eax
push 0
push 0
push 0x4a6ac8
push dword [ebp - 0x30c]
call ebx
pop ebx
test eax, eax
jne 0x44dc72
push 0x7f
lea eax, [ebp - 0x304]
push eax
lea eax, [esi + 0x9f10]
push eax
call fcn.00454a50
add esp, 0xc
push dword [ebp - 0x30c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
mov al, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0044dcb2
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebp - 4]
xor al, al
pop edi
xor ecx, ebp
pop esi
call fcn.0044dcb2
mov esp, ebp
pop ebp
ret 4