Function at 0x401f0d
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, dword [ebp + 8]
test ebx, ebx
mov byte [ebp - 1], 0
je 0x402164
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push edi
mov edi, dword [ebp + 0xc]
lea eax, [ebp + 8]
push eax
lea eax, [edi + 8]
push eax
lea eax, [ebp + 0xc]
push eax
push 0
push str.OperatingMode
push ebx
mov dword [ebp + 8], 4
call esi
test eax, eax
jne 0x402162
lea eax, [ebp + 8]
push eax
push edi
lea eax, [ebp + 0xc]
push eax
push 0
push str.PrimaryDevice
push ebx
call esi
lea eax, [ebp + 8]
push eax
lea eax, [edi + 4]
push eax
lea eax, [ebp + 0xc]
push eax
push 0
push str.SecondaryDevice
push ebx
call esi
lea eax, [ebp + 8]
push eax
lea eax, [edi + 0xc]
push eax
lea eax, [ebp + 0xc]
push eax
push 0
push str.PrimaryXX
push ebx
call esi
lea eax, [ebp + 8]
push eax
lea eax, [edi + 0x10]
push eax
lea eax, [ebp + 0xc]
push eax
push 0
push str.PrimaryYY
push ebx
call esi
lea eax, [ebp + 8]
push eax
lea eax, [edi + 0x14]
push eax
lea eax, [ebp + 0xc]
push eax
push 0
push str.PrimaryRR
push ebx
call esi
lea eax, [ebp + 8]
push eax
lea eax, [edi + 0x18]
push eax
lea eax, [ebp + 0xc]
push eax
push 0
push str.PrimaryBPP
push ebx
call esi
lea eax, [ebp + 8]
push eax
lea eax, [edi + 0x24]
push eax
lea eax, [ebp + 0xc]
push eax
push 0
push str.SecondaryXX
push ebx
call esi
lea eax, [ebp + 8]
push eax
lea eax, [edi + 0x28]
push eax
lea eax, [ebp + 0xc]
push eax
push 0
push str.SecondaryYY
push ebx
call esi
lea eax, [ebp + 8]
push eax
lea eax, [edi + 0x2c]
push eax
lea eax, [ebp + 0xc]
push eax
push 0
push str.SecondaryRR
push ebx
call esi
lea eax, [ebp + 8]
push eax
lea eax, [edi + 0x30]
push eax
lea eax, [ebp + 0xc]
push eax
push 0
push str.SecondaryBPP
push ebx
call esi
lea eax, [ebp + 8]
push eax
lea eax, [edi + 0x1c]
push eax
lea eax, [ebp + 0xc]
push eax
push 0
push str.PrimaryAspectScaling
push ebx
call esi
lea eax, [ebp + 8]
push eax
lea eax, [edi + 0x34]
push eax
lea eax, [ebp + 0xc]
push eax
push 0
push str.SecondaryAspectScaling
push ebx
call esi
lea eax, [ebp + 8]
push eax
lea eax, [edi + 0x20]
push eax
lea eax, [ebp + 0xc]
push eax
push 0
push str.PrimaryDisplayOrientation
push ebx
call esi
lea eax, [ebp + 8]
push eax
lea eax, [edi + 0x38]
push eax
lea eax, [ebp + 0xc]
push eax
push 0
push str.SecondaryDisplayOrientation
push ebx
call esi
lea eax, [ebp + 8]
push eax
lea eax, [edi + 0x44]
push eax
lea eax, [ebp + 0xc]
push eax
push 0
push str.PrimaryTop
push ebx
call esi
lea eax, [ebp + 8]
push eax
lea eax, [edi + 0x48]
push eax
lea eax, [ebp + 0xc]
push eax
push 0
push str.PrimaryLeft
push ebx
call esi
lea eax, [ebp + 8]
push eax
lea eax, [edi + 0x4c]
push eax
lea eax, [ebp + 0xc]
push eax
push 0
push str.PrimaryRight
push ebx
call esi
lea eax, [ebp + 8]
push eax
lea eax, [edi + 0x50]
push eax
lea eax, [ebp + 0xc]
push eax
push 0
push str.PrimaryBottom
push ebx
call esi
lea eax, [ebp + 8]
push eax
lea eax, [edi + 0x54]
push eax
lea eax, [ebp + 0xc]
push eax
push 0
push str.SecondaryTop
push ebx
call esi
lea eax, [ebp + 8]
push eax
lea eax, [edi + 0x58]
push eax
lea eax, [ebp + 0xc]
push eax
push 0
push str.SecondaryLeft
push ebx
call esi
lea eax, [ebp + 8]
push eax
lea eax, [edi + 0x5c]
push eax
lea eax, [ebp + 0xc]
push eax
push 0
push str.SecondaryRight
push ebx
call esi
lea eax, [ebp + 8]
push eax
lea eax, [edi + 0x60]
push eax
lea eax, [ebp + 0xc]
push eax
push 0
push str.SecondaryBottom
push ebx
call esi
lea eax, [ebp + 8]
push eax
lea eax, [edi + 0x3c]
push eax
lea eax, [ebp + 0xc]
push eax
push 0
push str.PrimaryTVStandard
push ebx
call esi
lea eax, [ebp + 8]
push eax
add edi, 0x40
push edi
lea eax, [ebp + 0xc]
push eax
push 0
push str.SecondaryTVStandard
push ebx
call esi
mov byte [ebp - 1], 1
pop edi
pop esi
mov al, byte [ebp - 1]
pop ebx
leave
ret 8