Function at 0x4031a0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push 0
push ebx
push esi
push edi
mov dword [ebp - 4], edx
mov esi, eax
mov ebx, dword [ebp + 8]
add ebx, 0xfffffffc
xor eax, eax
push ebp
push 0x4033b5
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebx]
mov eax, dword [eax + 0x1dc]
mov edx, 0x4033cc
call sub.vcldb30.dpl_Db.TDataSet.FieldByName_23EDC2EF
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, dword [ebp - 4]
mov dword [edx], eax
mov eax, dword [ebp - 4]
mov dword [eax + 4], esi
lea eax, [ebp - 8]
push eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x1dc]
mov edx, 0x4033dc
call sub.vcldb30.dpl_Db.TDataSet.FieldByName_23EDC2EF
lea edx, [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [ebp - 0xc]
mov ecx, 2
mov edx, 1
call sub.VCL30.dpl_System._LStrCopy_51F89FF7
mov eax, dword [ebp - 8]
call sub.VCL30.dpl_SysUtils.StrToInt_0F6FDFF6
mov edx, dword [ebp - 4]
mov dword [edx + 8], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x1dc]
mov edx, 0x4033ec
call sub.vcldb30.dpl_Db.TDataSet.FieldByName_23EDC2EF
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, dword [ebp - 4]
mov dword [edx + 0xc], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x1dc]
mov edx, 0x403400
call sub.vcldb30.dpl_Db.TDataSet.FieldByName_23EDC2EF
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, dword [ebp - 4]
mov dword [edx + 0x10], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x1dc]
mov edx, 0x403410
call sub.vcldb30.dpl_Db.TDataSet.FieldByName_23EDC2EF
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, dword [ebp - 4]
mov dword [edx + 0x14], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x1dc]
mov edx, 0x403424
call sub.vcldb30.dpl_Db.TDataSet.FieldByName_23EDC2EF
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, dword [ebp - 4]
mov dword [edx + 0x18], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x1dc]
mov edx, 0x403438
call sub.vcldb30.dpl_Db.TDataSet.FieldByName_23EDC2EF
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, dword [ebp - 4]
mov dword [edx + 0x1c], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x1dc]
mov edx, 0x40344c
call sub.vcldb30.dpl_Db.TDataSet.FieldByName_23EDC2EF
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, dword [ebp - 4]
mov dword [edx + 0x20], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x1dc]
mov edx, 0x403460
call sub.vcldb30.dpl_Db.TDataSet.FieldByName_23EDC2EF
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, dword [ebp - 4]
mov dword [edx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x1dc]
mov edx, 0x403474
call sub.vcldb30.dpl_Db.TDataSet.FieldByName_23EDC2EF
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, dword [ebp - 4]
mov dword [edx + 0x28], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x1dc]
mov edx, 0x403488
call sub.vcldb30.dpl_Db.TDataSet.FieldByName_23EDC2EF
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, dword [ebp - 4]
mov dword [edx + 0x2c], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x1dc]
mov edx, 0x40349c
call sub.vcldb30.dpl_Db.TDataSet.FieldByName_23EDC2EF
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, dword [ebp - 4]
mov dword [edx + 0x30], eax
xor edx, edx
push ebp
push 0x40337c
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebx]
mov eax, dword [eax + 0x1dc]
mov edx, 0x4034b0
call sub.vcldb30.dpl_Db.TDataSet.FieldByName_23EDC2EF
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, dword [ebp - 4]
mov dword [edx + 0x34], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x40339a
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4033bc
lea eax, [ebp - 0xc]
mov edx, 2
call sub.VCL30.dpl_System._LStrArrayClr_51F89FF7
ret