Function at 0x511380
Capabilities:
Check for time delay via gettickcount
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff004
push eax
add esp, 0xffffffac
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x1054], ecx
mov dword [ebp - 0x104c], ecx
mov dword [ebp - 0x1050], ecx
mov dword [ebp - 0x1040], ecx
mov dword [ebp - 0x1044], ecx
mov dword [ebp - 0x1048], ecx
mov dword [ebp - 0x1038], ecx
mov dword [ebp - 0x103c], ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x51159f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x14], eax
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 8]
call fcn.00511314
test al, al
je 0x511579
mov ebx, dword [ebp - 0x30]
cmp ebx, 0x7a120
jle 0x511439
lea edx, [ebp - 0x103c]
mov eax, ebx
call sub.rtl120.bpl__Sysutils_IntToStr_qqri
mov ecx, dword [ebp - 0x103c]
lea eax, [ebp - 0x1038]
mov edx, 0x5115bc
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x1038]
xor ecx, ecx
mov dl, 1
call fcn.00510dcc
mov esi, dword [ebp - 0x30]
dec esi
test esi, esi
jl 0x511579
inc esi
xor ebx, ebx
mov edi, dword [ebp - 0x30]
cmp edi, 0x7a120
jle 0x5114a7
push 0x511614
lea edx, [ebp - 0x1044]
mov eax, edi
call sub.rtl120.bpl__Sysutils_IntToStr_qqri
push dword [ebp - 0x1044]
push 0x51166c
lea edx, [ebp - 0x1048]
mov eax, ebx
call sub.rtl120.bpl__Sysutils_IntToStr_qqri
push dword [ebp - 0x1048]
lea eax, [ebp - 0x1040]
mov edx, 4
call sub.rtl120.bpl__System__UStrCatN_qqrv
mov eax, dword [ebp - 0x1040]
xor ecx, ecx
mov dl, 1
call fcn.00510dcc
jmp 0x511579
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0x800
jb 0x5114cc
mov dword [ebp - 0x10], 0x800
xor ecx, ecx
mov dl, 1
mov eax, 0x51167c
call fcn.00510dcc
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x1032]
push eax
push ebx
mov eax, dword [ebp - 8]
mov eax, dword [eax + 4]
push eax
call sub.advapi32.dll_RegEnumKeyExW
mov edi, eax
lea eax, [ebp - 4]
lea edx, [ebp - 0x1032]
mov ecx, 0x801
call sub.rtl120.bpl__System__UStrFromWArray_qqrr20System_UnicodeStringpbi
lea edx, [ebp - 0x1050]
mov eax, dword [ebp - 4]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x1050]
lea edx, [ebp - 0x104c]
call sub.rtl120.bpl__Sysutils_LowerCase_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x104c]
mov edx, 0x5116c8
call sub.rtl120.bpl__System__UStrEqual_qqrv
je 0x511571
test edi, edi
jne 0x51155a
lea eax, [ebp - 0x1054]
lea edx, [ebp - 0x1032]
mov ecx, 0x801
call sub.rtl120.bpl__System__UStrFromWArray_qqrr20System_UnicodeStringpbi
mov edx, dword [ebp - 0x1054]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x38]
call sub.kernel32.dll_GetTickCount
sub eax, dword [ebp - 0x14]
cmp eax, 0x1f4
jbe 0x511571
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x14], eax
inc ebx
dec esi
jne 0x511448
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5115a6
lea eax, [ebp - 0x1054]
mov edx, 8
call sub.rtl120.bpl__System__UStrArrayClr_qqrpvi
lea eax, [ebp - 4]
call sub.rtl120.bpl__System__UStrClr_qqrpv
ret