Function at 0x493514
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff08
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0xf0], ebx
mov dword [ebp - 0xec], ebx
mov dword [ebp - 0xe8], ebx
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x50], ebx
mov byte [ebp - 0x12], cl
mov byte [ebp - 0x11], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x49402d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov dword [eax + 0x480], 0xffffffff
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x484], edx
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x174]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
mov dword [ebp - 0x38], eax
xor edi, edi
xor ebx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4e0]
mov edx, dword [0x4f5004]
call sub.rtl70.bpl__System__IsClass_qqrp14System_TObjectp17System_TMetaClass
test al, al
je 0x4935b7
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x488]
test byte [ebp - 0x12], 0x40
je 0x4935f3
cmp byte [ebp - 0x11], 0
jne 0x4935f3
mov eax, dword [ebp - 4]
call fcn.0048b880
test al, al
je 0x493ff7
push ebp
call fcn.00493464
pop ecx
test al, al
jne 0x493ff7
mov eax, dword [ebp - 4]
mov si, 0xffe9
call sub.rtl70.bpl__System__CallDynaInst_qqrv
jmp 0x493ff7
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
call sub.vcl70.bpl__Grids_TCustomGrid_Sizing_qqrii
test al, al
je 0x4936fe
mov eax, dword [ebp - 4]
test byte [eax + 0x2df], 1
jne 0x493624
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0xf8]
test al, al
je 0x493682
lea edx, [ebp - 0xc8]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x198]
lea eax, [ebp - 0x3d]
push eax
mov eax, dword [ebp - 4]
add eax, 0x480
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0xc8]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xcc]
cmp byte [ebp - 0x3d], 3
jne 0x493682
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x480]
mov eax, dword [ebp - 4]
call sub.vcl70.bpl__Grids_TCustomGrid_GetColWidths_qqri
mov edx, dword [ebp - 4]
mov dword [edx + 0x484], eax
lea eax, [ebp - 0x1c]
push eax
mov edx, dword [ebp + 0xc]
sub edx, 8
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 4]
call fcn.0049cc58
mov eax, dword [ebp - 4]
mov edx, dword [0x4eab3c]
call sub.rtl70.bpl__System__IsClass_qqrp14System_TObjectp17System_TMetaClass
test al, al
je 0x4936d5
push 2
push 1
lea eax, [ebp - 0xe8]
mov edx, dword [ebp - 0x1c]
mov cl, 0xfc
call sub.rtl70.bpl__Variants__VarFromInt_qqrr8TVarDataxixzc
lea eax, [ebp - 0xe8]
push eax
mov eax, dword [ebp - 4]
add eax, 0x570
push eax
call sub.rtl70.bpl__Variants__VarArrayPut_qr8TVarDatarx8TVarDataipxi
add esp, 0x10
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2ec]
mov edx, dword [eax]
call dword [edx + 0x50]
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
mov cl, byte [ebp - 0x12]
mov dl, byte [ebp - 0x11]
mov eax, dword [ebp - 4]
call sub.vcl70.bpl__Grids_TCustomGrid_MouseDown_qqr21Controls_TMouseButton46System__Set_t18Classes_Classes__1_iuc_0_iuc_6_ii
jmp 0x493fc1
lea eax, [ebp - 0x1c]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
call fcn.0049cc58
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x22c]
mov eax, dword [ebp - 0x18]
cmp edx, eax
jne 0x49372e
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x228]
cmp edx, dword [ebp - 0x1c]
je 0x49373d
mov edx, dword [ebp - 4]
movzx edx, byte [edx + 0x4ac]
cmp edx, dword [ebp - 0x1c]
jle 0x493741
xor edx, edx
jmp 0x493743
mov dl, 1
mov byte [ebp - 0x25], dl
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x258]
mov dword [ebp - 0x2c], edx
test eax, eax
jge 0x493772
mov eax, dword [ebp - 4]
call fcn.0048b880
test al, al
je 0x493ff7
push ebp
call fcn.00493230
pop ecx
jmp 0x493ff7
mov eax, dword [ebp - 4]
test byte [eax + 0x1c], 0x10
jne 0x493787
mov eax, dword [ebp - 4]
test byte [eax + 0x249], 2
je 0x4937f9
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x2e1]
cmp eax, dword [ebp - 0x18]
jle 0x4937f9
mov eax, dword [ebp - 4]
call fcn.0048b880
test al, al
je 0x493ff7
push ebp
call fcn.00493298
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x238]
cmp eax, dword [ebp - 0x1c]
jg 0x4937de
test byte [ebp - 0x12], 8
je 0x4937d2
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.004927b8
push ebp
call fcn.00493230
pop ecx
jmp 0x493ff7
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
mov cl, byte [ebp - 0x12]
mov dl, byte [ebp - 0x11]
mov eax, dword [ebp - 4]
call sub.vcl70.bpl__Grids_TCustomGrid_MouseDown_qqr21Controls_TMouseButton46System__Set_t18Classes_Classes__1_iuc_0_iuc_6_ii
jmp 0x493fba
mov eax, dword [ebp - 4]
test byte [eax + 0x249], 2
jne 0x493830
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x2e1]
cmp eax, dword [ebp - 0x18]
jle 0x493830
mov eax, dword [ebp - 4]
call fcn.0048b880
test al, al
je 0x493ff7
push ebp
call fcn.00493298
pop ecx
jmp 0x493fba
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2ec]
cmp byte [eax + 0x15], 0
je 0x493c5b
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x228]
cmp ebx, dword [ebp - 0x1c]
jne 0x4938ab
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
cmp eax, dword [ebp - 0x18]
jne 0x4938ab
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x22c]
mov edx, ebx
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x120]
test al, al
jne 0x4938ab
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x22c]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x228]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x1b8]
test al, al
jne 0x4938ab
cmp byte [ebp - 0x11], 1
je 0x4938ab
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0xf0]
mov edx, dword [ebp - 4]
movzx edx, byte [edx + 0x2e1]
mov eax, dword [ebp - 0x18]
cmp edx, eax
jg 0x4938c7
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x22c]
jne 0x4938cb
xor ebx, ebx
jmp 0x4938cd
mov bl, 1
test bl, bl
je 0x4938db
mov eax, dword [ebp - 4]
mov byte [eax + 0x4b6], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
cmp eax, dword [ebp - 0x18]
jne 0x4938fb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x228]
cmp eax, dword [ebp - 0x1c]
jne 0x4938fb
xor eax, eax
jmp 0x4938fd
mov al, 1
mov byte [ebp - 0x1d], al
mov eax, dword [ebp - 4]
mov byte [eax + 0x403], 1
cmp byte [ebp - 0x1d], 0
je 0x493937
mov eax, dword [ebp - 4]
cmp dword [eax + 0x4e0], 0
je 0x493937
mov eax, dword [ebp - 4]
call sub.vcl70.bpl__Controls_TControl_GetClientWidth_qqrv
mov edx, eax
add edx, 0xa
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4e0]
call sub.vcl70.bpl__Controls_TControl_SetLeft_qqri
mov eax, dword [ebp - 4]
call fcn.0048b880
test al, al
je 0x493ff7
mov eax, dword [ebp - 4]
test byte [eax + 0x2dd], 1
jne 0x4939a1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x238]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
jg 0x49397d
mov edx, dword [ebp - 4]
movzx edx, byte [edx + 0x4ac]
push edx
mov edx, eax
pop eax
sub edx, eax
mov eax, dword [ebp - 4]
call fcn.004904a4
jmp 0x4939a1
mov edx, dword [ebp - 4]
test byte [edx + 0x2de], 0x40
je 0x4939a1
mov edx, dword [ebp - 4]
movzx edx, byte [edx + 0x4ac]
push edx
mov edx, eax
pop eax
sub edx, eax
mov eax, dword [ebp - 4]
call fcn.004904a4
mov eax, dword [ebp - 4]
mov byte [eax + 0x4b6], 0
test bl, bl
je 0x4939c8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2ec]
call sub.dbrtl70.bpl__Db_TDataLink_GetDataSet_qqrv
mov edx, dword [ebp - 0x18]
sub edx, dword [ebp - 0x38]
call sub.dbrtl70.bpl__Db_TDataSet_MoveBy_qqri
mov eax, dword [ebp - 4]
mov byte [eax + 0x403], 0
cmp byte [ebp - 0x1d], 0
je 0x4939e3
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x158]
mov esi, dword [ebp - 0x1c]
test esi, esi
jl 0x493b5c
cmp byte [ebp - 0x11], 0
jne 0x493b5c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4a4]
mov edx, esi
call sub.rtl70.bpl__Classes_TList_Get_qqri
mov eax, dword [eax + 8]
mov edx, 0x494048
call sub.rtl70.bpl__System__LStrCmp_qqrv
jne 0x493b5c
mov byte [ebp - 0x45], 1
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x4ac]
mov edx, dword [ebp - 0x1c]
sub edx, eax
mov eax, dword [ebp - 4]
call fcn.0048a5d0
test eax, eax
je 0x493b5c
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x4ac]
mov edx, dword [ebp - 0x1c]
sub edx, eax
mov eax, dword [ebp - 4]
call fcn.0048a5d0
mov eax, dword [eax + 0x38]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2ec]
call sub.dbrtl70.bpl__Db_TDataLink_GetDataSet_qqrv
pop edx
call sub.dbrtl70.bpl__Db_TDataSet_FieldByName_qqrx17System_AnsiString
lea edx, [ebp - 0xec]
mov ecx, dword [eax]
call dword [ecx + 0x60]
mov edx, dword [ebp - 0xec]
lea ecx, [ebp - 0x50]
mov eax, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 0x19c]
lea eax, [ebp - 0x45]
push eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x4ac]
mov edx, dword [ebp - 0x1c]
sub edx, eax
mov eax, dword [ebp - 4]
call fcn.0048a5d0
mov ecx, eax
lea edx, [ebp - 0x4c]
mov eax, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 0xfc]
cmp byte [ebp - 0x45], 0
je 0x493b5c
lea edx, [ebp - 0xf0]
mov eax, dword [ebp - 0x4c]
call sub.rtl70.bpl__Sysutils_AnsiUpperCase_qqrx17System_AnsiString
mov edx, dword [ebp - 0xf0]
mov eax, 0x49405c
call sub.rtl70.bpl__Sysutils_AnsiPos_qqrx17System_AnsiStringt1
test eax, eax
jg 0x493b1c
mov edx, dword [ebp - 0x4c]
mov eax, 0x49406c
call sub.rtl70.bpl__Sysutils_AnsiPos_qqrx17System_AnsiStringt1
mov esi, eax
mov edx, dword [ebp - 0x4c]
mov eax, 0x494078
call sub.rtl70.bpl__Sysutils_AnsiPos_qqrx17System_AnsiStringt1
cmp esi, 1
jle 0x493b1c
cmp esi, eax
jge 0x493b1c
lea eax, [ebp - 0x4c]
mov ecx, dword [ebp - 0x4c]
mov edx, 0x494084
call sub.rtl70.bpl__System__LStrCat3_qqrv
mov eax, dword [sym.imp.vcl70.bpl__Forms_Screen]
mov eax, dword [eax]
mov dx, 0xfff5
call sub.vcl70.bpl__Forms_TScreen_SetCursor_qqr16Controls_TCursor
push 1
push 0
push 0
mov eax, dword [ebp - 0x4c]
call sub.rtl70.bpl__System__LStrToPChar_qqrx17System_AnsiString
push eax
push 0x49408c
mov eax, dword [ebp - 4]
call sub.vcl70.bpl__Controls_TWinControl_GetHandle_qqrv
push eax
call sub.shell32.dll_ShellExecuteA
mov eax, dword [sym.imp.vcl70.bpl__Forms_Screen]
mov eax, dword [eax]
xor edx, edx
call sub.vcl70.bpl__Forms_TScreen_SetCursor_qqr16Controls_TCursor
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4b8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 4]
test byte [eax + 0x2dd], 0x40
je 0x493be1
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
call fcn.00495d00
test al, al
jne 0x493be1
test byte [ebp - 0x12], 4
jne 0x493b8f
test byte [ebp - 0x12], 1
je 0x493bb9
mov eax, dword [ebp - 4]
mov si, 0xff96
call sub.rtl70.bpl__System__CallDynaInst_qqrv
test al, al
je 0x493bac
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x1c0]
jmp 0x493be1
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x1bc]
jmp 0x493be1
mov eax, dword [ebp - 4]
test byte [eax + 0x402], 1
je 0x493be1
test byte [ebp - 0x12], 8
je 0x493be1
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x148]
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x1bc]
mov eax, dword [ebp - 4]
test byte [eax + 0x2dd], 0x40
je 0x493c5b
test byte [ebp - 0x12], 1
jne 0x493c05
test byte [ebp - 0x12], 4
jne 0x493c05
mov eax, dword [ebp - 4]
test byte [eax + 0x402], 1
je 0x493c5b
mov eax, dword [ebp - 4]
test byte [eax + 0x402], 2
je 0x493c5b
mov eax, dword [ebp - 4]
mov byte [eax + 0x4b7], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2ec]
call sub.dbrtl70.bpl__Db_TDataLink_GetDataSet_qqrv
call sub.dbrtl70.bpl__Db_TDataSet_CheckBrowseMode_qqrv
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4b8]
cmp eax, dword [ebp - 0x24]
jne 0x493c5b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2ec]
call sub.dbrtl70.bpl__Db_TDataLink_GetDataSet_qqrv
mov edx, dword [eax]
call dword [edx + 0x21c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x4b8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x22c]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x228]
mov eax, dword [ebp - 4]
call sub.vcl70.bpl__Grids_TCustomGrid_InvalidateCell_qqrii
mov eax, dword [ebp - 4]
test byte [eax + 0x464], 4
jne 0x493cbf
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x22c]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x228]
mov eax, dword [ebp - 4]
call fcn.00499008
test al, al
je 0x493cbf
mov eax, dword [ebp - 0x54]
mov edx, dword [0x4f5004]
call sub.rtl70.bpl__System__IsClass_qqrp14System_TObjectp17System_TMetaClass
test al, al
je 0x493cbf
mov eax, dword [ebp - 4]
call fcn.0049c1f8
jmp 0x493d1c
push 0
lea eax, [ebp - 0x64]
push eax
mov eax, dword [ebp - 4]
call sub.vcl70.bpl__Controls_TWinControl_GetHandle_qqrv
push eax
call sub.user32.dll_GetUpdateRect
push 0
mov eax, dword [ebp - 4]
call sub.vcl70.bpl__Controls_TWinControl_GetHandle_qqrv
push eax
call sub.user32.dll_ValidateRect
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x22c]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x228]
mov eax, dword [ebp - 4]
call sub.vcl70.bpl__Grids_TCustomGrid_InvalidateCell_qqrii
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x88]
push 0
lea eax, [ebp - 0x64]
push eax
mov eax, dword [ebp - 4]
call sub.vcl70.bpl__Controls_TWinControl_GetHandle_qqrv
push eax
call sub.user32.dll_InvalidateRect
cmp byte [ebp - 0x25], 0
je 0x493fba
mov eax, dword [ebp - 4]
cmp dword [eax + 0x4e0], 0
je 0x493fba
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4e0]
call sub.rtl70.bpl__System_TObject_ClassType_qqrv
mov edx, 0x49409c
call fcn.004debd8
test al, al
jne 0x493fba
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x258]
cmp eax, dword [ebp - 0x2c]
jne 0x493fba
test byte [ebp - 0x12], 4
jne 0x493fba
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x4e0]
mov edx, dword [ebp + 8]
sub edx, dword [esi + 0x44]
mov eax, dword [ebp + 0xc]
sub eax, dword [esi + 0x40]
lea ecx, [ebp - 0x34]
call sub.rtl70.bpl__Classes_Point_qqrii
push 1
lea edx, [ebp - 0x34]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4e0]
xor ecx, ecx
call sub.vcl70.bpl__Controls_TWinControl_ControlAtPos_qqrrx12Types_TPointoo
mov esi, eax
test esi, esi
je 0x493e26
mov eax, esi
mov edx, dword [sym.imp.vcl70.bpl__Controls_TWinControl_]
call sub.rtl70.bpl__System__IsClass_qqrp14System_TObjectp17System_TMetaClass
test al, al
je 0x493e26
lea ecx, [ebp - 0xf8]
lea edx, [ebp - 0x34]
mov eax, esi
call sub.vcl70.bpl__Controls_TControl_ScreenToClient_qqrrx12Types_TPoint
mov dx, word [ebp - 0x30]
sub dx, word [esi + 0x44]
mov di, word [ebp - 0x34]
mov eax, edi
sub ax, word [esi + 0x40]
call fcn.0040197c
push eax
push 0
push 0x201
mov ebx, esi
mov eax, ebx
call sub.vcl70.bpl__Controls_TWinControl_GetHandle_qqrv
push eax
call sub.user32.dll_SendMessageA
mov dx, word [ebp - 0x30]
sub dx, word [esi + 0x44]
mov eax, edi
sub ax, word [esi + 0x40]
call fcn.0040197c
push eax
push 0
push 0x202
mov eax, ebx
call sub.vcl70.bpl__Controls_TWinControl_GetHandle_qqrv
push eax
call sub.user32.dll_SendMessageA
jmp 0x493fba
lea eax, [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
call fcn.00499008
test al, al
je 0x493f6d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4e0]
cmp eax, dword [ebp - 0x44]
jne 0x493f6d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4e0]
mov edx, dword [0x4f5004]
call sub.rtl70.bpl__System__IsClass_qqrp14System_TObjectp17System_TMetaClass
test al, al
je 0x493f6d
test bl, bl
je 0x493f6d
lea edx, [ebp - 0xd8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4e0]
mov ecx, dword [eax]
call dword [ecx + 0x114]
push 3
push 4
lea eax, [ebp - 0xd8]
push eax
call sub.user32.dll_InflateRect
xor eax, eax
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4e0]
push dword [eax + 0x40]
mov eax, dword [ebp + 0xc]
pop edx
sub eax, edx
lea ecx, [ebp - 0x34]
mov edx, 7
call sub.rtl70.bpl__Classes_Point_qqrii
push dword [ebp - 0x30]
push dword [ebp - 0x34]
lea eax, [ebp - 0xd8]
push eax
call sub.user32.dll_PtInRect
test eax, eax
je 0x493fba
test bl, bl
je 0x493f0a
mov eax, dword [ebp - 0x38]
add eax, edi
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x22c]
jle 0x493f0a
test edi, edi
jle 0x493f0a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4e0]
mov edx, dword [ebp - 0x18]
mov dword [eax + 0x2c8], edx
jmp 0x493f1d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4e0]
mov dword [eax + 0x2c8], 0xffffffff
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.0049c3a4
xor eax, eax
push ebp
push 0x493f66
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4e0]
mov dl, 1
call fcn.00465f64
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x493fba
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4e0]
mov dword [eax + 0x2c8], 0xffffffff
ret
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x4e0]
mov eax, ebx
mov edx, dword [sym.imp.vcl70.bpl__Stdctrls_TCustomEdit_]
call sub.rtl70.bpl__System__IsClass_qqrp14System_TObjectp17System_TMetaClass
test al, al
jne 0x493fba
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x4e0]
mov dx, word [ebp + 8]
sub dx, word [esi + 0x44]
mov ax, word [ebp + 0xc]
sub ax, word [esi + 0x40]
call fcn.0040197c
push eax
push 0
push 0x201
mov eax, ebx
call sub.vcl70.bpl__Controls_TWinControl_GetHandle_qqrv
push eax
call sub.user32.dll_SendMessageA
push ebp
call fcn.00493230
pop ecx
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x4e0]
test ebx, ebx
je 0x493ff7
mov eax, ebx
call sub.rtl70.bpl__System_TObject_ClassType_qqrv
mov edx, 0x4940b0
call fcn.004debd8
test al, al
je 0x493ff7
call sub.user32.dll_GetMessageTime
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x4e0]
mov dword [edx + 0x42c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x494034
lea eax, [ebp - 0xf0]
mov edx, 2
call sub.rtl70.bpl__System__LStrArrayClr_qqrpvi
lea eax, [ebp - 0xe8]
call sub.rtl70.bpl__Variants__VarClr_qqrr8TVarData
lea eax, [ebp - 0x50]
mov edx, 2
call sub.rtl70.bpl__System__LStrArrayClr_qqrpvi
ret