Function at 0x4e9998
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0xf
push 0
push 0
dec ecx
jne 0x4e99a1
xchg dword [ebp - 4], ecx
push ebx
push esi
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], edx
mov ebx, eax
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4e99c0
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x4e99cb
xor edx, edx
mov dword [eax], edx
xor eax, eax
push ebp
push 0x4e9dca
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebx], 0
mov eax, dword [ebp - 0x1c]
call sub.rtl170.bpl__System__UStrClr_qqrpv
mov eax, dword [ebp - 0x20]
call sub.rtl170.bpl__System__UStrClr_qqrpv
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x38]
cmp dword [eax + 0xa0], 5
jl 0x4e9d6d
mov dl, 1
mov eax, dword [0x4e4558]
call fcn.004ee064
mov dword [ebp - 0x24], eax
xor eax, eax
push ebp
push 0x4e9d66
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x38]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0x15c]
mov dword [edx + 0x38], eax
lea eax, [ebp - 8]
call sub.rtl170.bpl__System__UStrClr_qqrpv
push eax
lea eax, [ebp - 4]
call sub.rtl170.bpl__System__UStrClr_qqrpv
mov ecx, eax
mov eax, dword [ebp + 8]
mov edx, dword [eax - 8]
mov eax, dword [0x5e5910]
call fcn.004eddc4
cmp dword [ebp - 4], 0
je 0x4e9a85
push 1
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
call sub.dac170.bpl__Craccess_TCRCommand_GetSQLInfo_qqrv
xor ecx, ecx
mov edx, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 0x34]
mov edx, dword [ebp - 0x2c]
lea eax, [ebp - 4]
call sub.rtl170.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
jmp 0x4e9a99
lea eax, [ebp - 4]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 4]
mov edx, dword [edx + 0x38]
mov edx, dword [edx + 0x68]
call sub.rtl170.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
push 1
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
call sub.dac170.bpl__Craccess_TCRCommand_GetSQLInfo_qqrv
xor ecx, ecx
mov edx, dword [ebp - 8]
mov esi, dword [eax]
call dword [esi + 0x34]
mov edx, dword [ebp - 0x30]
lea eax, [ebp - 8]
call sub.rtl170.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
push 0x4e9de4
push dword [ebp - 8]
push 0x4e9e74
push dword [ebp - 4]
push 0x4e9ea0
lea eax, [ebp - 0x34]
mov edx, 5
call sub.rtl170.bpl__System__UStrCatN_qqrv
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x15c]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea eax, [ebp - 0x44]
xor edx, edx
call sub.rtl170.bpl__System_Variants__VarFromBool_qqrr8TVarDataxo
lea ecx, [ebp - 0x44]
mov edx, 0x1b
mov eax, dword [ebp - 0x24]
mov esi, dword [eax]
call dword [esi + 0x1c0]
lea eax, [ebp - 0x54]
mov dl, 1
call sub.rtl170.bpl__System_Variants__VarFromBool_qqrr8TVarDataxo
lea ecx, [ebp - 0x54]
mov edx, 0x19
mov eax, dword [ebp - 0x24]
mov esi, dword [eax]
call dword [esi + 0x1c0]
lea eax, [ebp - 0x64]
mov dl, 1
call sub.rtl170.bpl__System_Variants__VarFromBool_qqrr8TVarDataxo
lea ecx, [ebp - 0x64]
mov edx, 0x16
mov eax, dword [ebp - 0x24]
mov esi, dword [eax]
call dword [esi + 0x1c0]
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x60]
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x30]
test eax, eax
jne 0x4e9bab
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x64]
push 0x4e9de4
push dword [ebp - 8]
push 0x4e9eb4
lea edx, [ebp - 0x6c]
mov eax, dword [ebp - 4]
call sub.rtl170.bpl__System_Sysutils_AnsiLowerCase_qqrx20System_UnicodeString
push dword [ebp - 0x6c]
push 0x4e9ea0
lea eax, [ebp - 0x68]
mov edx, 5
call sub.rtl170.bpl__System__UStrCatN_qqrv
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x15c]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x60]
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x30]
test eax, eax
jne 0x4e9bc1
call sub.rtl170.bpl__System__TryFinallyExit_qqrv
jmp 0x4e9d6d
xor eax, eax
mov dword [ebp - 0x28], eax
lea edx, [ebp - 0x28]
mov eax, dword [ebp - 0x24]
call sub.dac170.bpl__Memdata_TData_AllocRecBuf_qqrrpv
xor eax, eax
push ebp
push 0x4e9d49
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
call dword [ecx + 0xc0]
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x28]
test al, al
jne 0x4e9d2a
lea eax, [ebp - 0x18]
call sub.rtl170.bpl__System_Variants__VarClr_qqrr8TVarData
push eax
mov ecx, dword [ebp - 0x28]
mov dx, 1
mov eax, dword [ebp - 0x24]
call sub.dac170.bpl__Memdata_TData_GetFieldAsVariant_qqruspvr14System_Variant
lea eax, [ebp - 0x74]
lea edx, [ebp - 0x18]
call sub.rtl170.bpl__System_Variants__VarToUStr_qqrr20System_UnicodeStringrx8TVarData
mov eax, dword [ebp - 0x74]
lea edx, [ebp - 0x70]
call sub.rtl170.bpl__System_Sysutils_UpperCase_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x70]
mov edx, 0x4e9eec
call sub.rtl170.bpl__System__UStrEqual_qqrv
sete byte [ebx]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0xb8]
mov edx, 1
call sub.dac170.bpl__Memdata_TFieldDescs_GetItems_qqri
movzx edx, word [eax + 0xc]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
call dword [eax + 0xb0]
test al, al
jne 0x4e9c86
lea eax, [ebp - 0x18]
call sub.rtl170.bpl__System_Variants__VarClr_qqrr8TVarData
push eax
mov ecx, dword [ebp - 0x28]
mov dx, 2
mov eax, dword [ebp - 0x24]
call sub.dac170.bpl__Memdata_TData_GetFieldAsVariant_qqruspvr14System_Variant
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x18]
call sub.rtl170.bpl__System_Variants__VarToUStr_qqrr20System_UnicodeStringrx8TVarData
jmp 0x4e9cd8
mov ecx, dword [ebp - 0x28]
mov dx, 2
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0x98]
test al, al
jne 0x4e9cd8
mov ecx, dword [ebp - 0x28]
mov dx, 2
mov eax, dword [ebp - 0x24]
call sub.dac170.bpl__Memdata_TData_GetObject_qqruspv
mov edx, dword [sym.imp.dac170.bpl__Memdata_TBlob_]
call sub.rtl170.bpl__System__AsClass_qqrxp14System_TObjectp17System_TMetaClass
mov ebx, eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jbe 0x4e9cd8
lea edx, [ebp - 0x78]
mov eax, ebx
call sub.dac170.bpl__Memdata_TBlob_GetAsWideString_qqrv
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x20]
call sub.rtl170.bpl__System__UStrFromWStr_qqrr20System_UnicodeStringx17System_WideString
mov ecx, dword [ebp - 0x28]
mov dx, 3
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0x98]
test al, al
jne 0x4e9d2a
mov ecx, dword [ebp - 0x28]
mov dx, 3
mov eax, dword [ebp - 0x24]
call sub.dac170.bpl__Memdata_TData_GetObject_qqruspv
mov edx, dword [sym.imp.dac170.bpl__Memdata_TBlob_]
call sub.rtl170.bpl__System__AsClass_qqrxp14System_TObjectp17System_TMetaClass
mov ebx, eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jbe 0x4e9d2a
lea edx, [ebp - 0x7c]
mov eax, ebx
call sub.dac170.bpl__Memdata_TBlob_GetAsWideString_qqrv
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x1c]
call sub.rtl170.bpl__System__UStrFromWStr_qqrr20System_UnicodeStringx17System_WideString
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4e9d50
cmp dword [ebp - 0x28], 0
je 0x4e9d48
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
call sub.dac170.bpl__Memdata_TData_FreeRecBuf_qqrpv
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4e9dd1
lea eax, [ebp - 0x7c]
mov edx, 2
call sub.rtl170.bpl__System__WStrArrayClr_qqrpvi
lea eax, [ebp - 0x74]
mov edx, 4
call sub.rtl170.bpl__System__UStrArrayClr_qqrpvi
lea eax, [ebp - 0x64]
mov edx, dword [sym.imp.rtl170.bpl___xp_14System_Variant]
mov ecx, 3
call sub.rtl170.bpl__System__FinalizeArray_qqrpvt1ui
lea eax, [ebp - 0x34]
mov edx, 3
call sub.rtl170.bpl__System__UStrArrayClr_qqrpvi
lea eax, [ebp - 0x18]
call sub.rtl170.bpl__System_Variants__VarClr_qqrr8TVarData
lea eax, [ebp - 8]
mov edx, 2
call sub.rtl170.bpl__System__UStrArrayClr_qqrpvi
ret