Function at 0x467ca8
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 0x467cb0
push ecx
push ebx
push esi
push edi
mov esi, edx
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x468f94
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x3a0], 0
jne 0x467d04
mov dl, 1
mov eax, dword [0x43fa6c]
call fcn.00449b7c
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 0x467cff
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 0x468e64
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3a0]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x468e64
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, 0x468fa8
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 0x467ed4
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.0040913c
push dword [ebp - 0x4a4]
push 0x468fc4
lea eax, [ebp - 0x4a8]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x426]
mov cx, 0x30
mov edx, 2
call fcn.0040913c
push dword [ebp - 0x4a8]
push 0x468fc4
lea eax, [ebp - 0x4ac]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x42a]
mov cx, 0x30
mov edx, 2
call fcn.0040913c
push dword [ebp - 0x4ac]
push 0x468fd4
lea eax, [ebp - 0x4b0]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x42c]
mov cx, 0x30
mov edx, 2
call fcn.0040913c
push dword [ebp - 0x4b0]
push 0x468fe8
lea eax, [ebp - 0x4b4]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x42e]
mov cx, 0x30
mov edx, 2
call fcn.0040913c
push dword [ebp - 0x4b4]
push 0x468fe8
lea eax, [ebp - 0x4b8]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x430]
mov cx, 0x30
mov edx, 2
call fcn.0040913c
push dword [ebp - 0x4b8]
push 0x468fd4
lea eax, [ebp - 0x4bc]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x432]
mov cx, 0x30
mov edx, 1
call fcn.0040913c
push dword [ebp - 0x4bc]
push 0x468ff8
lea eax, [ebp - 0x4a0]
mov edx, 0xe
call sub.rtl250.bpl__System__UStrCatN_qqrv
mov edx, dword [ebp - 0x4a0]
mov eax, 0x46900c
call fcn.00467c04
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467ede
xor eax, eax
push ebp
push 0x467f13
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4c0]
call fcn.004342f8
mov edx, dword [ebp - 0x4c0]
mov eax, 0x46902c
call fcn.00467c04
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467f1d
xor eax, eax
push ebp
push 0x467f52
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4c4]
call fcn.004664f4
mov edx, dword [ebp - 0x4c4]
mov eax, 0x469054
call fcn.00467c04
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467f5c
xor eax, eax
push ebp
push 0x467ffb
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x20], 0x104
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
jne 0x467fa2
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 0x467fcc
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.00466430
test al, al
je 0x467fe2
lea eax, [ebp - 0x10]
mov edx, 0x469080
call sub.rtl250.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x4690a0
call fcn.00467c04
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468005
xor eax, eax
push ebp
push 0x4680ea
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
jne 0x46802e
lea eax, [ebp - 0x10]
mov edx, 0x4690c0
call sub.rtl250.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
jmp 0x468036
lea eax, [ebp - 0x10]
call sub.rtl250.bpl__System__UStrClr_qqrpv
lea eax, [ebp - 0x14]
push eax
push 0x4690d4
push dword [ebp - 0x10]
push 0x469118
lea eax, [ebp - 0x4cc]
mov edx, 3
call sub.rtl250.bpl__System__UStrCatN_qqrv
mov edx, dword [ebp - 0x4cc]
mov ecx, 0x469144
mov eax, 0x80000002
call fcn.004343ac
lea eax, [ebp - 0x4d0]
push eax
push 0x4690d4
push dword [ebp - 0x10]
push 0x469118
lea eax, [ebp - 0x4d4]
mov edx, 3
call sub.rtl250.bpl__System__UStrCatN_qqrv
mov edx, dword [ebp - 0x4d4]
mov ecx, 0x469180
mov eax, 0x80000002
call fcn.004343ac
mov edx, dword [ebp - 0x4d0]
lea eax, [ebp - 0x10]
call sub.rtl250.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
cmp dword [ebp - 0x14], 0
je 0x4680d1
push dword [ebp - 0x10]
push 0x4691ac
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, 0x4691c0
call fcn.00467c04
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 - 0x4d8]
call fcn.004668a8
mov edx, dword [ebp - 0x4d8]
mov eax, 0x4691f0
call fcn.00467c04
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 - 0x4dc]
call fcn.00466960
mov edx, dword [ebp - 0x4dc]
mov eax, 0x469220
call fcn.00467c04
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468172
xor eax, eax
push ebp
push 0x4681a7
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4e0]
call fcn.00466a30
mov edx, dword [ebp - 0x4e0]
mov eax, 0x46924c
call fcn.00467c04
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4681b1
xor eax, eax
push ebp
push 0x4681e6
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4e4]
call fcn.00466a88
mov edx, dword [ebp - 0x4e4]
mov eax, 0x469278
call fcn.00467c04
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4681f0
xor eax, eax
push ebp
push 0x46827d
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
call fcn.00466b9c
cmp dword [ebp - 0x10], 0
je 0x468273
call fcn.00466ca0
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 1
jne 0x46822b
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x4692a4
call fcn.00467c04
pop ecx
jmp 0x468273
push ebp
lea eax, [ebp - 0x4ec]
push eax
mov cx, 0x30
mov edx, 1
mov eax, dword [ebp - 0x24]
call fcn.00409040
push dword [ebp - 0x4ec]
push 0x4692c4
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, 0x4692d8
call fcn.00467c04
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468287
xor eax, eax
push ebp
push 0x4682bc
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4f0]
call fcn.00466dd4
mov edx, dword [ebp - 0x4f0]
mov eax, 0x4692fc
call fcn.00467c04
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4682c6
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
je 0x468311
xor eax, eax
push ebp
push 0x468307
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4f4]
call fcn.00466f68
mov edx, dword [ebp - 0x4f4]
mov eax, 0x469328
call fcn.00467c04
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468311
xor eax, eax
push ebp
push 0x468451
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x46934c
push 0x469374
call sub.kernel32.dll_GetModuleHandleW
push eax
call fcn.004039d8
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.00433b10
mov ebx, dword [0x603abc]
mov ebx, dword [ebx]
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax]
call ebx
mov ebx, eax
mov esi, dword [0x603abc]
mov esi, dword [esi]
lea eax, [ebp - 0x236]
movzx eax, byte [eax]
call esi
cmp bl, al
je 0x468409
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.00467a70
pop ecx
push dword [ebp - 0x4fc]
push 0x46939c
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.00467a70
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, 0x4693ac
call fcn.00467c04
pop ecx
jmp 0x468447
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.00467a70
pop ecx
mov edx, dword [ebp - 0x50c]
mov eax, 0x4693ac
call fcn.00467c04
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46845b
xor eax, eax
push ebp
push 0x468490
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x514]
call fcn.00467034
mov edx, dword [ebp - 0x514]
mov eax, 0x4693d8
call fcn.00467c04
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46849a
xor eax, eax
push ebp
push 0x4684de
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.004091cc
mov edx, dword [ebp - 0x518]
mov eax, 0x469400
call fcn.00467c04
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4684e8
xor eax, eax
push ebp
push 0x46851d
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x51c]
call fcn.0046721c
mov edx, dword [ebp - 0x51c]
mov eax, 0x469424
call fcn.00467c04
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468527
xor eax, eax
push ebp
push 0x46855c
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x520]
call fcn.00467240
mov edx, dword [ebp - 0x520]
mov eax, 0x469454
call fcn.00467c04
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468566
xor eax, eax
push ebp
push 0x4685fc
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x5fb514], 0
je 0x4685f2
call sub.rtl250.bpl__System_ParamCount_qqrv
test eax, eax
jle 0x4685f2
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
jne 0x4685b8
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, 0x469488
call fcn.00467c04
pop ecx
jmp 0x4685f2
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, 0x469488
call fcn.00467c04
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468606
xor eax, eax
push ebp
push 0x46864e
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea edx, [ebp - 0x534]
xor eax, eax
call fcn.00433b10
mov eax, dword [ebp - 0x534]
lea edx, [ebp - 0x530]
call fcn.0040a5f8
mov edx, dword [ebp - 0x530]
mov eax, 0x4694b0
call fcn.00467c04
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468658
xor eax, eax
push ebp
push 0x4686b2
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
call sub.kernel32.dll_GetModuleHandleW
cmp eax, dword [0x5fb60c]
je 0x4686a8
push ebp
lea edx, [ebp - 0x53c]
mov eax, dword [0x5fb60c]
call fcn.00433b10
mov eax, dword [ebp - 0x53c]
lea edx, [ebp - 0x538]
call fcn.0040a5f8
mov edx, dword [ebp - 0x538]
mov eax, 0x4694d4
call fcn.00467c04
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4686bc
xor edx, edx
push ebp
push 0x468930
push dword fs:[edx]
mov dword fs:[edx], esp
cmp byte [0x5fb618], 0
je 0x4686df
lea edx, [ebp - 0x10]
xor eax, eax
call fcn.00433b10
jmp 0x4686ec
lea edx, [ebp - 0x10]
mov eax, dword [0x5fb60c]
call fcn.00433b10
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
jne 0x46870f
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 0x46873a
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 0x468926
push eax
call sub.kernel32.dll_FindClose
xor eax, eax
push ebp
push 0x4688b2
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x474]
lea eax, [ebp - 0x474]
call fcn.0040380c
lea edx, [ebp - 0x498]
lea eax, [ebp - 0x474]
call fcn.0040381c
cmp byte [0x5fb618], 0
jne 0x468791
push 0
call sub.kernel32.dll_GetModuleHandleW
cmp eax, dword [0x5fb60c]
jne 0x4687a0
lea eax, [ebp - 0x14]
mov edx, 0x469500
call sub.rtl250.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
jmp 0x4687ad
lea eax, [ebp - 0x14]
mov edx, 0x469518
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.0040913c
push dword [ebp - 0x548]
push 0x468fc4
lea eax, [ebp - 0x54c]
push eax
movzx eax, word [ebp - 0x496]
mov cx, 0x30
mov edx, 2
call fcn.0040913c
push dword [ebp - 0x54c]
push 0x468fc4
lea eax, [ebp - 0x550]
push eax
movzx eax, word [ebp - 0x492]
mov cx, 0x30
mov edx, 2
call fcn.0040913c
push dword [ebp - 0x550]
push 0x46939c
lea eax, [ebp - 0x554]
push eax
movzx eax, word [ebp - 0x490]
mov cx, 0x30
mov edx, 2
call fcn.0040913c
push dword [ebp - 0x554]
push 0x468fe8
lea eax, [ebp - 0x558]
push eax
movzx eax, word [ebp - 0x48e]
mov cx, 0x30
mov edx, 2
call fcn.0040913c
push dword [ebp - 0x558]
push 0x469534
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, 0x469548
mov edx, dword [ebp - 0x14]
call sub.rtl250.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x55c]
pop edx
call fcn.00467c04
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4688bc
lea edx, [ebp - 0x560]
mov eax, dword [ebp - 0x1c]
call fcn.004461b4
cmp dword [ebp - 0x560], 0
jne 0x468906
lea edx, [ebp - 0x564]
mov eax, dword [ebp - 0x10]
call fcn.0040dda4
mov edx, dword [ebp - 0x564]
lea eax, [ebp - 0x10]
call sub.rtl250.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
cmp dword [ebp - 0x10], 0
je 0x468926
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x46956c
call fcn.00467c04
pop ecx
jmp 0x468926
push ebp
lea edx, [ebp - 0x568]
mov eax, dword [ebp - 0x1c]
call fcn.004461b4
mov edx, dword [ebp - 0x568]
mov eax, 0x46956c
call fcn.00467c04
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46893a
xor eax, eax
push ebp
push 0x468997
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x46957c
call sub.kernel32.dll_GetModuleHandleW
mov ebx, eax
test ebx, ebx
je 0x46898d
lea edx, [ebp - 0x56c]
mov eax, ebx
call fcn.00433b10
mov eax, dword [ebp - 0x56c]
mov ebx, dword [0x6038a0]
mov ebx, dword [ebx]
lea edx, [ebp - 0x10]
call ebx
cmp dword [ebp - 0x10], 0
je 0x46898d
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x4695a0
call fcn.00467c04
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4689a1
xor eax, eax
push ebp
push 0x468a59
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x4689fb
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5fb60c]
call fcn.0040ebe8
cmp byte [eax + 0x1a], 2
je 0x4689e0
push ebp
mov edx, 0x4695c4
mov eax, 0x4695f0
call fcn.00467c04
pop ecx
jmp 0x4689f1
push ebp
mov edx, 0x469618
mov eax, 0x4695f0
call fcn.00467c04
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468a16
push ebp
lea eax, [ebp - 0x574]
mov edx, dword [0x5fb504]
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, 0x469648
call fcn.00467c04
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468a63
lea ecx, [ebp - 0x14]
mov edx, 0x469678
mov eax, dword [ebp - 0x1c]
call fcn.00448580
mov ebx, dword [0x603a88]
mov ebx, dword [ebx]
mov dl, 0x7c
mov eax, dword [ebp - 0x14]
call ebx
test eax, eax
jle 0x468c3c
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], 1
xor eax, eax
push ebp
push 0x468c26
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
push eax
mov ebx, dword [0x603af4]
mov ebx, dword [ebx]
mov cl, 0x7c
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
call ebx
mov eax, dword [0x6073f4]
call sub.rtl250.bpl__System__DynArrayHigh_qqrpxv
mov ebx, eax
test ebx, ebx
jl 0x468c1c
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 [0x6073f4]
mov eax, dword [eax + esi*4]
mov edi, dword [0x60379c]
mov edi, dword [edi]
mov edx, dword [ebp - 0x10]
call edi
test al, al
je 0x468c12
mov eax, dword [0x6073f4]
cmp byte [eax + esi*4 + 0x18], 0
jne 0x468c1c
mov eax, dword [0x6073f4]
cmp dword [eax + esi*4 + 8], 0
je 0x468b56
push ebp
mov eax, dword [0x6073f4]
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 [0x6073f4]
mov eax, dword [eax + esi*4]
call fcn.00467c04
pop ecx
jmp 0x468c1c
mov eax, dword [0x6073f4]
cmp dword [eax + esi*4 + 0xc], 0
je 0x468b8d
push ebp
mov eax, dword [0x6073f4]
mov ebx, dword [eax + esi*4 + 0xc]
lea eax, [ebp - 0x580]
call ebx
mov edx, dword [ebp - 0x580]
mov eax, dword [0x6073f4]
mov eax, dword [eax + esi*4]
call fcn.00467c04
pop ecx
jmp 0x468c1c
mov eax, dword [0x6073f4]
cmp dword [eax + esi*4 + 0x10], 0
je 0x468bde
push ebp
mov eax, dword [0x6073f4]
mov ebx, dword [eax + esi*4 + 0x10]
lea edx, [ebp - 0x588]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x468bb5
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 [0x6073f4]
mov eax, dword [eax + esi*4]
call fcn.00467c04
pop ecx
jmp 0x468c1c
push ebp
mov eax, dword [0x6073f4]
mov ebx, dword [eax + esi*4 + 0x14]
lea edx, [ebp - 0x58c]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x468bfa
sub eax, 0xfffffbc0
call ebx
mov edx, dword [ebp - 0x58c]
mov eax, dword [0x6073f4]
mov eax, dword [eax + esi*4]
call fcn.00467c04
pop ecx
jmp 0x468c1c
inc dword [ebp - 0x28]
dec ebx
jne 0x468ad4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468c30
inc dword [ebp - 0x24]
dec dword [ebp - 0x2c]
jne 0x468a94
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0x28], eax
xor eax, eax
push ebp
push 0x468c6c
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov edx, 0x46968c
mov eax, 0x4696c8
call fcn.00467c04
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468c76
xor eax, eax
push ebp
push 0x468cce
push dword fs:[eax]
mov dword fs:[eax], esp
add dword [0x5fbf78], 1
adc dword [0x5fbf7c], 0
push ebp
push dword [0x5fbf7c]
push dword [0x5fbf78]
lea ecx, [ebp - 0x590]
mov dx, 0x30
mov eax, 1
call fcn.00409188
mov edx, dword [ebp - 0x590]
mov eax, 0x4696f0
call fcn.00467c04
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468cd8
xor eax, eax
push ebp
push 0x468dcb
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x4f], 1
je 0x468da1
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
call fcn.00467844
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
call fcn.004677a4
push ebp
mov edx, dword [ebp - 0x14]
mov eax, 0x469720
call fcn.00467c04
pop ecx
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call sub.rtl250.bpl__System__UStrEqual_qqrv
je 0x468dc1
lea edx, [ebp - 0x594]
mov eax, dword [ebp - 0x10]
call fcn.00436ca0
mov edx, dword [ebp - 0x594]
lea eax, [ebp - 0x10]
call sub.rtl250.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
push 0
mov ebx, dword [0x603920]
mov ebx, dword [ebx]
lea eax, [ebp - 0x10]
mov ecx, 0x46939c
mov edx, 0x46974c
call ebx
push 0
mov ebx, dword [0x603920]
mov ebx, dword [ebx]
lea eax, [ebp - 0x10]
mov ecx, 0x46939c
mov edx, 0x46975c
call ebx
push 1
mov ebx, dword [0x603920]
mov ebx, dword [ebx]
lea eax, [ebp - 0x10]
mov ecx, 0x46939c
mov edx, 0x46976c
call ebx
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x469780
call fcn.00467c04
pop ecx
jmp 0x468dc1
push ebp
lea edx, [ebp - 0x598]
mov eax, dword [ebp - 0x1c]
call fcn.00446228
mov edx, dword [ebp - 0x598]
mov eax, 0x469780
call fcn.00467c04
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468dd5
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0xc]
xor eax, eax
push ebp
push 0x468e52
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
dec eax
test eax, eax
jl 0x468e21
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 0x468dfe
lea eax, [ebp - 0x59c]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x3a0]
mov ecx, 0x468fa8
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 0x468e5c
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 0x468f9e
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 [0x467a38]
call sub.rtl250.bpl__System__DynArrayClear_qqrrpvpv
ret