Function at 0x4678b4
Capabilities:
Accept command line arguments
Get common file path
Get session user name

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xb3
push 0
push 0
dec ecx
jne 0x4678bc
push ecx
push ebx
push esi
push edi
mov esi, edx
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x468ba0
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x3a0], 0
jne 0x467910
mov dl, 1
mov eax, dword [0x43f678]
call fcn.00449788
mov ebx, eax
mov eax, dword [ebp - 0x1c]
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0x1c]
add eax, 0x3a0
mov edx, ebx
test edx, edx
je 0x46790b
sub edx, 0xffffffc0
call sub.rtl250.bpl__System__IntfCopy_qqrr44System__DelphiInterface_17System_IInterface_x44System__DelphiInterface_17System_IInterf
mov eax, esi
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x3a0]
call sub.rtl250.bpl__System__IntfCopy_qqrr44System__DelphiInterface_17System_IInterface_x44System__DelphiInterface_17System_IInterf
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x3c4], 0
je 0x468a70
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3a0]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x468a70
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x3a0]
call sub.rtl250.bpl__System__IntfCopy_qqrr44System__DelphiInterface_17System_IInterface_x44System__DelphiInterface_17System_IInterf
lea eax, [ebp - 0x49c]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x3a0]
mov ecx, 0x468bb4
call sub.rtl250.bpl__System__IntfCast_qqrr44System__DelphiInterface_17System_IInterface_x44System__DelphiInterface_17System_IInterf
mov eax, dword [ebp - 0x49c]
mov edx, dword [eax]
call dword [edx + 0x18]
xor eax, eax
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x467ae0
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4a4]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x424]
mov cx, 0x30
mov edx, 4
call fcn.00408a1c
push dword [ebp - 0x4a4]
push 0x468bd0
lea eax, [ebp - 0x4a8]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x426]
mov cx, 0x30
mov edx, 2
call fcn.00408a1c
push dword [ebp - 0x4a8]
push 0x468bd0
lea eax, [ebp - 0x4ac]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x42a]
mov cx, 0x30
mov edx, 2
call fcn.00408a1c
push dword [ebp - 0x4ac]
push 0x468be0
lea eax, [ebp - 0x4b0]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x42c]
mov cx, 0x30
mov edx, 2
call fcn.00408a1c
push dword [ebp - 0x4b0]
push 0x468bf4
lea eax, [ebp - 0x4b4]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x42e]
mov cx, 0x30
mov edx, 2
call fcn.00408a1c
push dword [ebp - 0x4b4]
push 0x468bf4
lea eax, [ebp - 0x4b8]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x430]
mov cx, 0x30
mov edx, 2
call fcn.00408a1c
push dword [ebp - 0x4b8]
push 0x468be0
lea eax, [ebp - 0x4bc]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x432]
mov cx, 0x30
mov edx, 1
call fcn.00408a1c
push dword [ebp - 0x4bc]
push 0x468c04
lea eax, [ebp - 0x4a0]
mov edx, 0xe
call sub.rtl250.bpl__System__UStrCatN_qqrv
mov edx, dword [ebp - 0x4a0]
mov eax, 0x468c18
call fcn.00467810
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467aea
xor eax, eax
push ebp
push 0x467b1f
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4c0]
call fcn.00433f04
mov edx, dword [ebp - 0x4c0]
mov eax, 0x468c38
call fcn.00467810
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467b29
xor eax, eax
push ebp
push 0x467b5e
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4c4]
call fcn.00466100
mov edx, dword [ebp - 0x4c4]
mov eax, 0x468c60
call fcn.00467810
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467b68
xor eax, eax
push ebp
push 0x467c07
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x20], 0x104
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
jne 0x467bae
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x236]
push eax
call sub.advapi32.dll_GetUserNameW
lea eax, [ebp - 0x10]
lea edx, [ebp - 0x236]
mov ecx, 0x105
call sub.rtl250.bpl__System__UStrFromWArray_qqrr20System_UnicodeStringpbi
jmp 0x467bd8
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x236]
push eax
call sub.advapi32.dll_GetUserNameA
lea eax, [ebp - 0x10]
lea edx, [ebp - 0x236]
mov dword [ebp - 0x4c8], edx
mov edx, dword [ebp - 0x4c8]
call sub.rtl250.bpl__System__UStrFromLStr_qqrr20System_UnicodeStringx27System__AnsiStringT_us_i0__
call fcn.0046603c
test al, al
je 0x467bee
lea eax, [ebp - 0x10]
mov edx, 0x468c8c
call sub.rtl250.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x468cac
call fcn.00467810
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467c11
xor eax, eax
push ebp
push 0x467cf6
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
jne 0x467c3a
lea eax, [ebp - 0x10]
mov edx, 0x468ccc
call sub.rtl250.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
jmp 0x467c42
lea eax, [ebp - 0x10]
call sub.rtl250.bpl__System__UStrClr_qqrpv
lea eax, [ebp - 0x14]
push eax
push 0x468ce0
push dword [ebp - 0x10]
push 0x468d24
lea eax, [ebp - 0x4cc]
mov edx, 3
call sub.rtl250.bpl__System__UStrCatN_qqrv
mov edx, dword [ebp - 0x4cc]
mov ecx, 0x468d50
mov eax, 0x80000002
call fcn.00433fb8
lea eax, [ebp - 0x4d0]
push eax
push 0x468ce0
push dword [ebp - 0x10]
push 0x468d24
lea eax, [ebp - 0x4d4]
mov edx, 3
call sub.rtl250.bpl__System__UStrCatN_qqrv
mov edx, dword [ebp - 0x4d4]
mov ecx, 0x468d8c
mov eax, 0x80000002
call fcn.00433fb8
mov edx, dword [ebp - 0x4d0]
lea eax, [ebp - 0x10]
call sub.rtl250.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
cmp dword [ebp - 0x14], 0
je 0x467cdd
push dword [ebp - 0x10]
push 0x468db8
push dword [ebp - 0x14]
lea eax, [ebp - 0x10]
mov edx, 3
call sub.rtl250.bpl__System__UStrCatN_qqrv
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x468dcc
call fcn.00467810
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467d00
xor eax, eax
push ebp
push 0x467d35
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4d8]
call fcn.004664b4
mov edx, dword [ebp - 0x4d8]
mov eax, 0x468dfc
call fcn.00467810
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467d3f
xor eax, eax
push ebp
push 0x467d74
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4dc]
call fcn.0046656c
mov edx, dword [ebp - 0x4dc]
mov eax, 0x468e2c
call fcn.00467810
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467d7e
xor eax, eax
push ebp
push 0x467db3
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4e0]
call fcn.0046663c
mov edx, dword [ebp - 0x4e0]
mov eax, 0x468e58
call fcn.00467810
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467dbd
xor eax, eax
push ebp
push 0x467df2
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4e4]
call fcn.00466694
mov edx, dword [ebp - 0x4e4]
mov eax, 0x468e84
call fcn.00467810
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467dfc
xor eax, eax
push ebp
push 0x467e89
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
call fcn.004667a8
cmp dword [ebp - 0x10], 0
je 0x467e7f
call fcn.004668ac
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 1
jne 0x467e37
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x468eb0
call fcn.00467810
pop ecx
jmp 0x467e7f
push ebp
lea eax, [ebp - 0x4ec]
push eax
mov cx, 0x30
mov edx, 1
mov eax, dword [ebp - 0x24]
call fcn.00408920
push dword [ebp - 0x4ec]
push 0x468ed0
push dword [ebp - 0x10]
lea eax, [ebp - 0x4e8]
mov edx, 3
call sub.rtl250.bpl__System__UStrCatN_qqrv
mov edx, dword [ebp - 0x4e8]
mov eax, 0x468ee4
call fcn.00467810
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467e93
xor eax, eax
push ebp
push 0x467ec8
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4f0]
call fcn.004669e0
mov edx, dword [ebp - 0x4f0]
mov eax, 0x468f08
call fcn.00467810
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467ed2
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
je 0x467f1d
xor eax, eax
push ebp
push 0x467f13
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4f4]
call fcn.00466b74
mov edx, dword [ebp - 0x4f4]
mov eax, 0x468f34
call fcn.00467810
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467f1d
xor eax, eax
push ebp
push 0x46805d
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x468f58
push 0x468f80
call sub.kernel32.dll_GetModuleHandleW
push eax
call fcn.00403508
mov dword [ebp - 8], eax
push 0x104
lea eax, [ebp - 0x236]
push eax
call sub.kernel32.dll_GetWindowsDirectoryA
lea edx, [ebp - 0x10]
xor eax, eax
call fcn.0043371c
mov ebx, dword [0x4cd508]
mov ebx, dword [ebx]
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax]
call ebx
mov ebx, eax
mov esi, dword [0x4cd508]
mov esi, dword [esi]
lea eax, [ebp - 0x236]
movzx eax, byte [eax]
call esi
cmp bl, al
je 0x468015
push ebp
push ebp
lea eax, [ebp - 0x500]
lea edx, [ebp - 0x236]
movzx edx, byte [edx]
mov ecx, 0
call sub.rtl250.bpl__System__LStrFromChar_qqrr27System__AnsiStringT_us_i0__cus
mov eax, dword [ebp - 0x500]
lea edx, [ebp - 0x4fc]
call fcn.0046767c
pop ecx
push dword [ebp - 0x4fc]
push 0x468fa8
push ebp
lea eax, [ebp - 0x508]
mov edx, dword [ebp - 0x10]
movzx edx, byte [edx]
mov ecx, 0
call sub.rtl250.bpl__System__LStrFromChar_qqrr27System__AnsiStringT_us_i0__cus
mov eax, dword [ebp - 0x508]
lea edx, [ebp - 0x504]
call fcn.0046767c
pop ecx
push dword [ebp - 0x504]
lea eax, [ebp - 0x4f8]
mov edx, 3
call sub.rtl250.bpl__System__UStrCatN_qqrv
mov edx, dword [ebp - 0x4f8]
mov eax, 0x468fb8
call fcn.00467810
pop ecx
jmp 0x468053
push ebp
push ebp
lea eax, [ebp - 0x510]
lea edx, [ebp - 0x236]
movzx edx, byte [edx]
mov ecx, 0
call sub.rtl250.bpl__System__LStrFromChar_qqrr27System__AnsiStringT_us_i0__cus
mov eax, dword [ebp - 0x510]
lea edx, [ebp - 0x50c]
call fcn.0046767c
pop ecx
mov edx, dword [ebp - 0x50c]
mov eax, 0x468fb8
call fcn.00467810
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468067
xor eax, eax
push ebp
push 0x46809c
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x514]
call fcn.00466c40
mov edx, dword [ebp - 0x514]
mov eax, 0x468fe4
call fcn.00467810
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4680a6
xor eax, eax
push ebp
push 0x4680ea
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x518]
push eax
call sub.kernel32.dll_GetCurrentProcessId
mov cx, 0x30
mov edx, 1
call fcn.00408aac
mov edx, dword [ebp - 0x518]
mov eax, 0x46900c
call fcn.00467810
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4680f4
xor eax, eax
push ebp
push 0x468129
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x51c]
call fcn.00466e28
mov edx, dword [ebp - 0x51c]
mov eax, 0x469030
call fcn.00467810
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468133
xor eax, eax
push ebp
push 0x468168
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x520]
call fcn.00466e4c
mov edx, dword [ebp - 0x520]
mov eax, 0x469060
call fcn.00467810
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468172
xor eax, eax
push ebp
push 0x468208
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x4cc514], 0
je 0x4681fe
call sub.rtl250.bpl__System_ParamCount_qqrv
test eax, eax
jle 0x4681fe
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
jne 0x4681c4
push ebp
call sub.kernel32.dll_GetCommandLineW
mov edx, eax
lea eax, [ebp - 0x524]
call sub.rtl250.bpl__System__UStrFromPWChar_qqrr20System_UnicodeStringpb
mov edx, dword [ebp - 0x524]
mov eax, 0x469094
call fcn.00467810
pop ecx
jmp 0x4681fe
push ebp
call sub.kernel32.dll_GetCommandLineA
mov edx, eax
lea eax, [ebp - 0x52c]
mov ecx, 0
call sub.rtl250.bpl__System__LStrFromPChar_qqrr27System__AnsiStringT_us_i0__pcus
mov edx, dword [ebp - 0x52c]
lea eax, [ebp - 0x528]
call sub.rtl250.bpl__System__UStrFromLStr_qqrr20System_UnicodeStringx27System__AnsiStringT_us_i0__
mov edx, dword [ebp - 0x528]
mov eax, 0x469094
call fcn.00467810
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468212
xor eax, eax
push ebp
push 0x46825a
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea edx, [ebp - 0x534]
xor eax, eax
call fcn.0043371c
mov eax, dword [ebp - 0x534]
lea edx, [ebp - 0x530]
call fcn.00409ed8
mov edx, dword [ebp - 0x530]
mov eax, 0x4690bc
call fcn.00467810
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468264
xor eax, eax
push ebp
push 0x4682be
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
call sub.kernel32.dll_GetModuleHandleW
cmp eax, dword [0x4cc60c]
je 0x4682b4
push ebp
lea edx, [ebp - 0x53c]
mov eax, dword [0x4cc60c]
call fcn.0043371c
mov eax, dword [ebp - 0x53c]
lea edx, [ebp - 0x538]
call fcn.00409ed8
mov edx, dword [ebp - 0x538]
mov eax, 0x4690e0
call fcn.00467810
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4682c8
xor edx, edx
push ebp
push 0x46853c
push dword fs:[edx]
mov dword fs:[edx], esp
cmp byte [0x4cc618], 0
je 0x4682eb
lea edx, [ebp - 0x10]
xor eax, eax
call fcn.0043371c
jmp 0x4682f8
lea edx, [ebp - 0x10]
mov eax, dword [0x4cc60c]
call fcn.0043371c
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
jne 0x46831b
lea eax, [ebp - 0x488]
push eax
mov eax, dword [ebp - 0x10]
call sub.rtl250.bpl__System__UStrToPWChar_qqrx20System_UnicodeString
push eax
call sub.kernel32.dll_FindFirstFileW
jmp 0x468346
lea eax, [ebp - 0x488]
push eax
lea eax, [ebp - 0x540]
mov edx, dword [ebp - 0x10]
mov ecx, 0
call sub.rtl250.bpl__System__LStrFromUStr_qqrr27System__AnsiStringT_us_i0__x20System_UnicodeStringus
mov eax, dword [ebp - 0x540]
call sub.rtl250.bpl__System__LStrToPChar_qqrx27System__AnsiStringT_us_i0__
push eax
call sub.kernel32.dll_FindFirstFileA
cmp eax, 0xffffffff
je 0x468532
push eax
call sub.kernel32.dll_FindClose
xor eax, eax
push ebp
push 0x4684be
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x474]
lea eax, [ebp - 0x474]
call fcn.00403388
lea edx, [ebp - 0x498]
lea eax, [ebp - 0x474]
call fcn.00403398
cmp byte [0x4cc618], 0
jne 0x46839d
push 0
call sub.kernel32.dll_GetModuleHandleW
cmp eax, dword [0x4cc60c]
jne 0x4683ac
lea eax, [ebp - 0x14]
mov edx, 0x46910c
call sub.rtl250.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
jmp 0x4683b9
lea eax, [ebp - 0x14]
mov edx, 0x469124
call sub.rtl250.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
push ebp
lea eax, [ebp - 0x548]
push eax
movzx eax, word [ebp - 0x498]
mov cx, 0x30
mov edx, 4
call fcn.00408a1c
push dword [ebp - 0x548]
push 0x468bd0
lea eax, [ebp - 0x54c]
push eax
movzx eax, word [ebp - 0x496]
mov cx, 0x30
mov edx, 2
call fcn.00408a1c
push dword [ebp - 0x54c]
push 0x468bd0
lea eax, [ebp - 0x550]
push eax
movzx eax, word [ebp - 0x492]
mov cx, 0x30
mov edx, 2
call fcn.00408a1c
push dword [ebp - 0x550]
push 0x468fa8
lea eax, [ebp - 0x554]
push eax
movzx eax, word [ebp - 0x490]
mov cx, 0x30
mov edx, 2
call fcn.00408a1c
push dword [ebp - 0x554]
push 0x468bf4
lea eax, [ebp - 0x558]
push eax
movzx eax, word [ebp - 0x48e]
mov cx, 0x30
mov edx, 2
call fcn.00408a1c
push dword [ebp - 0x558]
push 0x469140
lea eax, [ebp - 0x544]
mov edx, 0xa
call sub.rtl250.bpl__System__UStrCatN_qqrv
mov eax, dword [ebp - 0x544]
push eax
lea eax, [ebp - 0x55c]
mov ecx, 0x469154
mov edx, dword [ebp - 0x14]
call sub.rtl250.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x55c]
pop edx
call fcn.00467810
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4684c8
lea edx, [ebp - 0x560]
mov eax, dword [ebp - 0x1c]
call fcn.00445dc0
cmp dword [ebp - 0x560], 0
jne 0x468512
lea edx, [ebp - 0x564]
mov eax, dword [ebp - 0x10]
call fcn.0040d4e0
mov edx, dword [ebp - 0x564]
lea eax, [ebp - 0x10]
call sub.rtl250.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
cmp dword [ebp - 0x10], 0
je 0x468532
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x469178
call fcn.00467810
pop ecx
jmp 0x468532
push ebp
lea edx, [ebp - 0x568]
mov eax, dword [ebp - 0x1c]
call fcn.00445dc0
mov edx, dword [ebp - 0x568]
mov eax, 0x469178
call fcn.00467810
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468546
xor eax, eax
push ebp
push 0x4685a3
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x469188
call sub.kernel32.dll_GetModuleHandleW
mov ebx, eax
test ebx, ebx
je 0x468599
lea edx, [ebp - 0x56c]
mov eax, ebx
call fcn.0043371c
mov eax, dword [ebp - 0x56c]
mov ebx, dword [0x4cd3f4]
mov ebx, dword [ebx]
lea edx, [ebp - 0x10]
call ebx
cmp dword [ebp - 0x10], 0
je 0x468599
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x4691ac
call fcn.00467810
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4685ad
xor eax, eax
push ebp
push 0x468665
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x468607
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4cc60c]
call fcn.0040e324
cmp byte [eax + 0x1a], 2
je 0x4685ec
push ebp
mov edx, 0x4691d0
mov eax, 0x4691fc
call fcn.00467810
pop ecx
jmp 0x4685fd
push ebp
mov edx, 0x469224
mov eax, 0x4691fc
call fcn.00467810
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468622
push ebp
lea eax, [ebp - 0x574]
mov edx, dword [0x4cc504]
mov ecx, 0
call sub.rtl250.bpl__System__LStrFromPChar_qqrr27System__AnsiStringT_us_i0__pcus
mov edx, dword [ebp - 0x574]
lea eax, [ebp - 0x570]
call sub.rtl250.bpl__System__UStrFromLStr_qqrr20System_UnicodeStringx27System__AnsiStringT_us_i0__
mov edx, dword [ebp - 0x570]
mov eax, 0x469254
call fcn.00467810
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46866f
lea ecx, [ebp - 0x14]
mov edx, 0x469284
mov eax, dword [ebp - 0x1c]
call fcn.0044818c
mov ebx, dword [0x4cd4d8]
mov ebx, dword [ebx]
mov dl, 0x7c
mov eax, dword [ebp - 0x14]
call ebx
test eax, eax
jle 0x468848
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], 1
xor eax, eax
push ebp
push 0x468832
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
push eax
mov ebx, dword [0x4cd518]
mov ebx, dword [ebx]
mov cl, 0x7c
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
call ebx
mov eax, dword [0x4d1450]
call sub.rtl250.bpl__System__DynArrayHigh_qqrpxv
mov ebx, eax
test ebx, ebx
jl 0x468828
inc ebx
mov dword [ebp - 0x28], 0
mov esi, dword [ebp - 0x28]
mov eax, esi
add esi, esi
add esi, esi
add esi, esi
sub esi, eax
mov eax, dword [0x4d1450]
mov eax, dword [eax + esi*4]
mov edi, dword [0x4cd380]
mov edi, dword [edi]
mov edx, dword [ebp - 0x10]
call edi
test al, al
je 0x46881e
mov eax, dword [0x4d1450]
cmp byte [eax + esi*4 + 0x18], 0
jne 0x468828
mov eax, dword [0x4d1450]
cmp dword [eax + esi*4 + 8], 0
je 0x468762
push ebp
mov eax, dword [0x4d1450]
mov ebx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x57c]
call ebx
mov edx, dword [ebp - 0x57c]
lea eax, [ebp - 0x578]
call sub.rtl250.bpl__System__UStrFromLStr_qqrr20System_UnicodeStringx27System__AnsiStringT_us_i0__
mov edx, dword [ebp - 0x578]
mov eax, dword [0x4d1450]
mov eax, dword [eax + esi*4]
call fcn.00467810
pop ecx
jmp 0x468828
mov eax, dword [0x4d1450]
cmp dword [eax + esi*4 + 0xc], 0
je 0x468799
push ebp
mov eax, dword [0x4d1450]
mov ebx, dword [eax + esi*4 + 0xc]
lea eax, [ebp - 0x580]
call ebx
mov edx, dword [ebp - 0x580]
mov eax, dword [0x4d1450]
mov eax, dword [eax + esi*4]
call fcn.00467810
pop ecx
jmp 0x468828
mov eax, dword [0x4d1450]
cmp dword [eax + esi*4 + 0x10], 0
je 0x4687ea
push ebp
mov eax, dword [0x4d1450]
mov ebx, dword [eax + esi*4 + 0x10]
lea edx, [ebp - 0x588]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4687c1
sub eax, 0xfffffbc0
call ebx
mov edx, dword [ebp - 0x588]
lea eax, [ebp - 0x584]
call sub.rtl250.bpl__System__UStrFromLStr_qqrr20System_UnicodeStringx27System__AnsiStringT_us_i0__
mov edx, dword [ebp - 0x584]
mov eax, dword [0x4d1450]
mov eax, dword [eax + esi*4]
call fcn.00467810
pop ecx
jmp 0x468828
push ebp
mov eax, dword [0x4d1450]
mov ebx, dword [eax + esi*4 + 0x14]
lea edx, [ebp - 0x58c]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x468806
sub eax, 0xfffffbc0
call ebx
mov edx, dword [ebp - 0x58c]
mov eax, dword [0x4d1450]
mov eax, dword [eax + esi*4]
call fcn.00467810
pop ecx
jmp 0x468828
inc dword [ebp - 0x28]
dec ebx
jne 0x4686e0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46883c
inc dword [ebp - 0x24]
dec dword [ebp - 0x2c]
jne 0x4686a0
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0x28], eax
xor eax, eax
push ebp
push 0x468878
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov edx, 0x469298
mov eax, 0x4692d4
call fcn.00467810
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468882
xor eax, eax
push ebp
push 0x4688da
push dword fs:[eax]
mov dword fs:[eax], esp
add dword [0x4ccf78], 1
adc dword [0x4ccf7c], 0
push ebp
push dword [0x4ccf7c]
push dword [0x4ccf78]
lea ecx, [ebp - 0x590]
mov dx, 0x30
mov eax, 1
call fcn.00408a68
mov edx, dword [ebp - 0x590]
mov eax, 0x4692fc
call fcn.00467810
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4688e4
xor eax, eax
push ebp
push 0x4689d7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x4f], 1
je 0x4689ad
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
call fcn.00467450
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
call fcn.004673b0
push ebp
mov edx, dword [ebp - 0x14]
mov eax, 0x46932c
call fcn.00467810
pop ecx
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call sub.rtl250.bpl__System__UStrEqual_qqrv
je 0x4689cd
lea edx, [ebp - 0x594]
mov eax, dword [ebp - 0x10]
call fcn.004368ac
mov edx, dword [ebp - 0x594]
lea eax, [ebp - 0x10]
call sub.rtl250.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
push 0
mov ebx, dword [0x4cd438]
mov ebx, dword [ebx]
lea eax, [ebp - 0x10]
mov ecx, 0x468fa8
mov edx, 0x469358
call ebx
push 0
mov ebx, dword [0x4cd438]
mov ebx, dword [ebx]
lea eax, [ebp - 0x10]
mov ecx, 0x468fa8
mov edx, 0x469368
call ebx
push 1
mov ebx, dword [0x4cd438]
mov ebx, dword [ebx]
lea eax, [ebp - 0x10]
mov ecx, 0x468fa8
mov edx, 0x469378
call ebx
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x46938c
call fcn.00467810
pop ecx
jmp 0x4689cd
push ebp
lea edx, [ebp - 0x598]
mov eax, dword [ebp - 0x1c]
call fcn.00445e34
mov edx, dword [ebp - 0x598]
mov eax, 0x46938c
call fcn.00467810
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4689e1
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0xc]
xor eax, eax
push ebp
push 0x468a5e
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
dec eax
test eax, eax
jl 0x468a2d
inc eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], 0
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x24]
mov ecx, dword [eax + edx*8 + 4]
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x24]
mov edx, dword [eax + edx*8]
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x28]
inc dword [ebp - 0x24]
dec dword [ebp - 0x2c]
jne 0x468a0a
lea eax, [ebp - 0x59c]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x3a0]
mov ecx, 0x468bb4
call sub.rtl250.bpl__System__IntfCast_qqrr44System__DelphiInterface_17System_IInterface_x44System__DelphiInterface_17System_IInterf
mov eax, dword [ebp - 0x59c]
mov edx, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x14]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468a68
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x10]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x468baa
lea eax, [ebp - 0x59c]
call sub.rtl250.bpl__System__IntfClear_qqrr44System__DelphiInterface_17System_IInterface_
lea eax, [ebp - 0x598]
mov edx, 4
call sub.rtl250.bpl__System__UStrArrayClr_qqrpvi
lea eax, [ebp - 0x588]
call sub.rtl250.bpl__System__LStrClr_qqrpv
lea eax, [ebp - 0x584]
mov edx, 2
call sub.rtl250.bpl__System__UStrArrayClr_qqrpvi
lea eax, [ebp - 0x57c]
call sub.rtl250.bpl__System__LStrClr_qqrpv
lea eax, [ebp - 0x578]
call sub.rtl250.bpl__System__UStrClr_qqrpv
lea eax, [ebp - 0x574]
call sub.rtl250.bpl__System__LStrClr_qqrpv
lea eax, [ebp - 0x570]
mov edx, 0xc
call sub.rtl250.bpl__System__UStrArrayClr_qqrpvi
lea eax, [ebp - 0x540]
call sub.rtl250.bpl__System__LStrClr_qqrpv
lea eax, [ebp - 0x53c]
mov edx, 4
call sub.rtl250.bpl__System__UStrArrayClr_qqrpvi
lea eax, [ebp - 0x52c]
call sub.rtl250.bpl__System__LStrClr_qqrpv
lea eax, [ebp - 0x528]
mov edx, 6
call sub.rtl250.bpl__System__UStrArrayClr_qqrpvi
lea eax, [ebp - 0x510]
call sub.rtl250.bpl__System__LStrClr_qqrpv
lea eax, [ebp - 0x50c]
call sub.rtl250.bpl__System__UStrClr_qqrpv
lea eax, [ebp - 0x508]
call sub.rtl250.bpl__System__LStrClr_qqrpv
lea eax, [ebp - 0x504]
call sub.rtl250.bpl__System__UStrClr_qqrpv
lea eax, [ebp - 0x500]
call sub.rtl250.bpl__System__LStrClr_qqrpv
lea eax, [ebp - 0x4fc]
mov edx, 0xd
call sub.rtl250.bpl__System__UStrArrayClr_qqrpvi
lea eax, [ebp - 0x4c4]
mov edx, 0xa
call sub.rtl250.bpl__System__UStrArrayClr_qqrpvi
lea eax, [ebp - 0x49c]
call sub.rtl250.bpl__System__IntfClear_qqrr44System__DelphiInterface_17System_IInterface_
lea eax, [ebp - 0x18]
call sub.rtl250.bpl__System__IntfClear_qqrr44System__DelphiInterface_17System_IInterface_
lea eax, [ebp - 0x14]
mov edx, 2
call sub.rtl250.bpl__System__UStrArrayClr_qqrpvi
lea eax, [ebp - 4]
mov edx, dword [0x467644]
call sub.rtl250.bpl__System__DynArrayClear_qqrrpvpv
ret