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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5d8016
mov eax, dword fs:[0]
push eax
sub esp, 0x364
mov eax, dword [0x659fd4]
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
push str.srl::Monitor::GetMonitorInfoW
lea ecx, [ebp - 0x348]
call fcn.004128a0
mov dword [ebp - 4], 0
call fcn.00419ac0
cmp dword [eax + 4], 4
jl 0x43369c
push ecx
lea ecx, [ebp - 0x348]
call fcn.00411500
lea eax, [ebp - 0x35c]
push eax
push 0x20019
push 0
push str.SYSTEMCurrentControlSetEnumDISPLAY
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x433d66
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x368], 1
mov dword [ebp - 0x36c], 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 edi, eax
test edi, edi
jne 0x433ce2
call fcn.00419ac0
cmp dword [eax + 4], 3
jl 0x43376c
push 3
call fcn.00419ac0
mov ecx, eax
call fcn.00419ef0
mov esi, eax
call fcn.00419ac0
cmp dword [esi + 0x14], 8
mov ecx, dword [esi + 0x10]
jb 0x433740
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00411930
mov edx, str.Display_Key_Name:
mov ecx, eax
call fcn.00410580
lea edx, [ebp - 0x210]
mov ecx, eax
call fcn.004115a0
push eax
call fcn.004127a0
add esp, 8
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x32c]
call fcn.004076f8
lea eax, [ebp - 0x358]
mov byte [ebp - 4], 1
push eax
push 0x20019
push 0
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x35c]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov edi, eax
call fcn.00419ac0
test edi, edi
jne 0x433c7b
cmp dword [eax + 4], 3
jl 0x433804
push 3
call fcn.00419ac0
mov ecx, eax
call fcn.00419ef0
mov esi, eax
call fcn.00419ac0
cmp dword [esi + 0x14], 8
mov ecx, dword [esi + 0x10]
jb 0x4337d8
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00411930
mov edx, str.Opened_Monitor_Key:
mov ecx, eax
call fcn.00410580
lea edx, [ebp - 0x210]
mov ecx, eax
call fcn.004115a0
push eax
call fcn.004127a0
add esp, 8
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]
mov edi, eax
call fcn.00419ac0
test edi, edi
jne 0x433c09
cmp dword [eax + 4], 3
jl 0x433893
push 3
call fcn.00419ac0
mov ecx, eax
call fcn.00419ef0
mov esi, eax
call fcn.00419ac0
cmp dword [esi + 0x14], 8
mov ecx, dword [esi + 0x10]
jb 0x433867
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00411930
mov edx, str.Opened_First_Key:
mov ecx, eax
call fcn.00410580
lea edx, [ebp - 0x210]
mov ecx, eax
call fcn.004115a0
push eax
call fcn.004127a0
add esp, 8
lea eax, [ebp - 0x354]
push eax
push 0x20019
push 0
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x358]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov edi, eax
call fcn.00419ac0
test edi, edi
jne 0x433c09
cmp dword [eax + 4], 3
jl 0x433915
push 3
call fcn.00419ac0
mov ecx, eax
call fcn.00419ef0
mov esi, eax
call fcn.00419ac0
cmp dword [esi + 0x14], 8
mov ecx, dword [esi + 0x10]
jb 0x4338e9
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00411930
mov edx, str.Read_First_Key:
mov ecx, eax
call fcn.00410580
lea edx, [ebp - 0x210]
mov ecx, eax
call fcn.004115a0
push eax
call fcn.004127a0
add esp, 8
lea eax, [ebp - 0x370]
push eax
push 0x20019
push 0
push str.Control
push dword [ebp - 0x354]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov edi, eax
call fcn.00419ac0
test edi, edi
jne 0x433b8f
cmp dword [eax + 4], 3
jl 0x433988
push 3
call fcn.00419ac0
mov ecx, eax
call fcn.00419ef0
mov esi, eax
call fcn.00419ac0
cmp dword [esi + 0x14], 8
mov ecx, dword [esi + 0x10]
jb 0x433969
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00411930
mov edx, str.Control_key:
mov ecx, eax
call fcn.00410580
push eax
call fcn.004127a0
add esp, 8
push dword [ebp - 0x370]
call ebx
lea eax, [ebp - 0x364]
push eax
push 0x20019
push 0
push str.Device_Parameters
push dword [ebp - 0x354]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x433b4f
call fcn.00419ac0
cmp dword [eax + 4], 3
jl 0x433a01
push 3
call fcn.00419ac0
mov ecx, eax
call fcn.00419ef0
mov esi, eax
call fcn.00419ac0
cmp dword [esi + 0x14], 8
mov ecx, dword [esi + 0x10]
jb 0x4339e2
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00411930
mov edx, str.Device_Params
mov ecx, eax
call fcn.00410580
push eax
call fcn.004127a0
add esp, 8
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]
mov esi, eax
call fcn.00419ac0
test esi, esi
jne 0x433adc
cmp dword [eax + 4], 3
jl 0x433a83
push dword [ebp - 0x350]
push 3
call fcn.00419ac0
mov ecx, eax
call fcn.00419ef0
mov esi, eax
call fcn.00419ac0
mov edx, esi
mov ecx, eax
call fcn.00411b50
mov edx, str.Checked_EDID_for_monitor:
mov ecx, eax
call fcn.00410580
mov ecx, eax
call fcn.00413de0
push eax
call fcn.004127a0
add esp, 4
mov esi, dword [ebp - 0x350]
lea eax, [ebp - 0x32c]
push eax
push esi
push dword [ebp - 0x360]
lea eax, [ebp - 0x314]
push eax
call fcn.004326b0
push dword [ebp - 0x364]
inc esi
mov dword [ebp - 0x350], esi
call ebx
push dword [ebp - 0x354]
call ebx
push dword [ebp - 0x358]
call ebx
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0
call fcn.004076c4
mov esi, dword [ebp - 0x368]
jmp 0x433d47
cmp dword [eax + 4], 3
jl 0x433b1d
push esi
push 3
call fcn.00419ac0
mov ecx, eax
call fcn.00419ef0
mov esi, eax
call fcn.00419ac0
mov edx, esi
mov ecx, eax
call fcn.00411b50
mov edx, str.Error:
mov ecx, eax
call fcn.00410580
mov ecx, eax
call fcn.00433de0
push eax
call fcn.004127a0
add esp, 4
push dword [ebp - 0x364]
call ebx
push dword [ebp - 0x354]
call ebx
push dword [ebp - 0x358]
call ebx
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0
call fcn.004076c4
mov esi, dword [ebp - 0x368]
jmp 0x433d47
call fcn.00419ac0
cmp dword [eax + 4], 3
jl 0x433bdf
push 3
call fcn.00419ac0
mov ecx, eax
call fcn.00419ef0
mov esi, eax
call fcn.00419ac0
cmp dword [esi + 0x14], 8
mov ecx, dword [esi + 0x10]
jb 0x433b7e
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00411930
add esp, 4
push 0
jmp 0x433bc3
cmp dword [eax + 4], 3
jl 0x433bdf
push 3
call fcn.00419ac0
mov ecx, eax
call fcn.00419ef0
mov esi, eax
call fcn.00419ac0
cmp dword [esi + 0x14], 8
mov ecx, dword [esi + 0x10]
jb 0x433bb5
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00411930
add esp, 4
push edi
mov edx, str.Error:
mov ecx, eax
call fcn.00410580
mov ecx, eax
call fcn.00433de0
push eax
call fcn.004127a0
add esp, 4
push dword [ebp - 0x354]
call ebx
push dword [ebp - 0x358]
call ebx
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0
call fcn.004076c4
mov esi, dword [ebp - 0x368]
jmp 0x433d47
cmp dword [eax + 4], 3
jl 0x433c59
push 3
call fcn.00419ac0
mov ecx, eax
call fcn.00419ef0
mov esi, eax
call fcn.00419ac0
cmp dword [esi + 0x14], 8
mov ecx, dword [esi + 0x10]
jb 0x433c2f
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00411930
add esp, 4
mov edx, str.Error:
mov ecx, eax
push edi
call fcn.00410580
mov ecx, eax
call fcn.00433de0
push eax
call fcn.004127a0
add esp, 4
push dword [ebp - 0x358]
call ebx
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0
call fcn.004076c4
mov esi, dword [ebp - 0x368]
jmp 0x433d47
cmp dword [eax + 4], 3
jl 0x433ccb
push 3
call fcn.00419ac0
mov ecx, eax
call fcn.00419ef0
mov esi, eax
call fcn.00419ac0
cmp dword [esi + 0x14], 8
mov ecx, dword [esi + 0x10]
jb 0x433ca1
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00411930
add esp, 4
mov edx, str.Error:
mov ecx, eax
push edi
call fcn.00410580
mov ecx, eax
call fcn.00433de0
push eax
call fcn.004127a0
add esp, 4
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0
call fcn.004076c4
mov esi, dword [ebp - 0x368]
jmp 0x433d47
cmp edi, 0x103
je 0x433d5c
call fcn.00419ac0
cmp dword [eax + 4], 3
jl 0x433d3f
push 3
call fcn.00419ac0
mov ecx, eax
call fcn.00419ef0
mov esi, eax
call fcn.00419ac0
cmp dword [esi + 0x14], 8
mov ecx, dword [esi + 0x10]
jb 0x433d15
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00411930
add esp, 4
mov edx, str.Error:
mov ecx, eax
push edi
call fcn.00410580
mov ecx, eax
call fcn.00433de0
push eax
call fcn.004127a0
add esp, 4
xor esi, esi
mov dword [ebp - 0x368], esi
mov eax, dword [ebp - 0x36c]
inc eax
mov dword [ebp - 0x36c], eax
test esi, esi
jne 0x4336e8
push dword [ebp - 0x35c]
call ebx
jmp 0x433db0
call fcn.00419ac0
cmp dword [eax + 4], 3
jl 0x433db0
push 3
call fcn.00419ac0
mov ecx, eax
call fcn.00419ef0
mov esi, eax
call fcn.00419ac0
cmp dword [esi + 0x14], 8
mov ecx, dword [esi + 0x10]
jb 0x433d91
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00411930
mov edx, str.Error:
mov ecx, eax
call fcn.00410580
push eax
call fcn.004127a0
add esp, 8
lea ecx, [ebp - 0x348]
mov dword [ebp - 4], 0xffffffff
call fcn.004127e0
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.005a7b5f
mov esp, ebp
pop ebp
ret