Function at 0x466404
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 0x46640c
push ecx
push ebx
push esi
push edi
mov esi, edx
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x4676f0
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x3a0], 0
jne 0x466460
mov dl, 1
mov eax, dword [0x43e288]
call fcn.00448398
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 0x46645b
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 0x4675c0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3a0]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x4675c0
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, 0x467704
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 0x466630
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.0040804c
push dword [ebp - 0x4a4]
push 0x467720
lea eax, [ebp - 0x4a8]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x426]
mov cx, 0x30
mov edx, 2
call fcn.0040804c
push dword [ebp - 0x4a8]
push 0x467720
lea eax, [ebp - 0x4ac]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x42a]
mov cx, 0x30
mov edx, 2
call fcn.0040804c
push dword [ebp - 0x4ac]
push 0x467730
lea eax, [ebp - 0x4b0]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x42c]
mov cx, 0x30
mov edx, 2
call fcn.0040804c
push dword [ebp - 0x4b0]
push 0x467744
lea eax, [ebp - 0x4b4]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x42e]
mov cx, 0x30
mov edx, 2
call fcn.0040804c
push dword [ebp - 0x4b4]
push 0x467744
lea eax, [ebp - 0x4b8]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x430]
mov cx, 0x30
mov edx, 2
call fcn.0040804c
push dword [ebp - 0x4b8]
push 0x467730
lea eax, [ebp - 0x4bc]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x432]
mov cx, 0x30
mov edx, 1
call fcn.0040804c
push dword [ebp - 0x4bc]
push 0x467754
lea eax, [ebp - 0x4a0]
mov edx, 0xe
call sub.rtl250.bpl__System__UStrCatN_qqrv
mov edx, dword [ebp - 0x4a0]
mov eax, 0x467768
call fcn.00466360
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46663a
xor eax, eax
push ebp
push 0x46666f
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4c0]
call fcn.00432b14
mov edx, dword [ebp - 0x4c0]
mov eax, 0x467788
call fcn.00466360
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x466679
xor eax, eax
push ebp
push 0x4666ae
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4c4]
call fcn.00464c50
mov edx, dword [ebp - 0x4c4]
mov eax, 0x4677b0
call fcn.00466360
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4666b8
xor eax, eax
push ebp
push 0x466757
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x20], 0x104
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
jne 0x4666fe
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 0x466728
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.00464b8c
test al, al
je 0x46673e
lea eax, [ebp - 0x10]
mov edx, 0x4677dc
call sub.rtl250.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x4677fc
call fcn.00466360
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x466761
xor eax, eax
push ebp
push 0x466846
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
jne 0x46678a
lea eax, [ebp - 0x10]
mov edx, 0x46781c
call sub.rtl250.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
jmp 0x466792
lea eax, [ebp - 0x10]
call sub.rtl250.bpl__System__UStrClr_qqrpv
lea eax, [ebp - 0x14]
push eax
push 0x467830
push dword [ebp - 0x10]
push 0x467874
lea eax, [ebp - 0x4cc]
mov edx, 3
call sub.rtl250.bpl__System__UStrCatN_qqrv
mov edx, dword [ebp - 0x4cc]
mov ecx, 0x4678a0
mov eax, 0x80000002
call fcn.00432bc8
lea eax, [ebp - 0x4d0]
push eax
push 0x467830
push dword [ebp - 0x10]
push 0x467874
lea eax, [ebp - 0x4d4]
mov edx, 3
call sub.rtl250.bpl__System__UStrCatN_qqrv
mov edx, dword [ebp - 0x4d4]
mov ecx, 0x4678dc
mov eax, 0x80000002
call fcn.00432bc8
mov edx, dword [ebp - 0x4d0]
lea eax, [ebp - 0x10]
call sub.rtl250.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
cmp dword [ebp - 0x14], 0
je 0x46682d
push dword [ebp - 0x10]
push 0x467908
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, 0x46791c
call fcn.00466360
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x466850
xor eax, eax
push ebp
push 0x466885
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4d8]
call fcn.00465004
mov edx, dword [ebp - 0x4d8]
mov eax, 0x46794c
call fcn.00466360
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46688f
xor eax, eax
push ebp
push 0x4668c4
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4dc]
call fcn.004650bc
mov edx, dword [ebp - 0x4dc]
mov eax, 0x46797c
call fcn.00466360
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4668ce
xor eax, eax
push ebp
push 0x466903
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4e0]
call fcn.0046518c
mov edx, dword [ebp - 0x4e0]
mov eax, 0x4679a8
call fcn.00466360
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46690d
xor eax, eax
push ebp
push 0x466942
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4e4]
call fcn.004651e4
mov edx, dword [ebp - 0x4e4]
mov eax, 0x4679d4
call fcn.00466360
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46694c
xor eax, eax
push ebp
push 0x4669d9
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
call fcn.004652f8
cmp dword [ebp - 0x10], 0
je 0x4669cf
call fcn.004653fc
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 1
jne 0x466987
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x467a00
call fcn.00466360
pop ecx
jmp 0x4669cf
push ebp
lea eax, [ebp - 0x4ec]
push eax
mov cx, 0x30
mov edx, 1
mov eax, dword [ebp - 0x24]
call fcn.00407f50
push dword [ebp - 0x4ec]
push 0x467a20
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, 0x467a34
call fcn.00466360
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4669e3
xor eax, eax
push ebp
push 0x466a18
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4f0]
call fcn.00465530
mov edx, dword [ebp - 0x4f0]
mov eax, 0x467a58
call fcn.00466360
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x466a22
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
je 0x466a6d
xor eax, eax
push ebp
push 0x466a63
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4f4]
call fcn.004656c4
mov edx, dword [ebp - 0x4f4]
mov eax, 0x467a84
call fcn.00466360
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x466a6d
xor eax, eax
push ebp
push 0x466bad
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x467aa8
push 0x467ad0
call sub.kernel32.dll_GetModuleHandleW
push eax
call fcn.00402b90
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.0043232c
mov ebx, dword [0x47b148]
mov ebx, dword [ebx]
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax]
call ebx
mov ebx, eax
mov esi, dword [0x47b148]
mov esi, dword [esi]
lea eax, [ebp - 0x236]
movzx eax, byte [eax]
call esi
cmp bl, al
je 0x466b65
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.004661cc
pop ecx
push dword [ebp - 0x4fc]
push 0x467af8
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.004661cc
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, 0x467b08
call fcn.00466360
pop ecx
jmp 0x466ba3
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.004661cc
pop ecx
mov edx, dword [ebp - 0x50c]
mov eax, 0x467b08
call fcn.00466360
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x466bb7
xor eax, eax
push ebp
push 0x466bec
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x514]
call fcn.00465790
mov edx, dword [ebp - 0x514]
mov eax, 0x467b34
call fcn.00466360
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x466bf6
xor eax, eax
push ebp
push 0x466c3a
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.004080dc
mov edx, dword [ebp - 0x518]
mov eax, 0x467b5c
call fcn.00466360
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x466c44
xor eax, eax
push ebp
push 0x466c79
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x51c]
call fcn.00465978
mov edx, dword [ebp - 0x51c]
mov eax, 0x467b80
call fcn.00466360
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x466c83
xor eax, eax
push ebp
push 0x466cb8
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x520]
call fcn.0046599c
mov edx, dword [ebp - 0x520]
mov eax, 0x467bb0
call fcn.00466360
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x466cc2
xor eax, eax
push ebp
push 0x466d58
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x47a500], 0
je 0x466d4e
call sub.rtl250.bpl__System_ParamCount_qqrv
test eax, eax
jle 0x466d4e
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
jne 0x466d14
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, 0x467be4
call fcn.00466360
pop ecx
jmp 0x466d4e
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, 0x467be4
call fcn.00466360
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x466d62
xor eax, eax
push ebp
push 0x466daa
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea edx, [ebp - 0x534]
xor eax, eax
call fcn.0043232c
mov eax, dword [ebp - 0x534]
lea edx, [ebp - 0x530]
call fcn.00409508
mov edx, dword [ebp - 0x530]
mov eax, 0x467c0c
call fcn.00466360
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x466db4
xor eax, eax
push ebp
push 0x466e0e
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
call sub.kernel32.dll_GetModuleHandleW
cmp eax, dword [0x47a5f8]
je 0x466e04
push ebp
lea edx, [ebp - 0x53c]
mov eax, dword [0x47a5f8]
call fcn.0043232c
mov eax, dword [ebp - 0x53c]
lea edx, [ebp - 0x538]
call fcn.00409508
mov edx, dword [ebp - 0x538]
mov eax, 0x467c30
call fcn.00466360
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x466e18
xor edx, edx
push ebp
push 0x46708c
push dword fs:[edx]
mov dword fs:[edx], esp
cmp byte [0x47a608], 0
je 0x466e3b
lea edx, [ebp - 0x10]
xor eax, eax
call fcn.0043232c
jmp 0x466e48
lea edx, [ebp - 0x10]
mov eax, dword [0x47a5f8]
call fcn.0043232c
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
jne 0x466e6b
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 0x466e96
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 0x467082
push eax
call sub.kernel32.dll_FindClose
xor eax, eax
push ebp
push 0x46700e
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x474]
lea eax, [ebp - 0x474]
call fcn.00402a10
lea edx, [ebp - 0x498]
lea eax, [ebp - 0x474]
call fcn.00402a20
cmp byte [0x47a608], 0
jne 0x466eed
push 0
call sub.kernel32.dll_GetModuleHandleW
cmp eax, dword [0x47a5f8]
jne 0x466efc
lea eax, [ebp - 0x14]
mov edx, 0x467c5c
call sub.rtl250.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
jmp 0x466f09
lea eax, [ebp - 0x14]
mov edx, 0x467c74
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.0040804c
push dword [ebp - 0x548]
push 0x467720
lea eax, [ebp - 0x54c]
push eax
movzx eax, word [ebp - 0x496]
mov cx, 0x30
mov edx, 2
call fcn.0040804c
push dword [ebp - 0x54c]
push 0x467720
lea eax, [ebp - 0x550]
push eax
movzx eax, word [ebp - 0x492]
mov cx, 0x30
mov edx, 2
call fcn.0040804c
push dword [ebp - 0x550]
push 0x467af8
lea eax, [ebp - 0x554]
push eax
movzx eax, word [ebp - 0x490]
mov cx, 0x30
mov edx, 2
call fcn.0040804c
push dword [ebp - 0x554]
push 0x467744
lea eax, [ebp - 0x558]
push eax
movzx eax, word [ebp - 0x48e]
mov cx, 0x30
mov edx, 2
call fcn.0040804c
push dword [ebp - 0x558]
push 0x467c90
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, 0x467ca4
mov edx, dword [ebp - 0x14]
call sub.rtl250.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x55c]
pop edx
call fcn.00466360
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467018
lea edx, [ebp - 0x560]
mov eax, dword [ebp - 0x1c]
call fcn.004449d0
cmp dword [ebp - 0x560], 0
jne 0x467062
lea edx, [ebp - 0x564]
mov eax, dword [ebp - 0x10]
call fcn.0040cb10
mov edx, dword [ebp - 0x564]
lea eax, [ebp - 0x10]
call sub.rtl250.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
cmp dword [ebp - 0x10], 0
je 0x467082
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x467cc8
call fcn.00466360
pop ecx
jmp 0x467082
push ebp
lea edx, [ebp - 0x568]
mov eax, dword [ebp - 0x1c]
call fcn.004449d0
mov edx, dword [ebp - 0x568]
mov eax, 0x467cc8
call fcn.00466360
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467096
xor eax, eax
push ebp
push 0x4670f3
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x467cd8
call sub.kernel32.dll_GetModuleHandleW
mov ebx, eax
test ebx, ebx
je 0x4670e9
lea edx, [ebp - 0x56c]
mov eax, ebx
call fcn.0043232c
mov eax, dword [ebp - 0x56c]
mov ebx, dword [0x47b0b0]
mov ebx, dword [ebx]
lea edx, [ebp - 0x10]
call ebx
cmp dword [ebp - 0x10], 0
je 0x4670e9
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x467cfc
call fcn.00466360
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4670fd
xor eax, eax
push ebp
push 0x4671b5
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x467157
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x47a5f8]
call fcn.0040d954
cmp byte [eax + 0x1a], 2
je 0x46713c
push ebp
mov edx, 0x467d20
mov eax, 0x467d4c
call fcn.00466360
pop ecx
jmp 0x46714d
push ebp
mov edx, 0x467d74
mov eax, 0x467d4c
call fcn.00466360
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467172
push ebp
lea eax, [ebp - 0x574]
mov edx, dword [0x47a4f0]
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, 0x467da4
call fcn.00466360
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4671bf
lea ecx, [ebp - 0x14]
mov edx, 0x467dd4
mov eax, dword [ebp - 0x1c]
call fcn.00446d9c
mov ebx, dword [0x47b13c]
mov ebx, dword [ebx]
mov dl, 0x7c
mov eax, dword [ebp - 0x14]
call ebx
test eax, eax
jle 0x467398
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], 1
xor eax, eax
push ebp
push 0x467382
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
push eax
mov ebx, dword [0x47b154]
mov ebx, dword [ebx]
mov cl, 0x7c
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
call ebx
mov eax, dword [0x47f3f4]
call sub.rtl250.bpl__System__DynArrayHigh_qqrpxv
mov ebx, eax
test ebx, ebx
jl 0x467378
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 [0x47f3f4]
mov eax, dword [eax + esi*4]
mov edi, dword [0x47b070]
mov edi, dword [edi]
mov edx, dword [ebp - 0x10]
call edi
test al, al
je 0x46736e
mov eax, dword [0x47f3f4]
cmp byte [eax + esi*4 + 0x18], 0
jne 0x467378
mov eax, dword [0x47f3f4]
cmp dword [eax + esi*4 + 8], 0
je 0x4672b2
push ebp
mov eax, dword [0x47f3f4]
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 [0x47f3f4]
mov eax, dword [eax + esi*4]
call fcn.00466360
pop ecx
jmp 0x467378
mov eax, dword [0x47f3f4]
cmp dword [eax + esi*4 + 0xc], 0
je 0x4672e9
push ebp
mov eax, dword [0x47f3f4]
mov ebx, dword [eax + esi*4 + 0xc]
lea eax, [ebp - 0x580]
call ebx
mov edx, dword [ebp - 0x580]
mov eax, dword [0x47f3f4]
mov eax, dword [eax + esi*4]
call fcn.00466360
pop ecx
jmp 0x467378
mov eax, dword [0x47f3f4]
cmp dword [eax + esi*4 + 0x10], 0
je 0x46733a
push ebp
mov eax, dword [0x47f3f4]
mov ebx, dword [eax + esi*4 + 0x10]
lea edx, [ebp - 0x588]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x467311
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 [0x47f3f4]
mov eax, dword [eax + esi*4]
call fcn.00466360
pop ecx
jmp 0x467378
push ebp
mov eax, dword [0x47f3f4]
mov ebx, dword [eax + esi*4 + 0x14]
lea edx, [ebp - 0x58c]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x467356
sub eax, 0xfffffbc0
call ebx
mov edx, dword [ebp - 0x58c]
mov eax, dword [0x47f3f4]
mov eax, dword [eax + esi*4]
call fcn.00466360
pop ecx
jmp 0x467378
inc dword [ebp - 0x28]
dec ebx
jne 0x467230
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46738c
inc dword [ebp - 0x24]
dec dword [ebp - 0x2c]
jne 0x4671f0
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0x28], eax
xor eax, eax
push ebp
push 0x4673c8
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov edx, 0x467de8
mov eax, 0x467e24
call fcn.00466360
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4673d2
xor eax, eax
push ebp
push 0x46742a
push dword fs:[eax]
mov dword fs:[eax], esp
add dword [0x47af68], 1
adc dword [0x47af6c], 0
push ebp
push dword [0x47af6c]
push dword [0x47af68]
lea ecx, [ebp - 0x590]
mov dx, 0x30
mov eax, 1
call fcn.00408098
mov edx, dword [ebp - 0x590]
mov eax, 0x467e4c
call fcn.00466360
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467434
xor eax, eax
push ebp
push 0x467527
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x4f], 1
je 0x4674fd
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
call fcn.00465fa0
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
call fcn.00465f00
push ebp
mov edx, dword [ebp - 0x14]
mov eax, 0x467e7c
call fcn.00466360
pop ecx
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call sub.rtl250.bpl__System__UStrEqual_qqrv
je 0x46751d
lea edx, [ebp - 0x594]
mov eax, dword [ebp - 0x10]
call fcn.004354bc
mov edx, dword [ebp - 0x594]
lea eax, [ebp - 0x10]
call sub.rtl250.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
push 0
mov ebx, dword [0x47b0dc]
mov ebx, dword [ebx]
lea eax, [ebp - 0x10]
mov ecx, 0x467af8
mov edx, 0x467ea8
call ebx
push 0
mov ebx, dword [0x47b0dc]
mov ebx, dword [ebx]
lea eax, [ebp - 0x10]
mov ecx, 0x467af8
mov edx, 0x467eb8
call ebx
push 1
mov ebx, dword [0x47b0dc]
mov ebx, dword [ebx]
lea eax, [ebp - 0x10]
mov ecx, 0x467af8
mov edx, 0x467ec8
call ebx
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x467edc
call fcn.00466360
pop ecx
jmp 0x46751d
push ebp
lea edx, [ebp - 0x598]
mov eax, dword [ebp - 0x1c]
call fcn.00444a44
mov edx, dword [ebp - 0x598]
mov eax, 0x467edc
call fcn.00466360
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467531
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0xc]
xor eax, eax
push ebp
push 0x4675ae
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
dec eax
test eax, eax
jl 0x46757d
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 0x46755a
lea eax, [ebp - 0x59c]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x3a0]
mov ecx, 0x467704
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 0x4675b8
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 0x4676fa
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 [0x466194]
call sub.rtl250.bpl__System__DynArrayClear_qqrrpvpv
ret