Function at 0x46797c
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 0x467984
push ecx
push ebx
push esi
push edi
mov esi, edx
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x468c68
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x3a0], 0
jne 0x4679d8
mov dl, 1
mov eax, dword [0x43f740]
call fcn.00449850
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 0x4679d3
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 0x468b38
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3a0]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x468b38
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, 0x468c7c
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 0x467ba8
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.00408ac4
push dword [ebp - 0x4a4]
push 0x468c98
lea eax, [ebp - 0x4a8]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x426]
mov cx, 0x30
mov edx, 2
call fcn.00408ac4
push dword [ebp - 0x4a8]
push 0x468c98
lea eax, [ebp - 0x4ac]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x42a]
mov cx, 0x30
mov edx, 2
call fcn.00408ac4
push dword [ebp - 0x4ac]
push 0x468ca8
lea eax, [ebp - 0x4b0]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x42c]
mov cx, 0x30
mov edx, 2
call fcn.00408ac4
push dword [ebp - 0x4b0]
push 0x468cbc
lea eax, [ebp - 0x4b4]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x42e]
mov cx, 0x30
mov edx, 2
call fcn.00408ac4
push dword [ebp - 0x4b4]
push 0x468cbc
lea eax, [ebp - 0x4b8]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x430]
mov cx, 0x30
mov edx, 2
call fcn.00408ac4
push dword [ebp - 0x4b8]
push 0x468ca8
lea eax, [ebp - 0x4bc]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x432]
mov cx, 0x30
mov edx, 1
call fcn.00408ac4
push dword [ebp - 0x4bc]
push 0x468ccc
lea eax, [ebp - 0x4a0]
mov edx, 0xe
call sub.rtl250.bpl__System__UStrCatN_qqrv
mov edx, dword [ebp - 0x4a0]
mov eax, 0x468ce0
call fcn.004678d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467bb2
xor eax, eax
push ebp
push 0x467be7
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4c0]
call fcn.00433fcc
mov edx, dword [ebp - 0x4c0]
mov eax, 0x468d00
call fcn.004678d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467bf1
xor eax, eax
push ebp
push 0x467c26
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4c4]
call fcn.004661c8
mov edx, dword [ebp - 0x4c4]
mov eax, 0x468d28
call fcn.004678d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467c30
xor eax, eax
push ebp
push 0x467ccf
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x20], 0x104
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
jne 0x467c76
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 0x467ca0
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.00466104
test al, al
je 0x467cb6
lea eax, [ebp - 0x10]
mov edx, 0x468d54
call sub.rtl250.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x468d74
call fcn.004678d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467cd9
xor eax, eax
push ebp
push 0x467dbe
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
jne 0x467d02
lea eax, [ebp - 0x10]
mov edx, 0x468d94
call sub.rtl250.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
jmp 0x467d0a
lea eax, [ebp - 0x10]
call sub.rtl250.bpl__System__UStrClr_qqrpv
lea eax, [ebp - 0x14]
push eax
push 0x468da8
push dword [ebp - 0x10]
push 0x468dec
lea eax, [ebp - 0x4cc]
mov edx, 3
call sub.rtl250.bpl__System__UStrCatN_qqrv
mov edx, dword [ebp - 0x4cc]
mov ecx, 0x468e18
mov eax, 0x80000002
call fcn.00434080
lea eax, [ebp - 0x4d0]
push eax
push 0x468da8
push dword [ebp - 0x10]
push 0x468dec
lea eax, [ebp - 0x4d4]
mov edx, 3
call sub.rtl250.bpl__System__UStrCatN_qqrv
mov edx, dword [ebp - 0x4d4]
mov ecx, 0x468e54
mov eax, 0x80000002
call fcn.00434080
mov edx, dword [ebp - 0x4d0]
lea eax, [ebp - 0x10]
call sub.rtl250.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
cmp dword [ebp - 0x14], 0
je 0x467da5
push dword [ebp - 0x10]
push 0x468e80
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, 0x468e94
call fcn.004678d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467dc8
xor eax, eax
push ebp
push 0x467dfd
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4d8]
call fcn.0046657c
mov edx, dword [ebp - 0x4d8]
mov eax, 0x468ec4
call fcn.004678d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467e07
xor eax, eax
push ebp
push 0x467e3c
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4dc]
call fcn.00466634
mov edx, dword [ebp - 0x4dc]
mov eax, 0x468ef4
call fcn.004678d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467e46
xor eax, eax
push ebp
push 0x467e7b
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4e0]
call fcn.00466704
mov edx, dword [ebp - 0x4e0]
mov eax, 0x468f20
call fcn.004678d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467e85
xor eax, eax
push ebp
push 0x467eba
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4e4]
call fcn.0046675c
mov edx, dword [ebp - 0x4e4]
mov eax, 0x468f4c
call fcn.004678d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467ec4
xor eax, eax
push ebp
push 0x467f51
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
call fcn.00466870
cmp dword [ebp - 0x10], 0
je 0x467f47
call fcn.00466974
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 1
jne 0x467eff
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x468f78
call fcn.004678d8
pop ecx
jmp 0x467f47
push ebp
lea eax, [ebp - 0x4ec]
push eax
mov cx, 0x30
mov edx, 1
mov eax, dword [ebp - 0x24]
call fcn.004089c8
push dword [ebp - 0x4ec]
push 0x468f98
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, 0x468fac
call fcn.004678d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467f5b
xor eax, eax
push ebp
push 0x467f90
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4f0]
call fcn.00466aa8
mov edx, dword [ebp - 0x4f0]
mov eax, 0x468fd0
call fcn.004678d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467f9a
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
je 0x467fe5
xor eax, eax
push ebp
push 0x467fdb
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4f4]
call fcn.00466c3c
mov edx, dword [ebp - 0x4f4]
mov eax, 0x468ffc
call fcn.004678d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467fe5
xor eax, eax
push ebp
push 0x468125
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x469020
push 0x469048
call sub.kernel32.dll_GetModuleHandleW
push eax
call fcn.00403598
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.004337e4
mov ebx, dword [0x4e4d14]
mov ebx, dword [ebx]
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax]
call ebx
mov ebx, eax
mov esi, dword [0x4e4d14]
mov esi, dword [esi]
lea eax, [ebp - 0x236]
movzx eax, byte [eax]
call esi
cmp bl, al
je 0x4680dd
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.00467744
pop ecx
push dword [ebp - 0x4fc]
push 0x469070
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.00467744
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, 0x469080
call fcn.004678d8
pop ecx
jmp 0x46811b
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.00467744
pop ecx
mov edx, dword [ebp - 0x50c]
mov eax, 0x469080
call fcn.004678d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46812f
xor eax, eax
push ebp
push 0x468164
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x514]
call fcn.00466d08
mov edx, dword [ebp - 0x514]
mov eax, 0x4690ac
call fcn.004678d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46816e
xor eax, eax
push ebp
push 0x4681b2
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.00408b54
mov edx, dword [ebp - 0x518]
mov eax, 0x4690d4
call fcn.004678d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4681bc
xor eax, eax
push ebp
push 0x4681f1
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x51c]
call fcn.00466ef0
mov edx, dword [ebp - 0x51c]
mov eax, 0x4690f8
call fcn.004678d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4681fb
xor eax, eax
push ebp
push 0x468230
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x520]
call fcn.00466f14
mov edx, dword [ebp - 0x520]
mov eax, 0x469128
call fcn.004678d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46823a
xor eax, eax
push ebp
push 0x4682d0
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x4e3514], 0
je 0x4682c6
call sub.rtl250.bpl__System_ParamCount_qqrv
test eax, eax
jle 0x4682c6
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
jne 0x46828c
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, 0x46915c
call fcn.004678d8
pop ecx
jmp 0x4682c6
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, 0x46915c
call fcn.004678d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4682da
xor eax, eax
push ebp
push 0x468322
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea edx, [ebp - 0x534]
xor eax, eax
call fcn.004337e4
mov eax, dword [ebp - 0x534]
lea edx, [ebp - 0x530]
call fcn.00409f80
mov edx, dword [ebp - 0x530]
mov eax, 0x469184
call fcn.004678d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46832c
xor eax, eax
push ebp
push 0x468386
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
call sub.kernel32.dll_GetModuleHandleW
cmp eax, dword [0x4e360c]
je 0x46837c
push ebp
lea edx, [ebp - 0x53c]
mov eax, dword [0x4e360c]
call fcn.004337e4
mov eax, dword [ebp - 0x53c]
lea edx, [ebp - 0x538]
call fcn.00409f80
mov edx, dword [ebp - 0x538]
mov eax, 0x4691a8
call fcn.004678d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468390
xor edx, edx
push ebp
push 0x468604
push dword fs:[edx]
mov dword fs:[edx], esp
cmp byte [0x4e3618], 0
je 0x4683b3
lea edx, [ebp - 0x10]
xor eax, eax
call fcn.004337e4
jmp 0x4683c0
lea edx, [ebp - 0x10]
mov eax, dword [0x4e360c]
call fcn.004337e4
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
jne 0x4683e3
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 0x46840e
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 0x4685fa
push eax
call sub.kernel32.dll_FindClose
xor eax, eax
push ebp
push 0x468586
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x474]
lea eax, [ebp - 0x474]
call fcn.00403410
lea edx, [ebp - 0x498]
lea eax, [ebp - 0x474]
call fcn.00403420
cmp byte [0x4e3618], 0
jne 0x468465
push 0
call sub.kernel32.dll_GetModuleHandleW
cmp eax, dword [0x4e360c]
jne 0x468474
lea eax, [ebp - 0x14]
mov edx, 0x4691d4
call sub.rtl250.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
jmp 0x468481
lea eax, [ebp - 0x14]
mov edx, 0x4691ec
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.00408ac4
push dword [ebp - 0x548]
push 0x468c98
lea eax, [ebp - 0x54c]
push eax
movzx eax, word [ebp - 0x496]
mov cx, 0x30
mov edx, 2
call fcn.00408ac4
push dword [ebp - 0x54c]
push 0x468c98
lea eax, [ebp - 0x550]
push eax
movzx eax, word [ebp - 0x492]
mov cx, 0x30
mov edx, 2
call fcn.00408ac4
push dword [ebp - 0x550]
push 0x469070
lea eax, [ebp - 0x554]
push eax
movzx eax, word [ebp - 0x490]
mov cx, 0x30
mov edx, 2
call fcn.00408ac4
push dword [ebp - 0x554]
push 0x468cbc
lea eax, [ebp - 0x558]
push eax
movzx eax, word [ebp - 0x48e]
mov cx, 0x30
mov edx, 2
call fcn.00408ac4
push dword [ebp - 0x558]
push 0x469208
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, 0x46921c
mov edx, dword [ebp - 0x14]
call sub.rtl250.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x55c]
pop edx
call fcn.004678d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468590
lea edx, [ebp - 0x560]
mov eax, dword [ebp - 0x1c]
call fcn.00445e88
cmp dword [ebp - 0x560], 0
jne 0x4685da
lea edx, [ebp - 0x564]
mov eax, dword [ebp - 0x10]
call fcn.0040d588
mov edx, dword [ebp - 0x564]
lea eax, [ebp - 0x10]
call sub.rtl250.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
cmp dword [ebp - 0x10], 0
je 0x4685fa
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x469240
call fcn.004678d8
pop ecx
jmp 0x4685fa
push ebp
lea edx, [ebp - 0x568]
mov eax, dword [ebp - 0x1c]
call fcn.00445e88
mov edx, dword [ebp - 0x568]
mov eax, 0x469240
call fcn.004678d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46860e
xor eax, eax
push ebp
push 0x46866b
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x469250
call sub.kernel32.dll_GetModuleHandleW
mov ebx, eax
test ebx, ebx
je 0x468661
lea edx, [ebp - 0x56c]
mov eax, ebx
call fcn.004337e4
mov eax, dword [ebp - 0x56c]
mov ebx, dword [0x4e4b70]
mov ebx, dword [ebx]
lea edx, [ebp - 0x10]
call ebx
cmp dword [ebp - 0x10], 0
je 0x468661
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x469274
call fcn.004678d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468675
xor eax, eax
push ebp
push 0x46872d
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x4686cf
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4e360c]
call fcn.0040e3cc
cmp byte [eax + 0x1a], 2
je 0x4686b4
push ebp
mov edx, 0x469298
mov eax, 0x4692c4
call fcn.004678d8
pop ecx
jmp 0x4686c5
push ebp
mov edx, 0x4692ec
mov eax, 0x4692c4
call fcn.004678d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4686ea
push ebp
lea eax, [ebp - 0x574]
mov edx, dword [0x4e3504]
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, 0x46931c
call fcn.004678d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468737
lea ecx, [ebp - 0x14]
mov edx, 0x46934c
mov eax, dword [ebp - 0x1c]
call fcn.00448254
mov ebx, dword [0x4e4cd0]
mov ebx, dword [ebx]
mov dl, 0x7c
mov eax, dword [ebp - 0x14]
call ebx
test eax, eax
jle 0x468910
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], 1
xor eax, eax
push ebp
push 0x4688fa
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
push eax
mov ebx, dword [0x4e4d34]
mov ebx, dword [ebx]
mov cl, 0x7c
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
call ebx
mov eax, dword [0x4e8450]
call sub.rtl250.bpl__System__DynArrayHigh_qqrpxv
mov ebx, eax
test ebx, ebx
jl 0x4688f0
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 [0x4e8450]
mov eax, dword [eax + esi*4]
mov edi, dword [0x4e4a94]
mov edi, dword [edi]
mov edx, dword [ebp - 0x10]
call edi
test al, al
je 0x4688e6
mov eax, dword [0x4e8450]
cmp byte [eax + esi*4 + 0x18], 0
jne 0x4688f0
mov eax, dword [0x4e8450]
cmp dword [eax + esi*4 + 8], 0
je 0x46882a
push ebp
mov eax, dword [0x4e8450]
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 [0x4e8450]
mov eax, dword [eax + esi*4]
call fcn.004678d8
pop ecx
jmp 0x4688f0
mov eax, dword [0x4e8450]
cmp dword [eax + esi*4 + 0xc], 0
je 0x468861
push ebp
mov eax, dword [0x4e8450]
mov ebx, dword [eax + esi*4 + 0xc]
lea eax, [ebp - 0x580]
call ebx
mov edx, dword [ebp - 0x580]
mov eax, dword [0x4e8450]
mov eax, dword [eax + esi*4]
call fcn.004678d8
pop ecx
jmp 0x4688f0
mov eax, dword [0x4e8450]
cmp dword [eax + esi*4 + 0x10], 0
je 0x4688b2
push ebp
mov eax, dword [0x4e8450]
mov ebx, dword [eax + esi*4 + 0x10]
lea edx, [ebp - 0x588]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x468889
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 [0x4e8450]
mov eax, dword [eax + esi*4]
call fcn.004678d8
pop ecx
jmp 0x4688f0
push ebp
mov eax, dword [0x4e8450]
mov ebx, dword [eax + esi*4 + 0x14]
lea edx, [ebp - 0x58c]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4688ce
sub eax, 0xfffffbc0
call ebx
mov edx, dword [ebp - 0x58c]
mov eax, dword [0x4e8450]
mov eax, dword [eax + esi*4]
call fcn.004678d8
pop ecx
jmp 0x4688f0
inc dword [ebp - 0x28]
dec ebx
jne 0x4687a8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468904
inc dword [ebp - 0x24]
dec dword [ebp - 0x2c]
jne 0x468768
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0x28], eax
xor eax, eax
push ebp
push 0x468940
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov edx, 0x469360
mov eax, 0x46939c
call fcn.004678d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46894a
xor eax, eax
push ebp
push 0x4689a2
push dword fs:[eax]
mov dword fs:[eax], esp
add dword [0x4e3f78], 1
adc dword [0x4e3f7c], 0
push ebp
push dword [0x4e3f7c]
push dword [0x4e3f78]
lea ecx, [ebp - 0x590]
mov dx, 0x30
mov eax, 1
call fcn.00408b10
mov edx, dword [ebp - 0x590]
mov eax, 0x4693c4
call fcn.004678d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4689ac
xor eax, eax
push ebp
push 0x468a9f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x4f], 1
je 0x468a75
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
call fcn.00467518
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
call fcn.00467478
push ebp
mov edx, dword [ebp - 0x14]
mov eax, 0x4693f4
call fcn.004678d8
pop ecx
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call sub.rtl250.bpl__System__UStrEqual_qqrv
je 0x468a95
lea edx, [ebp - 0x594]
mov eax, dword [ebp - 0x10]
call fcn.00436974
mov edx, dword [ebp - 0x594]
lea eax, [ebp - 0x10]
call sub.rtl250.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
push 0
mov ebx, dword [0x4e4bdc]
mov ebx, dword [ebx]
lea eax, [ebp - 0x10]
mov ecx, 0x469070
mov edx, 0x469420
call ebx
push 0
mov ebx, dword [0x4e4bdc]
mov ebx, dword [ebx]
lea eax, [ebp - 0x10]
mov ecx, 0x469070
mov edx, 0x469430
call ebx
push 1
mov ebx, dword [0x4e4bdc]
mov ebx, dword [ebx]
lea eax, [ebp - 0x10]
mov ecx, 0x469070
mov edx, 0x469440
call ebx
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x469454
call fcn.004678d8
pop ecx
jmp 0x468a95
push ebp
lea edx, [ebp - 0x598]
mov eax, dword [ebp - 0x1c]
call fcn.00445efc
mov edx, dword [ebp - 0x598]
mov eax, 0x469454
call fcn.004678d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468aa9
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0xc]
xor eax, eax
push ebp
push 0x468b26
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
dec eax
test eax, eax
jl 0x468af5
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 0x468ad2
lea eax, [ebp - 0x59c]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x3a0]
mov ecx, 0x468c7c
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 0x468b30
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 0x468c72
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 [0x46770c]
call sub.rtl250.bpl__System__DynArrayClear_qqrrpvpv
ret