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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5d9616
mov eax, dword fs:[0]
push eax
sub esp, 0x364
mov eax, dword [0x65bfd4]
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.00412820
mov dword [ebp - 4], 0
call fcn.00419a30
cmp dword [eax + 4], 4
jl 0x43391c
push ecx
lea ecx, [ebp - 0x348]
call fcn.00411390
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 0x433fe6
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 0x433f62
call fcn.00419a30
cmp dword [eax + 4], 3
jl 0x4339ec
push 3
call fcn.00419a30
mov ecx, eax
call fcn.00419e60
mov esi, eax
call fcn.00419a30
cmp dword [esi + 0x14], 8
mov ecx, dword [esi + 0x10]
jb 0x4339c0
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.004117c0
mov edx, str.Display_Key_Name:
mov ecx, eax
call fcn.00410410
lea edx, [ebp - 0x210]
mov ecx, eax
call fcn.00411430
push eax
call fcn.00412720
add esp, 8
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x32c]
call fcn.00407534
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.00419a30
test edi, edi
jne 0x433efb
cmp dword [eax + 4], 3
jl 0x433a84
push 3
call fcn.00419a30
mov ecx, eax
call fcn.00419e60
mov esi, eax
call fcn.00419a30
cmp dword [esi + 0x14], 8
mov ecx, dword [esi + 0x10]
jb 0x433a58
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.004117c0
mov edx, str.Opened_Monitor_Key:
mov ecx, eax
call fcn.00410410
lea edx, [ebp - 0x210]
mov ecx, eax
call fcn.00411430
push eax
call fcn.00412720
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.00419a30
test edi, edi
jne 0x433e89
cmp dword [eax + 4], 3
jl 0x433b13
push 3
call fcn.00419a30
mov ecx, eax
call fcn.00419e60
mov esi, eax
call fcn.00419a30
cmp dword [esi + 0x14], 8
mov ecx, dword [esi + 0x10]
jb 0x433ae7
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.004117c0
mov edx, str.Opened_First_Key:
mov ecx, eax
call fcn.00410410
lea edx, [ebp - 0x210]
mov ecx, eax
call fcn.00411430
push eax
call fcn.00412720
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.00419a30
test edi, edi
jne 0x433e89
cmp dword [eax + 4], 3
jl 0x433b95
push 3
call fcn.00419a30
mov ecx, eax
call fcn.00419e60
mov esi, eax
call fcn.00419a30
cmp dword [esi + 0x14], 8
mov ecx, dword [esi + 0x10]
jb 0x433b69
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.004117c0
mov edx, str.Read_First_Key:
mov ecx, eax
call fcn.00410410
lea edx, [ebp - 0x210]
mov ecx, eax
call fcn.00411430
push eax
call fcn.00412720
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.00419a30
test edi, edi
jne 0x433e0f
cmp dword [eax + 4], 3
jl 0x433c08
push 3
call fcn.00419a30
mov ecx, eax
call fcn.00419e60
mov esi, eax
call fcn.00419a30
cmp dword [esi + 0x14], 8
mov ecx, dword [esi + 0x10]
jb 0x433be9
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.004117c0
mov edx, str.Control_key:
mov ecx, eax
call fcn.00410410
push eax
call fcn.00412720
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 0x433dcf
call fcn.00419a30
cmp dword [eax + 4], 3
jl 0x433c81
push 3
call fcn.00419a30
mov ecx, eax
call fcn.00419e60
mov esi, eax
call fcn.00419a30
cmp dword [esi + 0x14], 8
mov ecx, dword [esi + 0x10]
jb 0x433c62
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.004117c0
mov edx, str.Device_Params
mov ecx, eax
call fcn.00410410
push eax
call fcn.00412720
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.00419a30
test esi, esi
jne 0x433d5c
cmp dword [eax + 4], 3
jl 0x433d03
push dword [ebp - 0x350]
push 3
call fcn.00419a30
mov ecx, eax
call fcn.00419e60
mov esi, eax
call fcn.00419a30
mov edx, esi
mov ecx, eax
call fcn.004119e0
mov edx, str.Checked_EDID_for_monitor:
mov ecx, eax
call fcn.00410410
mov ecx, eax
call fcn.00413d60
push eax
call fcn.00412720
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.00432930
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.00407500
mov esi, dword [ebp - 0x368]
jmp 0x433fc7
cmp dword [eax + 4], 3
jl 0x433d9d
push esi
push 3
call fcn.00419a30
mov ecx, eax
call fcn.00419e60
mov esi, eax
call fcn.00419a30
mov edx, esi
mov ecx, eax
call fcn.004119e0
mov edx, str.Error:
mov ecx, eax
call fcn.00410410
mov ecx, eax
call fcn.00434060
push eax
call fcn.00412720
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.00407500
mov esi, dword [ebp - 0x368]
jmp 0x433fc7
call fcn.00419a30
cmp dword [eax + 4], 3
jl 0x433e5f
push 3
call fcn.00419a30
mov ecx, eax
call fcn.00419e60
mov esi, eax
call fcn.00419a30
cmp dword [esi + 0x14], 8
mov ecx, dword [esi + 0x10]
jb 0x433dfe
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.004117c0
add esp, 4
push 0
jmp 0x433e43
cmp dword [eax + 4], 3
jl 0x433e5f
push 3
call fcn.00419a30
mov ecx, eax
call fcn.00419e60
mov esi, eax
call fcn.00419a30
cmp dword [esi + 0x14], 8
mov ecx, dword [esi + 0x10]
jb 0x433e35
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.004117c0
add esp, 4
push edi
mov edx, str.Error:
mov ecx, eax
call fcn.00410410
mov ecx, eax
call fcn.00434060
push eax
call fcn.00412720
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.00407500
mov esi, dword [ebp - 0x368]
jmp 0x433fc7
cmp dword [eax + 4], 3
jl 0x433ed9
push 3
call fcn.00419a30
mov ecx, eax
call fcn.00419e60
mov esi, eax
call fcn.00419a30
cmp dword [esi + 0x14], 8
mov ecx, dword [esi + 0x10]
jb 0x433eaf
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.004117c0
add esp, 4
mov edx, str.Error:
mov ecx, eax
push edi
call fcn.00410410
mov ecx, eax
call fcn.00434060
push eax
call fcn.00412720
add esp, 4
push dword [ebp - 0x358]
call ebx
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0
call fcn.00407500
mov esi, dword [ebp - 0x368]
jmp 0x433fc7
cmp dword [eax + 4], 3
jl 0x433f4b
push 3
call fcn.00419a30
mov ecx, eax
call fcn.00419e60
mov esi, eax
call fcn.00419a30
cmp dword [esi + 0x14], 8
mov ecx, dword [esi + 0x10]
jb 0x433f21
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.004117c0
add esp, 4
mov edx, str.Error:
mov ecx, eax
push edi
call fcn.00410410
mov ecx, eax
call fcn.00434060
push eax
call fcn.00412720
add esp, 4
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0
call fcn.00407500
mov esi, dword [ebp - 0x368]
jmp 0x433fc7
cmp edi, 0x103
je 0x433fdc
call fcn.00419a30
cmp dword [eax + 4], 3
jl 0x433fbf
push 3
call fcn.00419a30
mov ecx, eax
call fcn.00419e60
mov esi, eax
call fcn.00419a30
cmp dword [esi + 0x14], 8
mov ecx, dword [esi + 0x10]
jb 0x433f95
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.004117c0
add esp, 4
mov edx, str.Error:
mov ecx, eax
push edi
call fcn.00410410
mov ecx, eax
call fcn.00434060
push eax
call fcn.00412720
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 0x433968
push dword [ebp - 0x35c]
call ebx
jmp 0x434030
call fcn.00419a30
cmp dword [eax + 4], 3
jl 0x434030
push 3
call fcn.00419a30
mov ecx, eax
call fcn.00419e60
mov esi, eax
call fcn.00419a30
cmp dword [esi + 0x14], 8
mov ecx, dword [esi + 0x10]
jb 0x434011
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.004117c0
mov edx, str.Error:
mov ecx, eax
call fcn.00410410
push eax
call fcn.00412720
add esp, 8
lea ecx, [ebp - 0x348]
mov dword [ebp - 4], 0xffffffff
call fcn.00412760
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.005a909b
mov esp, ebp
pop ebp
ret