Function at 0x42f820
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c64b1
mov eax, dword fs:[0]
push eax
sub esp, 0x368
mov eax, dword [0x645154]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x374], ecx
xor eax, eax
mov dword [ebp - 0x330], 7
mov dword [ebp - 0x334], 0
mov word [ebp - 0x344], ax
push 0x1d
push str.srl::Monitor::GetMonitorInfoW
lea ecx, [ebp - 0x344]
mov dword [ebp - 4], eax
mov byte [ebp - 0x348], al
call fcn.00407228
push 4
mov dword [ebp - 4], 1
call fcn.00415250
mov ecx, eax
call fcn.004152d0
test al, al
je 0x42f8f9
lea eax, [ebp - 0x344]
mov byte [ebp - 0x348], 1
push eax
push str.Entering:
push 4
call fcn.00415250
mov ecx, eax
call fcn.00414940
push eax
call fcn.00415250
push eax
call fcn.0040e050
add esp, 8
push eax
call fcn.0040dcd0
add esp, 8
push eax
call fcn.0040e050
push eax
call fcn.0040e570
add esp, 0xc
call fcn.00415250
mov ecx, eax
call fcn.00415230
mov ebx, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea eax, [ebp - 0x35c]
push eax
push 0x20019
push 0
push str.SYSTEMCurrentControlSetEnumDISPLAY
push reloc.OLEAUT32.dll_SysReAllocString
call ebx
test eax, eax
jne 0x42ff42
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x36c], 1
mov dword [ebp - 0x368], eax
mov dword [ebp - 0x34c], 0x100
mov dword [ebp - 0x350], eax
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x34c]
push ecx
lea ecx, [ebp - 0x210]
push ecx
push eax
push dword [ebp - 0x35c]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
mov esi, eax
test esi, esi
jne 0x42febe
push 3
call fcn.00415250
mov ecx, eax
call fcn.004152d0
test al, al
je 0x42f9c7
lea eax, [ebp - 0x210]
push eax
push str.Display_Key_Name:
push 3
call fcn.00415250
mov ecx, eax
call fcn.00414940
push eax
call fcn.00415250
push eax
call fcn.0040e050
add esp, 8
push eax
call fcn.0040d6e0
add esp, 8
push eax
call fcn.0040dcd0
push eax
call fcn.0040e570
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x318], 7
mov dword [ebp - 0x31c], 0
mov word [ebp - 0x32c], ax
cmp word [ebp - 0x210], ax
jne 0x42f9f1
xor ecx, ecx
jmp 0x42fa0f
lea ecx, [ebp - 0x210]
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42fa00
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x32c]
call fcn.00407228
lea eax, [ebp - 0x358]
mov byte [ebp - 4], 2
push eax
push 0x20019
push 0
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x35c]
call ebx
push 3
mov esi, eax
call fcn.00415250
mov ecx, eax
call fcn.004152d0
test esi, esi
jne 0x42fe5a
test al, al
je 0x42faa0
lea eax, [ebp - 0x210]
push eax
push str.Opened_Monitor_Key:
push 3
call fcn.00415250
mov ecx, eax
call fcn.00414940
push eax
call fcn.00415250
push eax
call fcn.0040e050
add esp, 8
push eax
call fcn.0040d6e0
add esp, 8
push eax
call fcn.0040dcd0
push eax
call fcn.0040e570
add esp, 0xc
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x34c]
mov dword [ebp - 0x34c], 0x200
push eax
lea eax, [ebp - 0x210]
push eax
push 0
push dword [ebp - 0x358]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
push 3
mov esi, eax
call fcn.00415250
mov ecx, eax
call fcn.004152d0
test esi, esi
jne 0x42fe10
test al, al
je 0x42fb2b
lea eax, [ebp - 0x210]
push eax
push str.Opened_First_Key:
push 3
call fcn.00415250
mov ecx, eax
call fcn.00414940
push eax
call fcn.00415250
push eax
call fcn.0040e050
add esp, 8
push eax
call fcn.0040d6e0
add esp, 8
push eax
call fcn.0040dcd0
push eax
call fcn.0040e570
add esp, 0xc
lea eax, [ebp - 0x354]
push eax
push 0x20019
push 0
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x358]
call ebx
push 3
mov esi, eax
call fcn.00415250
mov ecx, eax
call fcn.004152d0
test esi, esi
jne 0x42fe10
test al, al
je 0x42fba5
lea eax, [ebp - 0x210]
push eax
push str.Read_First_Key:
push 3
call fcn.00415250
mov ecx, eax
call fcn.00414940
push eax
call fcn.00415250
push eax
call fcn.0040e050
add esp, 8
push eax
call fcn.0040d6e0
add esp, 8
push eax
call fcn.0040dcd0
push eax
call fcn.0040e570
add esp, 0xc
lea eax, [ebp - 0x370]
push eax
push 0x20019
push 0
push str.Control
push dword [ebp - 0x354]
call ebx
push 3
mov esi, eax
call fcn.00415250
mov ecx, eax
call fcn.004152d0
test esi, esi
jne 0x42fdbb
test al, al
je 0x42fc0d
push str.Control_key:
push 3
call fcn.00415250
mov ecx, eax
call fcn.00414940
push eax
call fcn.00415250
push eax
call fcn.0040e050
add esp, 8
push eax
call fcn.0040d6e0
push eax
call fcn.0040e570
add esp, 0xc
push dword [ebp - 0x370]
call edi
lea eax, [ebp - 0x364]
push eax
push 0x20019
push 0
push str.Device_Parameters
push dword [ebp - 0x354]
call ebx
push 3
test eax, eax
jne 0x42fda7
call fcn.00415250
mov ecx, eax
call fcn.004152d0
test al, al
je 0x42fc7b
push str.Device_Params
push 3
call fcn.00415250
mov ecx, eax
call fcn.00414940
push eax
call fcn.00415250
push eax
call fcn.0040e050
add esp, 8
push eax
call fcn.0040d6e0
push eax
call fcn.0040e570
add esp, 0xc
lea eax, [ebp - 0x360]
mov dword [ebp - 0x360], 0x101
push eax
lea eax, [ebp - 0x314]
push eax
push 0
push 0
push str.EDID
push dword [ebp - 0x364]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push 3
mov esi, eax
call fcn.00415250
mov ecx, eax
call fcn.004152d0
test esi, esi
jne 0x42fd4a
mov esi, dword [ebp - 0x350]
test al, al
je 0x42fd06
push esi
push str.Checked_EDID_for_monitor:
push 3
call fcn.00415250
mov ecx, eax
call fcn.00414940
push eax
call fcn.00415250
push eax
call fcn.0040e050
add esp, 8
push eax
call fcn.0040d6e0
add esp, 8
mov ecx, eax
call fcn.0041dec0
push eax
call fcn.0040e570
add esp, 4
mov ecx, dword [ebp - 0x374]
lea eax, [ebp - 0x32c]
push eax
push esi
push dword [ebp - 0x360]
lea eax, [ebp - 0x314]
push eax
call fcn.0042e7e0
push dword [ebp - 0x364]
inc esi
mov dword [ebp - 0x350], esi
call edi
push dword [ebp - 0x354]
call edi
push dword [ebp - 0x358]
call edi
jmp 0x42fe9a
test al, al
je 0x42fd8a
push esi
push str.Error:
push 3
call fcn.00415250
mov ecx, eax
call fcn.00414940
push eax
call fcn.00415250
push eax
call fcn.0040e050
add esp, 8
push eax
call fcn.0040d6e0
add esp, 8
mov ecx, eax
call fcn.0042dfc0
push eax
call fcn.0040e570
add esp, 4
push dword [ebp - 0x364]
call edi
push dword [ebp - 0x354]
call edi
push dword [ebp - 0x358]
call edi
jmp 0x42fe9a
call fcn.00415250
mov ecx, eax
call fcn.004152d0
test al, al
je 0x42fdfb
push 0
jmp 0x42fdc0
test al, al
je 0x42fdfb
push esi
push str.Error:
push 3
call fcn.00415250
mov ecx, eax
call fcn.00414940
push eax
call fcn.00415250
push eax
call fcn.0040e050
add esp, 8
push eax
call fcn.0040d6e0
add esp, 8
mov ecx, eax
call fcn.0042dfc0
push eax
call fcn.0040e570
add esp, 4
push dword [ebp - 0x354]
call edi
push dword [ebp - 0x358]
call edi
jmp 0x42fe9a
test al, al
je 0x42fe50
push esi
push str.Error:
push 3
call fcn.00415250
mov ecx, eax
call fcn.00414940
push eax
call fcn.00415250
push eax
call fcn.0040e050
add esp, 8
push eax
call fcn.0040d6e0
add esp, 8
mov ecx, eax
call fcn.0042dfc0
push eax
call fcn.0040e570
add esp, 4
push dword [ebp - 0x358]
call edi
jmp 0x42fe9a
test al, al
je 0x42fe9a
push esi
push str.Error:
push 3
call fcn.00415250
mov ecx, eax
call fcn.00414940
push eax
call fcn.00415250
push eax
call fcn.0040e050
add esp, 8
push eax
call fcn.0040d6e0
add esp, 8
mov ecx, eax
call fcn.0042dfc0
push eax
call fcn.0040e570
add esp, 4
mov eax, dword [ebp - 0x318]
mov byte [ebp - 4], 1
cmp eax, 8
jb 0x42ff1e
inc eax
lea ecx, [ebp - 0x32c]
push eax
push dword [ebp - 0x32c]
call fcn.0040745d
jmp 0x42ff1e
cmp esi, 0x103
je 0x42ff38
push 3
call fcn.00415250
mov ecx, eax
call fcn.004152d0
test al, al
je 0x42ff14
push esi
push str.Error:
push 3
call fcn.00415250
mov ecx, eax
call fcn.00414940
push eax
call fcn.00415250
push eax
call fcn.0040e050
add esp, 8
push eax
call fcn.0040d6e0
add esp, 8
mov ecx, eax
call fcn.0042dfc0
push eax
call fcn.0040e570
add esp, 4
mov dword [ebp - 0x36c], 0
mov eax, dword [ebp - 0x368]
inc eax
cmp dword [ebp - 0x36c], 0
mov dword [ebp - 0x368], eax
jne 0x42f947
push dword [ebp - 0x35c]
call edi
jmp 0x42ff85
push 3
call fcn.00415250
mov ecx, eax
call fcn.004152d0
test al, al
je 0x42ff85
push str.Error:
push 3
call fcn.00415250
mov ecx, eax
call fcn.00414940
push eax
call fcn.00415250
push eax
call fcn.0040e050
add esp, 8
push eax
call fcn.0040d6e0
push eax
call fcn.0040e570
add esp, 0xc
lea ecx, [ebp - 0x348]
call fcn.0040ef80
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00595c5d
mov esp, ebp
pop ebp
ret