Function at 0x405bc4
Capabilities:
Get session user name

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x57
push 0
push 0
dec ecx
jne 0x405bcc
push ecx
push ebx
push esi
push edi
mov ebx, eax
xor eax, eax
push ebp
push 0x406be3
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebx + 0x38]
call sub.Vcl50.bpl__System__LStrClr_qqrr17System_AnsiString
mov byte [ebp - 1], 0
lea eax, [ebx + 4]
call sub.Vcl50.bpl__System__LStrClr_qqrr17System_AnsiString
lea eax, [ebx + 8]
call sub.Vcl50.bpl__System__LStrClr_qqrr17System_AnsiString
lea eax, [ebx + 0xc]
mov edx, 0x406c00
call sub.Vcl50.bpl__System__LStrAsg_qqrv
lea eax, [ebx + 0x10]
mov edx, 0x406c0c
call sub.Vcl50.bpl__System__LStrAsg_qqrv
lea eax, [ebx + 0x14]
mov edx, 0x406c1c
call sub.Vcl50.bpl__System__LStrAsg_qqrv
lea eax, [ebx + 0x18]
mov edx, 0x406c1c
call sub.Vcl50.bpl__System__LStrAsg_qqrv
call sub.kernel32.dll_GetACP
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x40]
call sub.Vcl50.bpl__Sysutils_IntToStr_qqrj
mov edx, dword [ebp - 0x40]
lea eax, [ebx + 0x1c]
call sub.Vcl50.bpl__System__LStrAsg_qqrv
mov eax, dword [ebx + 0x1c]
mov edx, 0x406c1c
call sub.Vcl50.bpl__System__LStrCmp_qqrv
je 0x405c8b
mov eax, dword [ebx + 0x1c]
mov edx, 0x406c28
call sub.Vcl50.bpl__System__LStrCmp_qqrv
je 0x405c8b
lea eax, [ebx + 0x1c]
mov edx, 0x406c34
call sub.Vcl50.bpl__System__LStrAsg_qqrv
mov edx, 0x406c34
lea eax, [ebx + 0x14]
call sub.Vcl50.bpl__System__LStrAsg_qqrv
lea eax, [ebx + 0x14]
mov edx, dword [ebx + 0x1c]
call sub.Vcl50.bpl__System__LStrAsg_qqrv
mov byte [ebx + 0x22], 0
mov eax, dword [ebx + 0x14]
mov edx, 0x406c28
call sub.Vcl50.bpl__System__LStrCmp_qqrv
jne 0x405caf
mov byte [ebx + 0x20], 2
jmp 0x405cd7
mov eax, dword [ebx + 0x14]
mov edx, 0x406c1c
call sub.Vcl50.bpl__System__LStrCmp_qqrv
jne 0x405cd3
mov eax, dword [ebx + 0x1c]
mov edx, 0x406c28
call sub.Vcl50.bpl__System__LStrCmp_qqrv
jne 0x405cd3
mov byte [ebx + 0x20], 4
jmp 0x405cd7
mov byte [ebx + 0x20], 0
mov eax, dword [ebx + 0x14]
mov edx, 0x406c28
call sub.Vcl50.bpl__System__LStrCmp_qqrv
jne 0x405cfb
mov eax, dword [ebx + 0x18]
mov edx, 0x406c1c
call sub.Vcl50.bpl__System__LStrCmp_qqrv
jne 0x405cfb
mov byte [ebx + 0x21], 2
jmp 0x405d23
mov eax, dword [ebx + 0x14]
mov edx, 0x406c1c
call sub.Vcl50.bpl__System__LStrCmp_qqrv
jne 0x405d1f
mov eax, dword [ebx + 0x18]
mov edx, 0x406c28
call sub.Vcl50.bpl__System__LStrCmp_qqrv
jne 0x405d1f
mov byte [ebx + 0x21], 1
jmp 0x405d23
mov byte [ebx + 0x21], 0
lea eax, [ebx + 0x24]
call sub.Vcl50.bpl__System__LStrClr_qqrr17System_AnsiString
mov dl, 1
mov eax, dword [sym.imp.Vcl50.bpl__Registry_TRegistry_]
call sub.Vcl50.bpl__Registry_TRegistry__bctr_qqrv
mov esi, eax
mov edx, 0x80000002
mov eax, esi
call sub.Vcl50.bpl__Registry_TRegistry_SetRootKey_qqrui
mov edx, 0x406c40
mov eax, esi
call sub.Vcl50.bpl__Registry_TRegistry_OpenKeyReadOnly_qqrx17System_AnsiString
test al, al
jne 0x405d75
lea eax, [ebx + 0x38]
mov edx, 0x406c60
call sub.Vcl50.bpl__System__LStrAsg_qqrv
mov eax, esi
call sub.Vcl50.bpl__Registry_TRegistry_CloseKey_qqrv
mov eax, esi
call sub.Vcl50.bpl__System_TObject_Free_qqrv
jmp 0x406964
lea ecx, [ebp - 0x44]
mov edx, 0x406c74
mov eax, esi
call sub.Vcl50.bpl__Registry_TRegistry_ReadString_qqrx17System_AnsiString
mov edx, dword [ebp - 0x44]
lea eax, [ebx + 4]
call sub.Vcl50.bpl__System__LStrAsg_qqrv
lea ecx, [ebp - 0x10]
mov edx, 0x406c88
mov eax, esi
call sub.Vcl50.bpl__Registry_TRegistry_ReadString_qqrx17System_AnsiString
lea eax, [ebx + 0xc]
mov edx, dword [ebp - 0x10]
call sub.Vcl50.bpl__System__LStrAsg_qqrv
mov eax, esi
call sub.Vcl50.bpl__Registry_TRegistry_CloseKey_qqrv
mov eax, esi
call sub.Vcl50.bpl__System_TObject_Free_qqrv
mov eax, dword [ebx + 4]
call sub.Vcl50.bpl__System__LStrLen_qqrv
mov edx, dword [ebx + 4]
cmp byte [edx + eax - 1], 0x5c
je 0x405dd6
lea eax, [ebx + 4]
mov edx, 0x406c9c
call sub.Vcl50.bpl__System__LStrCat_qqrv
cmp dword [ebp - 0x10], 0
je 0x405deb
mov eax, dword [ebp - 0x10]
mov edx, 0x406c00
call sub.Vcl50.bpl__System__LStrCmp_qqrv
jne 0x405df8
lea eax, [ebx + 8]
mov edx, dword [ebx + 4]
call sub.Vcl50.bpl__System__LStrAsg_qqrv
jmp 0x405e49
mov dword [ebp - 0x14], 0x20
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x3c]
push eax
call sub.advapi32.dll_GetUserNameA
push dword [ebx + 4]
push 0x406ca8
lea eax, [ebp - 0x48]
lea edx, [ebp - 0x3c]
mov ecx, 0x20
call sub.Vcl50.bpl__System__LStrFromArray_qqrr17System_AnsiStringpci
push dword [ebp - 0x48]
push 0x406c9c
lea eax, [ebx + 8]
mov edx, 4
call sub.Vcl50.bpl__System__LStrCatN_qqrv
lea eax, [ebx + 0x10]
lea edx, [ebp - 0x3c]
mov ecx, 0x20
call sub.Vcl50.bpl__System__LStrFromArray_qqrr17System_AnsiStringpci
lea eax, [ebx + 0x24]
mov ecx, 0x406cbc
mov edx, dword [ebx + 8]
call sub.Vcl50.bpl__System__LStrCat3_qqrv
mov eax, dword [ebx + 0x24]
call sub.Vcl50.bpl__Sysutils_FileExists_qqrx17System_AnsiString
test al, al
jne 0x405e80
lea eax, [ebx + 8]
mov edx, dword [ebx + 4]
call sub.Vcl50.bpl__System__LStrAsg_qqrv
mov ecx, 0x406cbc
lea eax, [ebx + 0x24]
mov edx, dword [ebx + 8]
call sub.Vcl50.bpl__System__LStrCat3_qqrv
lea eax, [ebx + 0x28]
push eax
xor eax, eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], 3
xor eax, eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], 7
lea eax, [ebp - 0x58]
mov ecx, 0xc
mov edx, 3
call sub.Vcl50.bpl__System_VarArrayCreate_qqrpxixii
mov ecx, dword [ebx + 0x24]
mov dl, 1
mov eax, dword [sym.imp.Vcl50.bpl__Inifiles_TIniFile_]
call sub.Vcl50.bpl__Inifiles_TCustomIniFile__bctr_qqrx17System_AnsiString
mov esi, eax
push 0
lea eax, [ebp - 0x5c]
push eax
mov ecx, 0x406cd4
mov edx, 0x406ce4
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0x5c]
lea eax, [ebx + 0x40]
call sub.Vcl50.bpl__System__LStrAsg_qqrv
mov eax, dword [ebx + 0x1c]
push eax
lea eax, [ebp - 0x60]
push eax
mov ecx, 0x406cfc
mov edx, 0x406d10
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0x60]
lea eax, [ebx + 0x14]
call sub.Vcl50.bpl__System__LStrAsg_qqrv
push 0x406c1c
lea eax, [ebp - 0x64]
push eax
mov edx, 0x406d10
mov ecx, 0x406d24
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0x64]
lea eax, [ebx + 0x18]
call sub.Vcl50.bpl__System__LStrAsg_qqrv
push 1
push 0
push 2
push 0x406d38
lea eax, [ebp - 0x78]
push eax
mov ecx, 0x406d44
mov edx, 0x406d5c
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0x78]
lea eax, [ebp - 0x74]
call sub.Vcl50.bpl__System__VarFromLStr_qqrr14System_Variantx17System_AnsiString
lea eax, [ebp - 0x74]
push eax
lea eax, [ebx + 0x28]
push eax
call sub.Vcl50.bpl__System__VarArrayPut_qr14System_Variantrx14System_Variantii
add esp, 0x14
mov edx, 0x406d5c
mov ecx, 0x406d70
mov eax, esi
call sub.Vcl50.bpl__Inifiles_TCustomIniFile_ValueExists_qqrx17System_AnsiStringt1
test al, al
jne 0x405fcc
push 2
push 0
push 2
push 0
lea eax, [ebp - 0x90]
push eax
mov edx, 0x406d5c
mov ecx, 0x406d80
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov eax, dword [ebp - 0x90]
lea edx, [ebp - 0x8c]
call fcn.00403efc
mov edx, dword [ebp - 0x8c]
lea eax, [ebp - 0x88]
call sub.Vcl50.bpl__System__VarFromLStr_qqrr14System_Variantx17System_AnsiString
lea eax, [ebp - 0x88]
push eax
lea eax, [ebx + 0x28]
push eax
call sub.Vcl50.bpl__System__VarArrayPut_qr14System_Variantrx14System_Variantii
add esp, 0x14
jmp 0x406020
push 2
push 0
push 2
push 0
lea eax, [ebp - 0xa8]
push eax
mov ecx, 0x406d70
mov edx, 0x406d5c
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov eax, dword [ebp - 0xa8]
lea edx, [ebp - 0xa4]
call fcn.00404f88
mov edx, dword [ebp - 0xa4]
lea eax, [ebp - 0xa0]
call sub.Vcl50.bpl__System__VarFromLStr_qqrr14System_Variantx17System_AnsiString
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebx + 0x28]
push eax
call sub.Vcl50.bpl__System__VarArrayPut_qr14System_Variantrx14System_Variantii
add esp, 0x14
push 0
push 0
push 2
push 0x406d90
lea eax, [ebp - 0xbc]
push eax
mov edx, 0x406d5c
mov ecx, 0x406da0
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0xbc]
lea eax, [ebp - 0xb8]
call sub.Vcl50.bpl__System__VarFromLStr_qqrr14System_Variantx17System_AnsiString
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebx + 0x28]
push eax
call sub.Vcl50.bpl__System__VarArrayPut_qr14System_Variantrx14System_Variantii
add esp, 0x14
push 3
push 0
push 2
push 0x406db4
lea eax, [ebp - 0xd0]
push eax
mov edx, 0x406d5c
mov ecx, 0x406dc4
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0xd0]
lea eax, [ebp - 0xcc]
call sub.Vcl50.bpl__System__VarFromLStr_qqrr14System_Variantx17System_AnsiString
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebx + 0x28]
push eax
call sub.Vcl50.bpl__System__VarArrayPut_qr14System_Variantrx14System_Variantii
add esp, 0x14
push 4
push 0
push 2
push 0
lea eax, [ebp - 0xe4]
push eax
mov edx, 0x406d5c
mov ecx, 0x406dd8
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0xe4]
lea eax, [ebp - 0xe0]
call sub.Vcl50.bpl__System__VarFromLStr_qqrr14System_Variantx17System_AnsiString
lea eax, [ebp - 0xe0]
push eax
lea eax, [ebx + 0x28]
push eax
call sub.Vcl50.bpl__System__VarArrayPut_qr14System_Variantrx14System_Variantii
add esp, 0x14
push 5
push 0
push 2
push 0
lea eax, [ebp - 0xf8]
push eax
mov edx, 0x406d5c
mov ecx, 0x406dec
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0xf8]
lea eax, [ebp - 0xf4]
call sub.Vcl50.bpl__System__VarFromLStr_qqrr14System_Variantx17System_AnsiString
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebx + 0x28]
push eax
call sub.Vcl50.bpl__System__VarArrayPut_qr14System_Variantrx14System_Variantii
add esp, 0x14
push 0
lea eax, [ebp - 0xfc]
push eax
mov edx, 0x406d5c
mov ecx, 0x406e04
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0xfc]
lea eax, [ebx + 0x48]
call sub.Vcl50.bpl__System__LStrAsg_qqrv
lea edx, [ebp - 0x100]
mov eax, dword [ebx + 0x48]
call sub.Vcl50.bpl__Sysutils_Trim_qqrx17System_AnsiString
cmp dword [ebp - 0x100], 0
jne 0x406197
push 5
push 0
push 2
lea eax, [ebx + 0x28]
push eax
lea eax, [ebp - 0x110]
push eax
call sub.Vcl50.bpl__System__VarArrayGet_qr14System_Variantii
add esp, 0x14
lea edx, [ebp - 0x110]
lea eax, [ebx + 0x48]
call sub.Vcl50.bpl__System__VarToLStr_qqrr17System_AnsiStringrx14System_Variant
push 0
lea eax, [ebp - 0x114]
push eax
mov edx, 0x406d5c
mov ecx, 0x406e24
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0x114]
lea eax, [ebx + 0x4c]
call sub.Vcl50.bpl__System__LStrAsg_qqrv
lea edx, [ebp - 0x118]
mov eax, dword [ebx + 0x4c]
call sub.Vcl50.bpl__Sysutils_Trim_qqrx17System_AnsiString
cmp dword [ebp - 0x118], 0
jne 0x4061fc
push 5
push 0
push 2
lea eax, [ebx + 0x28]
push eax
lea eax, [ebp - 0x128]
push eax
call sub.Vcl50.bpl__System__VarArrayGet_qr14System_Variantii
add esp, 0x14
lea edx, [ebp - 0x128]
lea eax, [ebx + 0x4c]
call sub.Vcl50.bpl__System__VarToLStr_qqrr17System_AnsiStringrx14System_Variant
push 6
push 0
push 2
push 0x12c
mov edx, 0x406d5c
mov ecx, 0x406e48
mov eax, esi
mov edi, dword [eax]
call dword [edi + 8]
mov edx, eax
lea eax, [ebp - 0x138]
call sub.Vcl50.bpl__System__VarFromInt_qqrv
lea eax, [ebp - 0x138]
push eax
lea eax, [ebx + 0x28]
push eax
call sub.Vcl50.bpl__System__VarArrayPut_qr14System_Variantrx14System_Variantii
add esp, 0x14
push 7
push 0
push 2
push 0xbb8
mov edx, 0x406d5c
mov ecx, 0x406e68
mov eax, esi
mov edi, dword [eax]
call dword [edi + 8]
mov edx, eax
lea eax, [ebp - 0x148]
call sub.Vcl50.bpl__System__VarFromInt_qqrv
lea eax, [ebp - 0x148]
push eax
lea eax, [ebx + 0x28]
push eax
call sub.Vcl50.bpl__System__VarArrayPut_qr14System_Variantrx14System_Variantii
add esp, 0x14
push 0
push 1
push 2
push 0x406e84
lea eax, [ebp - 0x15c]
push eax
mov edx, 0x406d5c
mov ecx, 0x406e98
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0x15c]
lea eax, [ebp - 0x158]
call sub.Vcl50.bpl__System__VarFromLStr_qqrr14System_Variantx17System_AnsiString
lea eax, [ebp - 0x158]
push eax
lea eax, [ebx + 0x28]
push eax
call sub.Vcl50.bpl__System__VarArrayPut_qr14System_Variantrx14System_Variantii
add esp, 0x14
push 1
push 1
push 2
push 0x406d38
lea eax, [ebp - 0x170]
push eax
mov edx, 0x406d5c
mov ecx, 0x406eac
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0x170]
lea eax, [ebp - 0x16c]
call sub.Vcl50.bpl__System__VarFromLStr_qqrr14System_Variantx17System_AnsiString
lea eax, [ebp - 0x16c]
push eax
lea eax, [ebx + 0x28]
push eax
call sub.Vcl50.bpl__System__VarArrayPut_qr14System_Variantrx14System_Variantii
add esp, 0x14
mov ecx, 0x406d70
mov edx, 0x406d5c
mov eax, esi
call sub.Vcl50.bpl__Inifiles_TCustomIniFile_ValueExists_qqrx17System_AnsiStringt1
test al, al
jne 0x40636b
push 2
push 1
push 2
push 0
lea eax, [ebp - 0x188]
push eax
mov edx, 0x406d5c
mov ecx, 0x406ec4
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov eax, dword [ebp - 0x188]
lea edx, [ebp - 0x184]
call fcn.00403efc
mov edx, dword [ebp - 0x184]
lea eax, [ebp - 0x180]
call sub.Vcl50.bpl__System__VarFromLStr_qqrr14System_Variantx17System_AnsiString
lea eax, [ebp - 0x180]
push eax
lea eax, [ebx + 0x28]
push eax
call sub.Vcl50.bpl__System__VarArrayPut_qr14System_Variantrx14System_Variantii
add esp, 0x14
jmp 0x4063bf
push 2
push 1
push 2
push 0
lea eax, [ebp - 0x1a0]
push eax
mov ecx, 0x406ec4
mov edx, 0x406d5c
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov eax, dword [ebp - 0x1a0]
lea edx, [ebp - 0x19c]
call fcn.00404f88
mov edx, dword [ebp - 0x19c]
lea eax, [ebp - 0x198]
call sub.Vcl50.bpl__System__VarFromLStr_qqrr14System_Variantx17System_AnsiString
lea eax, [ebp - 0x198]
push eax
lea eax, [ebx + 0x28]
push eax
call sub.Vcl50.bpl__System__VarArrayPut_qr14System_Variantrx14System_Variantii
add esp, 0x14
push 3
push 1
push 2
push 0x406edc
lea eax, [ebp - 0x1b4]
push eax
mov edx, 0x406d5c
mov ecx, 0x406eec
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0x1b4]
lea eax, [ebp - 0x1b0]
call sub.Vcl50.bpl__System__VarFromLStr_qqrr14System_Variantx17System_AnsiString
lea eax, [ebp - 0x1b0]
push eax
lea eax, [ebx + 0x28]
push eax
call sub.Vcl50.bpl__System__VarArrayPut_qr14System_Variantrx14System_Variantii
add esp, 0x14
push 4
push 1
push 2
push 0
lea eax, [ebp - 0x1c8]
push eax
mov edx, 0x406d5c
mov ecx, 0x406f00
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0x1c8]
lea eax, [ebp - 0x1c4]
call sub.Vcl50.bpl__System__VarFromLStr_qqrr14System_Variantx17System_AnsiString
lea eax, [ebp - 0x1c4]
push eax
lea eax, [ebx + 0x28]
push eax
call sub.Vcl50.bpl__System__VarArrayPut_qr14System_Variantrx14System_Variantii
add esp, 0x14
push 5
push 1
push 2
push 0x406f14
lea eax, [ebp - 0x1dc]
push eax
mov edx, 0x406d5c
mov ecx, 0x406f28
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0x1dc]
lea eax, [ebp - 0x1d8]
call sub.Vcl50.bpl__System__VarFromLStr_qqrr14System_Variantx17System_AnsiString
lea eax, [ebp - 0x1d8]
push eax
lea eax, [ebx + 0x28]
push eax
call sub.Vcl50.bpl__System__VarArrayPut_qr14System_Variantrx14System_Variantii
add esp, 0x14
push 6
push 1
push 2
push 0x12c
mov edx, 0x406d5c
mov ecx, 0x406f40
mov eax, esi
mov edi, dword [eax]
call dword [edi + 8]
mov edx, eax
lea eax, [ebp - 0x1ec]
call sub.Vcl50.bpl__System__VarFromInt_qqrv
lea eax, [ebp - 0x1ec]
push eax
lea eax, [ebx + 0x28]
push eax
call sub.Vcl50.bpl__System__VarArrayPut_qr14System_Variantrx14System_Variantii
add esp, 0x14
push 7
push 1
push 2
push 0xbb8
mov edx, 0x406d5c
mov ecx, 0x406f60
mov eax, esi
mov edi, dword [eax]
call dword [edi + 8]
mov edx, eax
lea eax, [ebp - 0x1fc]
call sub.Vcl50.bpl__System__VarFromInt_qqrv
lea eax, [ebp - 0x1fc]
push eax
lea eax, [ebx + 0x28]
push eax
call sub.Vcl50.bpl__System__VarArrayPut_qr14System_Variantrx14System_Variantii
add esp, 0x14
push 0
push 2
push 2
push 0
lea eax, [ebp - 0x214]
push eax
mov ecx, 0x406f7c
mov edx, 0x406f94
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov eax, dword [ebp - 0x214]
lea edx, [ebp - 0x210]
call sub.Vcl50.bpl__Sysutils_Trim_qqrx17System_AnsiString
mov edx, dword [ebp - 0x210]
lea eax, [ebp - 0x20c]
call sub.Vcl50.bpl__System__VarFromLStr_qqrr14System_Variantx17System_AnsiString
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebx + 0x28]
push eax
call sub.Vcl50.bpl__System__VarArrayPut_qr14System_Variantrx14System_Variantii
add esp, 0x14
push 1
push 2
push 2
push 0xd3
mov edx, 0x406f94
mov ecx, 0x406fac
mov eax, esi
mov edi, dword [eax]
call dword [edi + 8]
mov edx, eax
lea eax, [ebp - 0x224]
call sub.Vcl50.bpl__System__VarFromInt_qqrv
lea eax, [ebp - 0x224]
push eax
lea eax, [ebx + 0x28]
push eax
call sub.Vcl50.bpl__System__VarArrayPut_qr14System_Variantrx14System_Variantii
add esp, 0x14
push 2
push 2
push 2
push 0x400
mov edx, 0x406f94
mov ecx, 0x406fc0
mov eax, esi
mov edi, dword [eax]
cmp bh, bh
push edi
or byte [ebx - 0x337a7230], cl
std
invalid
invalid
call sub.Vcl50.bpl__System__VarFromInt_qqrv
lea eax, [ebp - 0x234]
push eax
lea eax, [ebx + 0x28]
push eax
call sub.Vcl50.bpl__System__VarArrayPut_qr14System_Variantrx14System_Variantii
add esp, 0x14
push 0x406c00
lea eax, [ebp - 0x18]
push eax
mov edx, 0x406f94
mov ecx, 0x406fdc
mov eax, esi
mov edi, dword [eax]
call dword [edi]
lea edx, [ebp - 0x238]
mov eax, dword [ebp - 0x18]
call sub.Vcl50.bpl__Sysutils_UpperCase_qqrx17System_AnsiString
mov edx, dword [ebp - 0x238]
lea eax, [ebp - 0x18]
call sub.Vcl50.bpl__System__LStrLAsg_qqrv
mov eax, dword [ebp - 0x18]
mov edx, 0x406ff4
call sub.Vcl50.bpl__System__LStrCmp_qqrv
je 0x406643
mov eax, dword [ebp - 0x18]
mov edx, 0x407000
call sub.Vcl50.bpl__System__LStrCmp_qqrv
je 0x406643
mov eax, dword [ebp - 0x18]
mov edx, 0x40700c
call sub.Vcl50.bpl__System__LStrCmp_qqrv
je 0x406643
mov eax, dword [ebp - 0x18]
mov edx, 0x407018
call sub.Vcl50.bpl__System__LStrCmp_qqrv
jne 0x406649
mov byte [ebx + 0x22], 1
jmp 0x40664d
mov byte [ebx + 0x22], 0
push 3
push 2
push 2
push 0x407028
lea eax, [ebp - 0x24c]
push eax
mov edx, 0x406d5c
mov ecx, 0x40704c
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0x24c]
lea eax, [ebp - 0x248]
call sub.Vcl50.bpl__System__VarFromLStr_qqrr14System_Variantx17System_AnsiString
lea eax, [ebp - 0x248]
push eax
lea eax, [ebx + 0x28]
push eax
call sub.Vcl50.bpl__System__VarArrayPut_qr14System_Variantrx14System_Variantii
add esp, 0x14
push 0
push 3
push 2
push 0x407068
lea eax, [ebp - 0x260]
push eax
mov edx, 0x406d5c
mov ecx, 0x407078
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0x260]
lea eax, [ebp - 0x25c]
call sub.Vcl50.bpl__System__VarFromLStr_qqrr14System_Variantx17System_AnsiString
lea eax, [ebp - 0x25c]
push eax
lea eax, [ebx + 0x28]
push eax
call sub.Vcl50.bpl__System__VarArrayPut_qr14System_Variantrx14System_Variantii
add esp, 0x14
push 1
push 3
push 2
push 0x406d38
lea eax, [ebp - 0x274]
push eax
mov edx, 0x406d5c
mov ecx, 0x40708c
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0x274]
lea eax, [ebp - 0x270]
call sub.Vcl50.bpl__System__VarFromLStr_qqrr14System_Variantx17System_AnsiString
lea eax, [ebp - 0x270]
push eax
lea eax, [ebx + 0x28]
push eax
call sub.Vcl50.bpl__System__VarArrayPut_qr14System_Variantrx14System_Variantii
add esp, 0x14
push 2
push 3
push 2
push 0
lea eax, [ebp - 0x288]
push eax
mov edx, 0x406d5c
mov ecx, 0x4070a0
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0x288]
lea eax, [ebp - 0x284]
call sub.Vcl50.bpl__System__VarFromLStr_qqrr14System_Variantx17System_AnsiString
lea eax, [ebp - 0x284]
push eax
lea eax, [ebx + 0x28]
push eax
call sub.Vcl50.bpl__System__VarArrayPut_qr14System_Variantrx14System_Variantii
add esp, 0x14
mov ecx, dword [ebx + 0x3c]
mov edx, 0x4070b4
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0x40]
mov byte [ebx + 0x44], 0
push 3
push 0
push 2
lea eax, [ebx + 0x28]
push eax
lea eax, [ebp - 0x29c]
push eax
call sub.Vcl50.bpl__System__VarArrayGet_qr14System_Variantii
add esp, 0x14
lea edx, [ebp - 0x29c]
lea eax, [ebp - 0x28c]
call sub.Vcl50.bpl__System__VarToLStr_qqrr17System_AnsiStringrx14System_Variant
mov edx, dword [ebp - 0x28c]
mov eax, 0x4070c8
call sub.Vcl50.bpl__Sysutils_CompareText_qqrx17System_AnsiStringt1
test eax, eax
jne 0x4067b7
mov byte [ebx + 0x44], 1
push 3
push 0
push 2
lea eax, [ebx + 0x28]
push eax
lea eax, [ebp - 0x2b0]
push eax
call sub.Vcl50.bpl__System__VarArrayGet_qr14System_Variantii
add esp, 0x14
lea edx, [ebp - 0x2b0]
lea eax, [ebp - 0x2a0]
call sub.Vcl50.bpl__System__VarToLStr_qqrr17System_AnsiStringrx14System_Variant
mov edx, dword [ebp - 0x2a0]
mov eax, 0x4070d8
call sub.Vcl50.bpl__Sysutils_CompareText_qqrx17System_AnsiStringt1
test eax, eax
jne 0x4067f9
mov byte [ebx + 0x44], 2
mov eax, esi
call sub.Vcl50.bpl__System_TObject_Free_qqrv
mov eax, dword [ebx + 0x14]
mov edx, 0x406c28
call sub.Vcl50.bpl__System__LStrCmp_qqrv
jne 0x406815
mov byte [ebx + 0x20], 2
jmp 0x40683d
mov eax, dword [ebx + 0x14]
mov edx, 0x406c1c
call sub.Vcl50.bpl__System__LStrCmp_qqrv
jne 0x406839
mov eax, dword [ebx + 0x1c]
mov edx, 0x406c28
call sub.Vcl50.bpl__System__LStrCmp_qqrv
jne 0x406839
mov byte [ebx + 0x20], 4
jmp 0x40683d
mov byte [ebx + 0x20], 0
mov eax, dword [ebx + 0x14]
mov edx, 0x406c28
call sub.Vcl50.bpl__System__LStrCmp_qqrv
jne 0x406861
mov eax, dword [ebx + 0x18]
mov edx, 0x406c1c
call sub.Vcl50.bpl__System__LStrCmp_qqrv
jne 0x406861
mov byte [ebx + 0x21], 2
jmp 0x406889
mov eax, dword [ebx + 0x14]
mov edx, 0x406c1c
call sub.Vcl50.bpl__System__LStrCmp_qqrv
jne 0x406885
mov eax, dword [ebx + 0x18]
mov edx, 0x406c28
call sub.Vcl50.bpl__System__LStrCmp_qqrv
jne 0x406885
mov byte [ebx + 0x21], 1
jmp 0x406889
mov byte [ebx + 0x21], 0
mov eax, dword [ebx + 0x3c]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x4068bb
lea eax, [ebp - 0x2b4]
mov ecx, 0x4070e4
mov edx, dword [ebx + 4]
call sub.Vcl50.bpl__System__LStrCat3_qqrv
mov edx, dword [ebp - 0x2b4]
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax]
call dword [ecx + 0x34]
jmp 0x406960
mov eax, dword [ebx + 0x3c]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x406960
inc eax
mov dword [ebp - 0x1c], eax
xor esi, esi
lea ecx, [ebp - 8]
mov edx, esi
mov eax, dword [ebx + 0x3c]
call sub.Vcl50.bpl__Classes_TStrings_GetName_qqri
lea ecx, [ebp - 0xc]
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x3c]
call sub.Vcl50.bpl__Classes_TStrings_GetValue_qqrx17System_AnsiString
lea eax, [ebp - 0x2b8]
push eax
mov eax, dword [ebp - 0xc]
call sub.Vcl50.bpl__System__LStrLen_qqrv
mov edx, eax
mov ecx, 1
mov eax, dword [ebp - 0xc]
call sub.Vcl50.bpl__System__LStrCopy_qqrv
mov eax, dword [ebp - 0x2b8]
mov edx, 0x406c9c
call sub.Vcl50.bpl__System__LStrCmp_qqrv
je 0x40692a
lea eax, [ebp - 0xc]
mov edx, 0x406c9c
call sub.Vcl50.bpl__System__LStrCat_qqrv
lea ecx, [ebp - 0x2bc]
mov edx, dword [ebx + 4]
mov eax, dword [ebp - 0xc]
call fcn.00405a64
mov edx, dword [ebp - 0x2bc]
lea eax, [ebp - 0xc]
call sub.Vcl50.bpl__System__LStrLAsg_qqrv
mov ecx, dword [ebp - 0xc]
mov edx, esi
mov eax, dword [ebx + 0x3c]
mov edi, dword [eax]
call dword [edi + 0x20]
inc esi
dec dword [ebp - 0x1c]
jne 0x4068d2
mov byte [ebp - 1], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x406bed
lea eax, [ebp - 0x2bc]
mov edx, 3
call sub.Vcl50.bpl__System__LStrArrayClr_qqrv
lea eax, [ebp - 0x2b0]
call sub.Vcl50.bpl__System__VarClr_qqrv
lea eax, [ebp - 0x2a0]
call sub.Vcl50.bpl__System__LStrClr_qqrr17System_AnsiString
lea eax, [ebp - 0x29c]
call sub.Vcl50.bpl__System__VarClr_qqrv
lea eax, [ebp - 0x28c]
mov edx, 2
call sub.Vcl50.bpl__System__LStrArrayClr_qqrv
lea eax, [ebp - 0x284]
call sub.Vcl50.bpl__System__VarClr_qqrv
lea eax, [ebp - 0x274]
call sub.Vcl50.bpl__System__LStrClr_qqrr17System_AnsiString
lea eax, [ebp - 0x270]
call sub.Vcl50.bpl__System__VarClr_qqrv
lea eax, [ebp - 0x260]
call sub.Vcl50.bpl__System__LStrClr_qqrr17System_AnsiString
lea eax, [ebp - 0x25c]
call sub.Vcl50.bpl__System__VarClr_qqrv
lea eax, [ebp - 0x24c]
call sub.Vcl50.bpl__System__LStrClr_qqrr17System_AnsiString
lea eax, [ebp - 0x248]
call sub.Vcl50.bpl__System__VarClr_qqrv
lea eax, [ebp - 0x238]
call sub.Vcl50.bpl__System__LStrClr_qqrr17System_AnsiString
lea eax, [ebp - 0x234]
mov edx, dword [sym.imp.Vcl50.bpl___xp_14System_Variant]
mov ecx, 2
call sub.Vcl50.bpl__System__FinalizeArray_qqrv
lea eax, [ebp - 0x214]
mov edx, 2
call sub.Vcl50.bpl__System__LStrArrayClr_qqrv
lea eax, [ebp - 0x20c]
mov edx, dword [sym.imp.Vcl50.bpl___xp_14System_Variant]
mov ecx, 3
call sub.Vcl50.bpl__System__FinalizeArray_qqrv
lea eax, [ebp - 0x1dc]
call sub.Vcl50.bpl__System__LStrClr_qqrr17System_AnsiString
lea eax, [ebp - 0x1d8]
call sub.Vcl50.bpl__System__VarClr_qqrv
lea eax, [ebp - 0x1c8]
call sub.Vcl50.bpl__System__LStrClr_qqrr17System_AnsiString
lea eax, [ebp - 0x1c4]
call sub.Vcl50.bpl__System__VarClr_qqrv
lea eax, [ebp - 0x1b4]
call sub.Vcl50.bpl__System__LStrClr_qqrr17System_AnsiString
lea eax, [ebp - 0x1b0]
call sub.Vcl50.bpl__System__VarClr_qqrv
lea eax, [ebp - 0x1a0]
mov edx, 2
call sub.Vcl50.bpl__System__LStrArrayClr_qqrv
lea eax, [ebp - 0x198]
call sub.Vcl50.bpl__System__VarClr_qqrv
lea eax, [ebp - 0x188]
mov edx, 2
call sub.Vcl50.bpl__System__LStrArrayClr_qqrv
lea eax, [ebp - 0x180]
call sub.Vcl50.bpl__System__VarClr_qqrv
lea eax, [ebp - 0x170]
call sub.Vcl50.bpl__System__LStrClr_qqrr17System_AnsiString
lea eax, [ebp - 0x16c]
call sub.Vcl50.bpl__System__VarClr_qqrv
lea eax, [ebp - 0x15c]
call sub.Vcl50.bpl__System__LStrClr_qqrr17System_AnsiString
lea eax, [ebp - 0x158]
mov edx, dword [sym.imp.Vcl50.bpl___xp_14System_Variant]
mov ecx, 4
call sub.Vcl50.bpl__System__FinalizeArray_qqrv
lea eax, [ebp - 0x118]
mov edx, 2
call sub.Vcl50.bpl__System__LStrArrayClr_qqrv
lea eax, [ebp - 0x110]
call sub.Vcl50.bpl__System__VarClr_qqrv
lea eax, [ebp - 0x100]
mov edx, 3
call sub.Vcl50.bpl__System__LStrArrayClr_qqrv
lea eax, [ebp - 0xf4]
call sub.Vcl50.bpl__System__VarClr_qqrv
lea eax, [ebp - 0xe4]
call sub.Vcl50.bpl__System__LStrClr_qqrr17System_AnsiString
lea eax, [ebp - 0xe0]
call sub.Vcl50.bpl__System__VarClr_qqrv
lea eax, [ebp - 0xd0]
call sub.Vcl50.bpl__System__LStrClr_qqrr17System_AnsiString
lea eax, [ebp - 0xcc]
call sub.Vcl50.bpl__System__VarClr_qqrv
lea eax, [ebp - 0xbc]
call sub.Vcl50.bpl__System__LStrClr_qqrr17System_AnsiString
lea eax, [ebp - 0xb8]
call sub.Vcl50.bpl__System__VarClr_qqrv
lea eax, [ebp - 0xa8]
mov edx, 2
call sub.Vcl50.bpl__System__LStrArrayClr_qqrv
lea eax, [ebp - 0xa0]
call sub.Vcl50.bpl__System__VarClr_qqrv
lea eax, [ebp - 0x90]
mov edx, 2
call sub.Vcl50.bpl__System__LStrArrayClr_qqrv
lea eax, [ebp - 0x88]
call sub.Vcl50.bpl__System__VarClr_qqrv
lea eax, [ebp - 0x78]
call sub.Vcl50.bpl__System__LStrClr_qqrr17System_AnsiString
lea eax, [ebp - 0x74]
call sub.Vcl50.bpl__System__VarClr_qqrv
lea eax, [ebp - 0x64]
mov edx, 3
call sub.Vcl50.bpl__System__LStrArrayClr_qqrv
lea eax, [ebp - 0x48]
mov edx, 3
call sub.Vcl50.bpl__System__LStrArrayClr_qqrv
lea eax, [ebp - 0x18]
call sub.Vcl50.bpl__System__LStrClr_qqrr17System_AnsiString
lea eax, [ebp - 0x10]
mov edx, 3
call sub.Vcl50.bpl__System__LStrArrayClr_qqrv
ret