Function at 0x501f6c88
Capabilities:
Get keyboard layout

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
test dl, dl
je 0x501f6c9a
add esp, 0xfffffff0
call sub.rtl120.bpl__System__ClassCreate_qqrp17System_TMetaClasso
mov byte [ebp - 1], dl
mov ebx, eax
xor edx, edx
mov eax, ebx
call sub.rtl120.bpl__Classes_TComponent__bctr_qqrp18Classes_TComponent
mov eax, dword [sym.imp.rtl120.bpl__Classes_AddDataModule]
mov dword [eax + 4], ebx
mov dword [eax], sym.vcl120.bpl__Forms_TScreen_AddDataModule_qqrp19Classes_TDataModule
mov eax, dword [sym.imp.rtl120.bpl__Classes_RemoveDataModule]
mov dword [eax + 4], ebx
mov dword [eax], sym.vcl120.bpl__Forms_TScreen_RemoveDataModule_qqrp19Classes_TDataModule
mov eax, ebx
call sym.vcl120.bpl__Forms_TScreen_CreateCursors_qqrv
push 0
call sub.user32.dll_GetKeyboardLayout
mov dword [ebx + 0x3c], eax
mov dl, 1
mov eax, dword [sym.imp.rtl120.bpl__Classes_TList_]
call sub.rtl120.bpl__System_TObject__bctr_qqrv
mov dword [ebx + 0x4c], eax
mov dl, 1
mov eax, dword [sym.imp.rtl120.bpl__Classes_TList_]
call sub.rtl120.bpl__System_TObject__bctr_qqrv
mov dword [ebx + 0x50], eax
mov dl, 1
mov eax, dword [sym.imp.rtl120.bpl__Classes_TList_]
call sub.rtl120.bpl__System_TObject__bctr_qqrv
mov dword [ebx + 0x54], eax
mov dl, 1
mov eax, dword [sym.imp.rtl120.bpl__Classes_TList_]
call sub.rtl120.bpl__System_TObject__bctr_qqrv
mov dword [ebx + 0x58], eax
mov dl, 1
mov eax, dword [sym.imp.rtl120.bpl__Classes_TList_]
call sub.rtl120.bpl__System_TObject__bctr_qqrv
mov dword [ebx + 0x74], eax
push 0
call sub.user32.dll_GetDC
mov esi, eax
push 0x5a
push esi
call fcn.501224c4
mov dword [ebx + 0x40], eax
push esi
push 0
call sub.user32.dll_ReleaseDC
mov eax, dword [ebx + 0x58]
push eax
mov eax, 0x501f1a94
push eax
push 0
push 0
mov eax, dword [sym.imp.rtl120.bpl__Multimon_EnumDisplayMonitors]
mov eax, dword [eax]
call eax
mov dl, 1
mov eax, dword [sym.vcl120.bpl__Graphics_TFont_]
call sym.vcl120.bpl__Graphics_TFont__bctr_qqrv
mov dword [ebx + 0x7c], eax
mov dl, 1
mov eax, dword [sym.vcl120.bpl__Graphics_TFont_]
call sym.vcl120.bpl__Graphics_TFont__bctr_qqrv
mov dword [ebx + 0x80], eax
mov dl, 1
mov eax, dword [sym.vcl120.bpl__Graphics_TFont_]
call sym.vcl120.bpl__Graphics_TFont__bctr_qqrv
mov dword [ebx + 0x78], eax
mov dl, 1
mov eax, dword [sym.vcl120.bpl__Graphics_TFont_]
call sym.vcl120.bpl__Graphics_TFont__bctr_qqrv
mov dword [ebx + 0x84], eax
mov eax, ebx
call sym.vcl120.bpl__Forms_TScreen_GetMetricSettings_qqrv
mov eax, dword [ebx + 0x7c]
mov dword [eax + 0xc], ebx
mov dword [eax + 8], sym.vcl120.bpl__Forms_TScreen_IconFontChanged_qqrp14System_TObject
mov eax, dword [ebx + 0x80]
mov dword [eax + 0xc], ebx
mov dword [eax + 8], sym.vcl120.bpl__Forms_TScreen_IconFontChanged_qqrp14System_TObject
mov eax, dword [ebx + 0x78]
mov dword [eax + 0xc], ebx
mov dword [eax + 8], sym.vcl120.bpl__Forms_TScreen_IconFontChanged_qqrp14System_TObject
mov eax, dword [ebx + 0x84]
mov dword [eax + 0xc], ebx
mov dword [eax + 8], sym.vcl120.bpl__Forms_TScreen_IconFontChanged_qqrp14System_TObject
mov eax, ebx
cmp byte [ebp - 1], 0
je 0x501f6ded
call sub.rtl120.bpl__System__AfterConstruction_qqrp14System_TObject
pop dword fs:[0]
add esp, 0xc
mov eax, ebx
pop esi
pop ebx
pop ecx
pop ebp
ret