Function at 0x66136c
Capabilities:
Persist via run registry key
Persist via winlogon helper dll registry key

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x6f
push 0
push 0
dec ecx
jne 0x661374
push ecx
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x663904
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x78caf4]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0x44]
xor edx, edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x663924
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
xor edx, edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov dl, 1
mov eax, dword [sym.imp.rtl120.bpl__Classes_TStringList_]
call sub.rtl120.bpl__Classes_TStringList__bctr_qqrv
mov dword [ebp - 0xc], eax
mov dl, 1
mov eax, dword [sym.imp.rtl120.bpl__Classes_TStringList_]
call sub.rtl120.bpl__Classes_TStringList__bctr_qqrv
mov dword [ebp - 0x10], eax
mov dl, 1
mov eax, dword [sym.imp.rtl120.bpl__Classes_TStringList_]
call sub.rtl120.bpl__Classes_TStringList__bctr_qqrv
mov dword [ebp - 0x14], eax
mov dl, 1
mov eax, dword [sym.imp.rtl120.bpl__Classes_TStringList_]
call sub.rtl120.bpl__Classes_TStringList__bctr_qqrv
mov dword [ebp - 0x18], eax
mov ecx, 0x20119
mov dl, 1
mov eax, dword [sym.imp.rtl120.bpl__Registry_TRegistry_]
call sub.rtl120.bpl__Registry_TRegistry__bctr_qqrui
mov dword [ebp - 0x1c], eax
xor edx, edx
push ebp
push 0x663864
push dword fs:[edx]
mov dword fs:[edx], esp
mov edx, 0x66395c
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x663980
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
push 0
mov eax, dword [ebp - 0x18]
push eax
lea edx, [ebp - 0x28]
mov eax, 7
call fcn.0040b974
mov edx, dword [ebp - 0x28]
lea eax, [ebp - 0xc]
mov ecx, 0x6639a0
call fcn.0040f590
mov esi, eax
dec esi
test esi, esi
jl 0x6614d5
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x30]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x30]
lea edx, [ebp - 0x2c]
call sub.rtl120.bpl__Sysutils_ExtractFileExt_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x2c]
mov edx, 0x6639b4
call sub.rtl120.bpl__Sysutils_SameText_qqrx20System_UnicodeStringt1
test al, al
je 0x6614b9
lea ecx, [ebp - 0x38]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x34]
call fcn.0040bccc
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x6614d1
lea ecx, [ebp - 0x3c]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x66146b
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
push 0
mov eax, dword [ebp - 0x18]
push eax
lea edx, [ebp - 0x40]
mov eax, 0x18
call fcn.0040b974
mov edx, dword [ebp - 0x40]
lea eax, [ebp - 0xc]
mov ecx, 0x6639a0
call fcn.0040f590
mov esi, eax
dec esi
test esi, esi
jl 0x661574
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x48]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x48]
lea edx, [ebp - 0x44]
call sub.rtl120.bpl__Sysutils_ExtractFileExt_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x44]
mov edx, 0x6639b4
call sub.rtl120.bpl__Sysutils_SameText_qqrx20System_UnicodeStringt1
test al, al
je 0x661558
lea ecx, [ebp - 0x50]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x50]
lea edx, [ebp - 0x4c]
call fcn.0040bccc
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x661570
lea ecx, [ebp - 0x54]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x66150a
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, 0x80000001
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x6639cc
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x6615eb
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_GetValueNames_qqrp16Classes_TStrings
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x6615e3
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x5c]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x5c]
lea ecx, [ebp - 0x58]
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x6615b9
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, 0x80000001
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x663a34
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x661662
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_GetValueNames_qqrp16Classes_TStrings
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x66165a
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x64]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x64]
lea ecx, [ebp - 0x60]
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x661630
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, 0x80000002
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x663ab4
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x6616d9
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_GetValueNames_qqrp16Classes_TStrings
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x6616d1
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x6c]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x6c]
lea ecx, [ebp - 0x68]
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x6616a7
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, 0x80000002
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x663b1c
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x661750
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_GetValueNames_qqrp16Classes_TStrings
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x661748
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x74]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x74]
lea ecx, [ebp - 0x70]
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x66171e
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, 0x80000001
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x663b9c
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x6617c7
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_GetValueNames_qqrp16Classes_TStrings
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x6617bf
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x7c]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x7c]
lea ecx, [ebp - 0x78]
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x661795
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, 0x80000001
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x663c0c
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x661844
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_GetValueNames_qqrp16Classes_TStrings
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x66183c
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x84]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x84]
lea ecx, [ebp - 0x80]
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
mov edx, dword [ebp - 0x80]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x66180c
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, 0x80000002
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x663c94
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x6618c7
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_GetValueNames_qqrp16Classes_TStrings
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x6618bf
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x8c]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x8c]
lea ecx, [ebp - 0x88]
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x661889
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, 0x80000002
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x663d04
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x66194a
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_GetValueNames_qqrp16Classes_TStrings
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x661942
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x94]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x94]
lea ecx, [ebp - 0x90]
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x66190c
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, 0x80000001
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x663d8c
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x661cc9
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_GetValueNames_qqrp16Classes_TStrings
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x661cc9
inc esi
xor ebx, ebx
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx + 0x44]
lea ecx, [ebp - 0x9c]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x9c]
lea eax, [ebp - 0x98]
mov edx, 0x663e00
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov edx, dword [ebp - 0x98]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x661cc1
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_GetValueNames_qqrp16Classes_TStrings
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x661cb9
inc eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0xa0]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0xa0]
lea ecx, [ebp - 4]
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
lea ecx, [ebp - 0x14]
mov edx, 0x663e78
mov eax, dword [ebp - 4]
call fcn.0040a418
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
jl 0x661ac3
lea ecx, [ebp - 0xa8]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xa8]
lea edx, [ebp - 0xa4]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0xa4]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
jle 0x661ac3
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp - 0xb8]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0x11
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x663e88
call fcn.0040fdb0
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 2
jl 0x661b7a
lea ecx, [ebp - 0xc0]
mov edx, 1
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xc0]
lea edx, [ebp - 0xbc]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0xbc]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
jle 0x661b7a
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp - 0xd8]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xd4], eax
mov byte [ebp - 0xd0], 0x11
lea ecx, [ebp - 0xdc]
mov edx, 1
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xcc], eax
mov byte [ebp - 0xc8], 0x11
lea edx, [ebp - 0xd4]
mov ecx, 1
mov eax, 0x663eb4
call fcn.0040fdb0
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 3
jl 0x661cad
lea ecx, [ebp - 0xe4]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xe4]
lea edx, [ebp - 0xe0]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0xe0]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
jne 0x661c14
lea ecx, [ebp - 0xec]
mov edx, 1
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xec]
lea edx, [ebp - 0xe8]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0xe8]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
jne 0x661c14
lea ecx, [ebp - 0xf0]
mov edx, 2
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x661cad
lea eax, [ebp - 0xf4]
push eax
lea ecx, [ebp - 0x110]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x10c], eax
mov byte [ebp - 0x108], 0x11
lea ecx, [ebp - 0x114]
mov edx, 1
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x104], eax
mov byte [ebp - 0x100], 0x11
lea ecx, [ebp - 0x118]
mov edx, 2
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0xfc], eax
mov byte [ebp - 0xf8], 0x11
lea edx, [ebp - 0x10c]
mov ecx, 2
mov eax, 0x663ee8
call fcn.0040fdb0
mov edx, dword [ebp - 0xf4]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc dword [ebp - 0x20]
dec dword [ebp - 0x24]
jne 0x661a0c
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
inc ebx
dec esi
jne 0x66199f
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, 0x80000001
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x663f20
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x662048
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_GetValueNames_qqrp16Classes_TStrings
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x662048
inc esi
xor ebx, ebx
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx + 0x44]
lea ecx, [ebp - 0x120]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x120]
lea eax, [ebp - 0x11c]
mov edx, 0x663fac
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov edx, dword [ebp - 0x11c]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x662040
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_GetValueNames_qqrp16Classes_TStrings
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x662038
inc eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x124]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x124]
lea ecx, [ebp - 4]
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
lea ecx, [ebp - 0x14]
mov edx, 0x663e78
mov eax, dword [ebp - 4]
call fcn.0040a418
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
jl 0x661e42
lea ecx, [ebp - 0x12c]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x12c]
lea edx, [ebp - 0x128]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x128]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
jle 0x661e42
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x134]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0x11
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x663e88
call fcn.0040fdb0
mov edx, dword [ebp - 0x130]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 2
jl 0x661ef9
lea ecx, [ebp - 0x13c]
mov edx, 1
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x13c]
lea edx, [ebp - 0x138]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x138]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
jle 0x661ef9
lea eax, [ebp - 0x140]
push eax
lea ecx, [ebp - 0x144]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0xd4], eax
mov byte [ebp - 0xd0], 0x11
lea ecx, [ebp - 0x148]
mov edx, 1
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0xcc], eax
mov byte [ebp - 0xc8], 0x11
lea edx, [ebp - 0xd4]
mov ecx, 1
mov eax, 0x663eb4
call fcn.0040fdb0
mov edx, dword [ebp - 0x140]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 3
jl 0x66202c
lea ecx, [ebp - 0x150]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x150]
lea edx, [ebp - 0x14c]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x14c]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
jne 0x661f93
lea ecx, [ebp - 0x158]
mov edx, 1
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x158]
lea edx, [ebp - 0x154]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x154]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
jne 0x661f93
lea ecx, [ebp - 0x15c]
mov edx, 2
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x15c]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x66202c
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x164]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x10c], eax
mov byte [ebp - 0x108], 0x11
lea ecx, [ebp - 0x168]
mov edx, 1
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x104], eax
mov byte [ebp - 0x100], 0x11
lea ecx, [ebp - 0x16c]
mov edx, 2
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0xfc], eax
mov byte [ebp - 0xf8], 0x11
lea edx, [ebp - 0x10c]
mov ecx, 2
mov eax, 0x663ee8
call fcn.0040fdb0
mov edx, dword [ebp - 0x160]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc dword [ebp - 0x20]
dec dword [ebp - 0x24]
jne 0x661d8b
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
inc ebx
dec esi
jne 0x661d1e
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, 0x80000002
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x66403c
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x6623c7
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_GetValueNames_qqrp16Classes_TStrings
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x6623c7
inc esi
xor ebx, ebx
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx + 0x44]
lea ecx, [ebp - 0x174]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x174]
lea eax, [ebp - 0x170]
mov edx, 0x6640b0
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov edx, dword [ebp - 0x170]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x6623bf
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_GetValueNames_qqrp16Classes_TStrings
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x6623b7
inc eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x178]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x178]
lea ecx, [ebp - 4]
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
lea ecx, [ebp - 0x14]
mov edx, 0x663e78
mov eax, dword [ebp - 4]
call fcn.0040a418
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
jl 0x6621c1
lea ecx, [ebp - 0x180]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x180]
lea edx, [ebp - 0x17c]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x17c]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
jle 0x6621c1
lea eax, [ebp - 0x184]
push eax
lea ecx, [ebp - 0x188]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0x11
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x663e88
call fcn.0040fdb0
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 2
jl 0x662278
lea ecx, [ebp - 0x190]
mov edx, 1
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x190]
lea edx, [ebp - 0x18c]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x18c]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
jle 0x662278
lea eax, [ebp - 0x194]
push eax
lea ecx, [ebp - 0x198]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0xd4], eax
mov byte [ebp - 0xd0], 0x11
lea ecx, [ebp - 0x19c]
mov edx, 1
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0xcc], eax
mov byte [ebp - 0xc8], 0x11
lea edx, [ebp - 0xd4]
mov ecx, 1
mov eax, 0x663eb4
call fcn.0040fdb0
mov edx, dword [ebp - 0x194]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 3
jl 0x6623ab
lea ecx, [ebp - 0x1a4]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1a4]
lea edx, [ebp - 0x1a0]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x1a0]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
jne 0x662312
lea ecx, [ebp - 0x1ac]
mov edx, 1
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1ac]
lea edx, [ebp - 0x1a8]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x1a8]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
jne 0x662312
lea ecx, [ebp - 0x1b0]
mov edx, 2
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x6623ab
lea eax, [ebp - 0x1b4]
push eax
lea ecx, [ebp - 0x1b8]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x10c], eax
mov byte [ebp - 0x108], 0x11
lea ecx, [ebp - 0x1bc]
mov edx, 1
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x104], eax
mov byte [ebp - 0x100], 0x11
lea ecx, [ebp - 0x1c0]
mov edx, 2
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 0xfc], eax
mov byte [ebp - 0xf8], 0x11
lea edx, [ebp - 0x10c]
mov ecx, 2
mov eax, 0x663ee8
call fcn.0040fdb0
mov edx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc dword [ebp - 0x20]
dec dword [ebp - 0x24]
jne 0x66210a
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
inc ebx
dec esi
jne 0x66209d
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, 0x80000002
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x664128
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x662746
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_GetValueNames_qqrp16Classes_TStrings
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x662746
inc esi
xor ebx, ebx
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx + 0x44]
lea ecx, [ebp - 0x1c8]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x1c8]
lea eax, [ebp - 0x1c4]
mov edx, 0x6641b4
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov edx, dword [ebp - 0x1c4]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x66273e
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_GetValueNames_qqrp16Classes_TStrings
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x662736
inc eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x1cc]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x1cc]
lea ecx, [ebp - 4]
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
lea ecx, [ebp - 0x14]
mov edx, 0x663e78
mov eax, dword [ebp - 4]
call fcn.0040a418
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
jl 0x662540
lea ecx, [ebp - 0x1d4]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1d4]
lea edx, [ebp - 0x1d0]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x1d0]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
jle 0x662540
lea eax, [ebp - 0x1d8]
push eax
lea ecx, [ebp - 0x1dc]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0x11
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x663e88
call fcn.0040fdb0
mov edx, dword [ebp - 0x1d8]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 2
jl 0x6625f7
lea ecx, [ebp - 0x1e4]
mov edx, 1
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1e4]
lea edx, [ebp - 0x1e0]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x1e0]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
jle 0x6625f7
lea eax, [ebp - 0x1e8]
push eax
lea ecx, [ebp - 0x1ec]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0xd4], eax
mov byte [ebp - 0xd0], 0x11
lea ecx, [ebp - 0x1f0]
mov edx, 1
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1f0]
mov dword [ebp - 0xcc], eax
mov byte [ebp - 0xc8], 0x11
lea edx, [ebp - 0xd4]
mov ecx, 1
mov eax, 0x663eb4
call fcn.0040fdb0
mov edx, dword [ebp - 0x1e8]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 3
jl 0x66272a
lea ecx, [ebp - 0x1f8]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1f8]
lea edx, [ebp - 0x1f4]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x1f4]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
jne 0x662691
lea ecx, [ebp - 0x200]
mov edx, 1
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x200]
lea edx, [ebp - 0x1fc]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x1fc]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
jne 0x662691
lea ecx, [ebp - 0x204]
mov edx, 2
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x204]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x66272a
lea eax, [ebp - 0x208]
push eax
lea ecx, [ebp - 0x20c]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x20c]
mov dword [ebp - 0x10c], eax
mov byte [ebp - 0x108], 0x11
lea ecx, [ebp - 0x210]
mov edx, 1
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x104], eax
mov byte [ebp - 0x100], 0x11
lea ecx, [ebp - 0x214]
mov edx, 2
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0xfc], eax
mov byte [ebp - 0xf8], 0x11
lea edx, [ebp - 0x10c]
mov ecx, 2
mov eax, 0x663ee8
call fcn.0040fdb0
mov edx, dword [ebp - 0x208]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc dword [ebp - 0x20]
dec dword [ebp - 0x24]
jne 0x662489
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
inc ebx
dec esi
jne 0x66241c
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, 0x80000001
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x664244
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x6627c9
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_GetValueNames_qqrp16Classes_TStrings
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x6627c1
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x21c]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x21c]
lea ecx, [ebp - 0x218]
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
mov edx, dword [ebp - 0x218]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x66278b
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, 0x80000001
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x6642d0
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x66284c
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_GetValueNames_qqrp16Classes_TStrings
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x662844
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x224]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x224]
lea ecx, [ebp - 0x220]
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
mov edx, dword [ebp - 0x220]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x66280e
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, 0x80000002
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x664374
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x6628cf
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_GetValueNames_qqrp16Classes_TStrings
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x6628c7
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x22c]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x22c]
lea ecx, [ebp - 0x228]
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
mov edx, dword [ebp - 0x228]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x662891
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, 0x80000002
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x664400
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x662952
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_GetValueNames_qqrp16Classes_TStrings
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x66294a
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x234]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x234]
lea ecx, [ebp - 0x230]
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
mov edx, dword [ebp - 0x230]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x662914
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov edx, 0x80000001
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x6644a4
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x662a17
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov dx, 0x2c
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__Classes_TStrings_SetDelimiter_qqrxb
lea ecx, [ebp - 0x238]
mov edx, 0x66451c
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
mov edx, dword [ebp - 0x238]
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__Classes_TStrings_SetDelimitedText_qqrx20System_UnicodeString
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x662a0f
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x240]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x240]
lea edx, [ebp - 0x23c]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x23c]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
je 0x662a0b
lea ecx, [ebp - 0x244]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x244]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x6629bd
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov edx, 0x80000001
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x664530
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x662adc
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov dx, 0x2c
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__Classes_TStrings_SetDelimiter_qqrxb
lea ecx, [ebp - 0x248]
mov edx, 0x66451c
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
mov edx, dword [ebp - 0x248]
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__Classes_TStrings_SetDelimitedText_qqrx20System_UnicodeString
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x662ad4
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x250]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x250]
lea edx, [ebp - 0x24c]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x24c]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
je 0x662ad0
lea ecx, [ebp - 0x254]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x662a82
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov edx, 0x80000001
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x6644a4
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x662ba1
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov dx, 0x2c
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__Classes_TStrings_SetDelimiter_qqrxb
lea ecx, [ebp - 0x258]
mov edx, 0x6645c0
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
mov edx, dword [ebp - 0x258]
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__Classes_TStrings_SetDelimitedText_qqrx20System_UnicodeString
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x662b99
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x260]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x260]
lea edx, [ebp - 0x25c]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x25c]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
je 0x662b95
lea ecx, [ebp - 0x264]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x264]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x662b47
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov edx, 0x80000001
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x664530
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x662c66
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov dx, 0x2c
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__Classes_TStrings_SetDelimiter_qqrxb
lea ecx, [ebp - 0x268]
mov edx, 0x6645c0
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
mov edx, dword [ebp - 0x268]
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__Classes_TStrings_SetDelimitedText_qqrx20System_UnicodeString
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x662c5e
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x270]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x270]
lea edx, [ebp - 0x26c]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x26c]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
je 0x662c5a
lea ecx, [ebp - 0x274]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x274]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x662c0c
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov edx, 0x80000002
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x6645d8
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x662d2b
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov dx, 0x2c
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__Classes_TStrings_SetDelimiter_qqrxb
lea ecx, [ebp - 0x278]
mov edx, 0x66451c
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
mov edx, dword [ebp - 0x278]
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__Classes_TStrings_SetDelimitedText_qqrx20System_UnicodeString
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x662d23
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x280]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x280]
lea edx, [ebp - 0x27c]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x27c]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
je 0x662d1f
lea ecx, [ebp - 0x284]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x284]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x662cd1
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov edx, 0x80000002
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x664650
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x662df0
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov dx, 0x2c
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__Classes_TStrings_SetDelimiter_qqrxb
lea ecx, [ebp - 0x288]
mov edx, 0x66451c
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
mov edx, dword [ebp - 0x288]
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__Classes_TStrings_SetDelimitedText_qqrx20System_UnicodeString
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x662de8
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x290]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x290]
lea edx, [ebp - 0x28c]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x28c]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
je 0x662de4
lea ecx, [ebp - 0x294]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x294]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x662d96
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov edx, 0x80000002
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x6645d8
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x662eb5
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov dx, 0x2c
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__Classes_TStrings_SetDelimiter_qqrxb
lea ecx, [ebp - 0x298]
mov edx, 0x6645c0
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
mov edx, dword [ebp - 0x298]
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__Classes_TStrings_SetDelimitedText_qqrx20System_UnicodeString
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x662ead
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x2a0]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x2a0]
lea edx, [ebp - 0x29c]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x29c]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
je 0x662ea9
lea ecx, [ebp - 0x2a4]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x2a4]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x662e5b
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov edx, 0x80000002
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x664650
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x662f7a
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov dx, 0x2c
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__Classes_TStrings_SetDelimiter_qqrxb
lea ecx, [ebp - 0x2a8]
mov edx, 0x6645c0
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
mov edx, dword [ebp - 0x2a8]
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__Classes_TStrings_SetDelimitedText_qqrx20System_UnicodeString
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x662f72
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x2b0]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x2b0]
lea edx, [ebp - 0x2ac]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x2ac]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
je 0x662f6e
lea ecx, [ebp - 0x2b4]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x2b4]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x662f20
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov edx, 0x80000001
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x6646e0
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x6630e1
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov dx, 0x2c
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__Classes_TStrings_SetDelimiter_qqrxb
lea ecx, [ebp - 0x2b8]
mov edx, 0x664760
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
mov edx, dword [ebp - 0x2b8]
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__Classes_TStrings_SetDelimitedText_qqrx20System_UnicodeString
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x6630d9
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x2c0]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x2c0]
lea edx, [ebp - 0x2bc]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x2bc]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
je 0x6630d1
test ebx, ebx
jne 0x6630b3
lea ecx, [ebp - 0x2c4]
xor edx, edx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x2c4]
mov edx, 0x664778
call sub.rtl120.bpl__Sysutils_CompareText_qqrx20System_UnicodeStringt1
test eax, eax
je 0x6630d1
lea ecx, [ebp - 0x2c8]
xor edx, edx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x2c8]
mov edx, 0x6647a0
call sub.rtl120.bpl__Sysutils_CompareText_qqrx20System_UnicodeStringt1
test eax, eax
je 0x6630d1
lea ecx, [ebp - 0x2cc]
xor edx, edx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x2cc]
push eax
lea eax, [ebp - 0x2d0]
call fcn.0040b87c
lea eax, [ebp - 0x2d0]
mov edx, 0x664778
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
mov edx, dword [ebp - 0x2d0]
pop eax
call sub.rtl120.bpl__Sysutils_CompareText_qqrx20System_UnicodeStringt1
test eax, eax
je 0x6630d1
lea ecx, [ebp - 0x2d4]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x2d4]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x662fe9
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov edx, 0x80000001
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x6647d8
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x663248
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov dx, 0x2c
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__Classes_TStrings_SetDelimiter_qqrxb
lea ecx, [ebp - 0x2d8]
mov edx, 0x664760
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
mov edx, dword [ebp - 0x2d8]
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__Classes_TStrings_SetDelimitedText_qqrx20System_UnicodeString
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x663240
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x2e0]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x2e0]
lea edx, [ebp - 0x2dc]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x2dc]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
je 0x663238
test ebx, ebx
jne 0x66321a
lea ecx, [ebp - 0x2e4]
xor edx, edx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x2e4]
mov edx, 0x664778
call sub.rtl120.bpl__Sysutils_CompareText_qqrx20System_UnicodeStringt1
test eax, eax
je 0x663238
lea ecx, [ebp - 0x2e8]
xor edx, edx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x2e8]
mov edx, 0x6647a0
call sub.rtl120.bpl__Sysutils_CompareText_qqrx20System_UnicodeStringt1
test eax, eax
je 0x663238
lea ecx, [ebp - 0x2ec]
xor edx, edx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x2ec]
push eax
lea eax, [ebp - 0x2f0]
call fcn.0040b87c
lea eax, [ebp - 0x2f0]
mov edx, 0x664778
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
mov edx, dword [ebp - 0x2f0]
pop eax
call sub.rtl120.bpl__Sysutils_CompareText_qqrx20System_UnicodeStringt1
test eax, eax
je 0x663238
lea ecx, [ebp - 0x2f4]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x2f4]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x663150
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov edx, 0x80000002
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x664870
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x6633af
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov dx, 0x2c
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__Classes_TStrings_SetDelimiter_qqrxb
lea ecx, [ebp - 0x2f8]
mov edx, 0x664760
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
mov edx, dword [ebp - 0x2f8]
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__Classes_TStrings_SetDelimitedText_qqrx20System_UnicodeString
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x6633a7
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x300]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x300]
lea edx, [ebp - 0x2fc]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x2fc]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
je 0x66339f
test ebx, ebx
jne 0x663381
lea ecx, [ebp - 0x304]
xor edx, edx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x304]
mov edx, 0x664778
call sub.rtl120.bpl__Sysutils_CompareText_qqrx20System_UnicodeStringt1
test eax, eax
je 0x66339f
lea ecx, [ebp - 0x308]
xor edx, edx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x308]
mov edx, 0x6647a0
call sub.rtl120.bpl__Sysutils_CompareText_qqrx20System_UnicodeStringt1
test eax, eax
je 0x66339f
lea ecx, [ebp - 0x30c]
xor edx, edx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x30c]
push eax
lea eax, [ebp - 0x310]
call fcn.0040b87c
lea eax, [ebp - 0x310]
mov edx, 0x664778
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
mov edx, dword [ebp - 0x310]
pop eax
call sub.rtl120.bpl__Sysutils_CompareText_qqrx20System_UnicodeStringt1
test eax, eax
je 0x66339f
lea ecx, [ebp - 0x314]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x314]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x6632b7
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov edx, 0x80000002
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x6648e8
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x663516
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov dx, 0x2c
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__Classes_TStrings_SetDelimiter_qqrxb
lea ecx, [ebp - 0x318]
mov edx, 0x664760
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
mov edx, dword [ebp - 0x318]
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__Classes_TStrings_SetDelimitedText_qqrx20System_UnicodeString
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x66350e
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x320]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x320]
lea edx, [ebp - 0x31c]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x31c]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
je 0x663506
test ebx, ebx
jne 0x6634e8
lea ecx, [ebp - 0x324]
xor edx, edx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x324]
mov edx, 0x664778
call sub.rtl120.bpl__Sysutils_CompareText_qqrx20System_UnicodeStringt1
test eax, eax
je 0x663506
lea ecx, [ebp - 0x328]
xor edx, edx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x328]
mov edx, 0x6647a0
call sub.rtl120.bpl__Sysutils_CompareText_qqrx20System_UnicodeStringt1
test eax, eax
je 0x663506
lea ecx, [ebp - 0x32c]
xor edx, edx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x32c]
push eax
lea eax, [ebp - 0x330]
call fcn.0040b87c
lea eax, [ebp - 0x330]
mov edx, 0x664778
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
mov edx, dword [ebp - 0x330]
pop eax
call sub.rtl120.bpl__Sysutils_CompareText_qqrx20System_UnicodeStringt1
test eax, eax
je 0x663506
lea ecx, [ebp - 0x334]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x334]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x66341e
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov edx, 0x80000002
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x664870
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x66367d
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov dx, 0x2c
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__Classes_TStrings_SetDelimiter_qqrxb
lea ecx, [ebp - 0x338]
mov edx, 0x664978
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
mov edx, dword [ebp - 0x338]
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__Classes_TStrings_SetDelimitedText_qqrx20System_UnicodeString
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x663675
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x340]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x340]
lea edx, [ebp - 0x33c]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x33c]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
je 0x66366d
test ebx, ebx
jne 0x66364f
lea ecx, [ebp - 0x344]
xor edx, edx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x344]
mov edx, 0x664998
call sub.rtl120.bpl__Sysutils_CompareText_qqrx20System_UnicodeStringt1
test eax, eax
je 0x66366d
lea ecx, [ebp - 0x348]
xor edx, edx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x348]
mov edx, 0x6649c0
call sub.rtl120.bpl__Sysutils_CompareText_qqrx20System_UnicodeStringt1
test eax, eax
je 0x66366d
lea ecx, [ebp - 0x34c]
xor edx, edx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x34c]
push eax
lea eax, [ebp - 0x350]
call fcn.0040b87c
lea eax, [ebp - 0x350]
mov edx, 0x664998
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
mov edx, dword [ebp - 0x350]
pop eax
call sub.rtl120.bpl__Sysutils_CompareText_qqrx20System_UnicodeStringt1
test eax, eax
je 0x66366d
lea ecx, [ebp - 0x354]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x354]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x663585
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov edx, 0x80000002
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_SetRootKey_qqrp6HKEY__
xor ecx, ecx
mov edx, 0x6648e8
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_OpenKey_qqrx20System_UnicodeStringo
test al, al
je 0x6637e4
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov dx, 0x2c
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__Classes_TStrings_SetDelimiter_qqrxb
lea ecx, [ebp - 0x358]
mov edx, 0x664978
mov eax, dword [ebp - 0x1c]
call fcn.00660fac
mov edx, dword [ebp - 0x358]
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__Classes_TStrings_SetDelimitedText_qqrx20System_UnicodeString
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x6637dc
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x360]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x360]
lea edx, [ebp - 0x35c]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x35c]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
test eax, eax
je 0x6637d4
test ebx, ebx
jne 0x6637b6
lea ecx, [ebp - 0x364]
xor edx, edx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x364]
mov edx, 0x664998
call sub.rtl120.bpl__Sysutils_CompareText_qqrx20System_UnicodeStringt1
test eax, eax
je 0x6637d4
lea ecx, [ebp - 0x368]
xor edx, edx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x368]
mov edx, 0x6649c0
call sub.rtl120.bpl__Sysutils_CompareText_qqrx20System_UnicodeStringt1
test eax, eax
je 0x6637d4
lea ecx, [ebp - 0x36c]
xor edx, edx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x36c]
push eax
lea eax, [ebp - 0x370]
call fcn.0040b87c
lea eax, [ebp - 0x370]
mov edx, 0x664998
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
mov edx, dword [ebp - 0x370]
pop eax
call sub.rtl120.bpl__Sysutils_CompareText_qqrx20System_UnicodeStringt1
test eax, eax
je 0x6637d4
lea ecx, [ebp - 0x374]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x374]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x6636ec
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__Registry_TRegistry_CloseKey_qqrv
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
cmp ebx, 3
jl 0x66382e
lea ecx, [ebp - 0x37c]
mov edx, ebx
mov eax, dword [ebp - 8]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x37c]
lea edx, [ebp - 0x378]
call sub.rtl120.bpl__Sysutils_Trim_qqrx20System_UnicodeString
cmp dword [ebp - 0x378], 0
jne 0x663828
mov edx, ebx
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x48]
dec ebx
cmp ebx, 2
jne 0x6637f4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x66386b
mov eax, dword [ebp - 0xc]
call sub.rtl120.bpl__System_TObject_Free_qqrv
mov eax, dword [ebp - 0x10]
call sub.rtl120.bpl__System_TObject_Free_qqrv
mov eax, dword [ebp - 0x14]
call sub.rtl120.bpl__System_TObject_Free_qqrv
mov eax, dword [ebp - 0x18]
call sub.rtl120.bpl__System_TObject_Free_qqrv
mov eax, dword [ebp - 0x1c]
call sub.rtl120.bpl__System_TObject_Free_qqrv
ret