Function at 0x46799c
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 0x4679a4
push ecx
push ebx
push esi
push edi
mov esi, edx
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x468c88
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x3a0], 0
jne 0x4679f8
mov dl, 1
mov eax, dword [0x43f760]
call fcn.00449870
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 0x4679f3
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 0x468b58
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3a0]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x468b58
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, 0x468c9c
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 0x467bc8
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 0x468cb8
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 0x468cb8
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 0x468cc8
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 0x468cdc
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 0x468cdc
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 0x468cc8
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 0x468cec
lea eax, [ebp - 0x4a0]
mov edx, 0xe
call sub.rtl250.bpl__System__UStrCatN_qqrv
mov edx, dword [ebp - 0x4a0]
mov eax, 0x468d00
call fcn.004678f8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467bd2
xor eax, eax
push ebp
push 0x467c07
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4c0]
call fcn.00433fec
mov edx, dword [ebp - 0x4c0]
mov eax, 0x468d20
call fcn.004678f8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467c11
xor eax, eax
push ebp
push 0x467c46
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4c4]
call fcn.004661e8
mov edx, dword [ebp - 0x4c4]
mov eax, 0x468d48
call fcn.004678f8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467c50
xor eax, eax
push ebp
push 0x467cef
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x20], 0x104
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
jne 0x467c96
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 0x467cc0
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.00466124
test al, al
je 0x467cd6
lea eax, [ebp - 0x10]
mov edx, 0x468d74
call sub.rtl250.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x468d94
call fcn.004678f8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467cf9
xor eax, eax
push ebp
push 0x467dde
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
jne 0x467d22
lea eax, [ebp - 0x10]
mov edx, 0x468db4
call sub.rtl250.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
jmp 0x467d2a
lea eax, [ebp - 0x10]
call sub.rtl250.bpl__System__UStrClr_qqrpv
lea eax, [ebp - 0x14]
push eax
push 0x468dc8
push dword [ebp - 0x10]
push 0x468e0c
lea eax, [ebp - 0x4cc]
mov edx, 3
call sub.rtl250.bpl__System__UStrCatN_qqrv
mov edx, dword [ebp - 0x4cc]
mov ecx, 0x468e38
mov eax, 0x80000002
call fcn.004340a0
lea eax, [ebp - 0x4d0]
push eax
push 0x468dc8
push dword [ebp - 0x10]
push 0x468e0c
lea eax, [ebp - 0x4d4]
mov edx, 3
call sub.rtl250.bpl__System__UStrCatN_qqrv
mov edx, dword [ebp - 0x4d4]
mov ecx, 0x468e74
mov eax, 0x80000002
call fcn.004340a0
mov edx, dword [ebp - 0x4d0]
lea eax, [ebp - 0x10]
call sub.rtl250.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
cmp dword [ebp - 0x14], 0
je 0x467dc5
push dword [ebp - 0x10]
push 0x468ea0
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, 0x468eb4
call fcn.004678f8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467de8
xor eax, eax
push ebp
push 0x467e1d
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4d8]
call fcn.0046659c
mov edx, dword [ebp - 0x4d8]
mov eax, 0x468ee4
call fcn.004678f8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467e27
xor eax, eax
push ebp
push 0x467e5c
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4dc]
call fcn.00466654
mov edx, dword [ebp - 0x4dc]
mov eax, 0x468f14
call fcn.004678f8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467e66
xor eax, eax
push ebp
push 0x467e9b
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4e0]
call fcn.00466724
mov edx, dword [ebp - 0x4e0]
mov eax, 0x468f40
call fcn.004678f8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467ea5
xor eax, eax
push ebp
push 0x467eda
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4e4]
call fcn.0046677c
mov edx, dword [ebp - 0x4e4]
mov eax, 0x468f6c
call fcn.004678f8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467ee4
xor eax, eax
push ebp
push 0x467f71
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
call fcn.00466890
cmp dword [ebp - 0x10], 0
je 0x467f67
call fcn.00466994
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 1
jne 0x467f1f
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x468f98
call fcn.004678f8
pop ecx
jmp 0x467f67
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 0x468fb8
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, 0x468fcc
call fcn.004678f8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467f7b
xor eax, eax
push ebp
push 0x467fb0
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4f0]
call fcn.00466ac8
mov edx, dword [ebp - 0x4f0]
mov eax, 0x468ff0
call fcn.004678f8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467fba
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
je 0x468005
xor eax, eax
push ebp
push 0x467ffb
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4f4]
call fcn.00466c5c
mov edx, dword [ebp - 0x4f4]
mov eax, 0x46901c
call fcn.004678f8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468005
xor eax, eax
push ebp
push 0x468145
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x469040
push 0x469068
call sub.kernel32.dll_GetModuleHandleW
push eax
call fcn.00403590
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.00433804
mov ebx, dword [0x4dbd88]
mov ebx, dword [ebx]
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax]
call ebx
mov ebx, eax
mov esi, dword [0x4dbd88]
mov esi, dword [esi]
lea eax, [ebp - 0x236]
movzx eax, byte [eax]
call esi
cmp bl, al
je 0x4680fd
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.00467764
pop ecx
push dword [ebp - 0x4fc]
push 0x469090
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.00467764
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, 0x4690a0
call fcn.004678f8
pop ecx
jmp 0x46813b
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.00467764
pop ecx
mov edx, dword [ebp - 0x50c]
mov eax, 0x4690a0
call fcn.004678f8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46814f
xor eax, eax
push ebp
push 0x468184
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x514]
call fcn.00466d28
mov edx, dword [ebp - 0x514]
mov eax, 0x4690cc
call fcn.004678f8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46818e
xor eax, eax
push ebp
push 0x4681d2
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, 0x4690f4
call fcn.004678f8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4681dc
xor eax, eax
push ebp
push 0x468211
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x51c]
call fcn.00466f10
mov edx, dword [ebp - 0x51c]
mov eax, 0x469118
call fcn.004678f8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46821b
xor eax, eax
push ebp
push 0x468250
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x520]
call fcn.00466f34
mov edx, dword [ebp - 0x520]
mov eax, 0x469148
call fcn.004678f8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46825a
xor eax, eax
push ebp
push 0x4682f0
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x4da514], 0
je 0x4682e6
call sub.rtl250.bpl__System_ParamCount_qqrv
test eax, eax
jle 0x4682e6
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
jne 0x4682ac
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, 0x46917c
call fcn.004678f8
pop ecx
jmp 0x4682e6
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, 0x46917c
call fcn.004678f8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4682fa
xor eax, eax
push ebp
push 0x468342
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea edx, [ebp - 0x534]
xor eax, eax
call fcn.00433804
mov eax, dword [ebp - 0x534]
lea edx, [ebp - 0x530]
call fcn.00409f80
mov edx, dword [ebp - 0x530]
mov eax, 0x4691a4
call fcn.004678f8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46834c
xor eax, eax
push ebp
push 0x4683a6
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
call sub.kernel32.dll_GetModuleHandleW
cmp eax, dword [0x4da60c]
je 0x46839c
push ebp
lea edx, [ebp - 0x53c]
mov eax, dword [0x4da60c]
call fcn.00433804
mov eax, dword [ebp - 0x53c]
lea edx, [ebp - 0x538]
call fcn.00409f80
mov edx, dword [ebp - 0x538]
mov eax, 0x4691c8
call fcn.004678f8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4683b0
xor edx, edx
push ebp
push 0x468624
push dword fs:[edx]
mov dword fs:[edx], esp
cmp byte [0x4da618], 0
je 0x4683d3
lea edx, [ebp - 0x10]
xor eax, eax
call fcn.00433804
jmp 0x4683e0
lea edx, [ebp - 0x10]
mov eax, dword [0x4da60c]
call fcn.00433804
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
jne 0x468403
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 0x46842e
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 0x46861a
push eax
call sub.kernel32.dll_FindClose
xor eax, eax
push ebp
push 0x4685a6
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x474]
lea eax, [ebp - 0x474]
call fcn.00403400
lea edx, [ebp - 0x498]
lea eax, [ebp - 0x474]
call fcn.00403410
cmp byte [0x4da618], 0
jne 0x468485
push 0
call sub.kernel32.dll_GetModuleHandleW
cmp eax, dword [0x4da60c]
jne 0x468494
lea eax, [ebp - 0x14]
mov edx, 0x4691f4
call sub.rtl250.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
jmp 0x4684a1
lea eax, [ebp - 0x14]
mov edx, 0x46920c
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 0x468cb8
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 0x468cb8
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 0x469090
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 0x468cdc
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 0x469228
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, 0x46923c
mov edx, dword [ebp - 0x14]
call sub.rtl250.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x55c]
pop edx
call fcn.004678f8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4685b0
lea edx, [ebp - 0x560]
mov eax, dword [ebp - 0x1c]
call fcn.00445ea8
cmp dword [ebp - 0x560], 0
jne 0x4685fa
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 0x46861a
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x469260
call fcn.004678f8
pop ecx
jmp 0x46861a
push ebp
lea edx, [ebp - 0x568]
mov eax, dword [ebp - 0x1c]
call fcn.00445ea8
mov edx, dword [ebp - 0x568]
mov eax, 0x469260
call fcn.004678f8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46862e
xor eax, eax
push ebp
push 0x46868b
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x469270
call sub.kernel32.dll_GetModuleHandleW
mov ebx, eax
test ebx, ebx
je 0x468681
lea edx, [ebp - 0x56c]
mov eax, ebx
call fcn.00433804
mov eax, dword [ebp - 0x56c]
mov ebx, dword [0x4dbc68]
mov ebx, dword [ebx]
lea edx, [ebp - 0x10]
call ebx
cmp dword [ebp - 0x10], 0
je 0x468681
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x469294
call fcn.004678f8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468695
xor eax, eax
push ebp
push 0x46874d
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x4686ef
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4da60c]
call fcn.0040e3cc
cmp byte [eax + 0x1a], 2
je 0x4686d4
push ebp
mov edx, 0x4692b8
mov eax, 0x4692e4
call fcn.004678f8
pop ecx
jmp 0x4686e5
push ebp
mov edx, 0x46930c
mov eax, 0x4692e4
call fcn.004678f8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46870a
push ebp
lea eax, [ebp - 0x574]
mov edx, dword [0x4da504]
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, 0x46933c
call fcn.004678f8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468757
lea ecx, [ebp - 0x14]
mov edx, 0x46936c
mov eax, dword [ebp - 0x1c]
call fcn.00448274
mov ebx, dword [0x4dbd58]
mov ebx, dword [ebx]
mov dl, 0x7c
mov eax, dword [ebp - 0x14]
call ebx
test eax, eax
jle 0x468930
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], 1
xor eax, eax
push ebp
push 0x46891a
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
push eax
mov ebx, dword [0x4dbd98]
mov ebx, dword [ebx]
mov cl, 0x7c
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
call ebx
mov eax, dword [0x4df450]
call sub.rtl250.bpl__System__DynArrayHigh_qqrpxv
mov ebx, eax
test ebx, ebx
jl 0x468910
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 [0x4df450]
mov eax, dword [eax + esi*4]
mov edi, dword [0x4dbbf0]
mov edi, dword [edi]
mov edx, dword [ebp - 0x10]
call edi
test al, al
je 0x468906
mov eax, dword [0x4df450]
cmp byte [eax + esi*4 + 0x18], 0
jne 0x468910
mov eax, dword [0x4df450]
cmp dword [eax + esi*4 + 8], 0
je 0x46884a
push ebp
mov eax, dword [0x4df450]
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 [0x4df450]
mov eax, dword [eax + esi*4]
call fcn.004678f8
pop ecx
jmp 0x468910
mov eax, dword [0x4df450]
cmp dword [eax + esi*4 + 0xc], 0
je 0x468881
push ebp
mov eax, dword [0x4df450]
mov ebx, dword [eax + esi*4 + 0xc]
lea eax, [ebp - 0x580]
call ebx
mov edx, dword [ebp - 0x580]
mov eax, dword [0x4df450]
mov eax, dword [eax + esi*4]
call fcn.004678f8
pop ecx
jmp 0x468910
mov eax, dword [0x4df450]
cmp dword [eax + esi*4 + 0x10], 0
je 0x4688d2
push ebp
mov eax, dword [0x4df450]
mov ebx, dword [eax + esi*4 + 0x10]
lea edx, [ebp - 0x588]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4688a9
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 [0x4df450]
mov eax, dword [eax + esi*4]
call fcn.004678f8
pop ecx
jmp 0x468910
push ebp
mov eax, dword [0x4df450]
mov ebx, dword [eax + esi*4 + 0x14]
lea edx, [ebp - 0x58c]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4688ee
sub eax, 0xfffffbc0
call ebx
mov edx, dword [ebp - 0x58c]
mov eax, dword [0x4df450]
mov eax, dword [eax + esi*4]
call fcn.004678f8
pop ecx
jmp 0x468910
inc dword [ebp - 0x28]
dec ebx
jne 0x4687c8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468924
inc dword [ebp - 0x24]
dec dword [ebp - 0x2c]
jne 0x468788
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0x28], eax
xor eax, eax
push ebp
push 0x468960
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov edx, 0x469380
mov eax, 0x4693bc
call fcn.004678f8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46896a
xor eax, eax
push ebp
push 0x4689c2
push dword fs:[eax]
mov dword fs:[eax], esp
add dword [0x4daf78], 1
adc dword [0x4daf7c], 0
push ebp
push dword [0x4daf7c]
push dword [0x4daf78]
lea ecx, [ebp - 0x590]
mov dx, 0x30
mov eax, 1
call fcn.00408b10
mov edx, dword [ebp - 0x590]
mov eax, 0x4693e4
call fcn.004678f8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4689cc
xor eax, eax
push ebp
push 0x468abf
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x4f], 1
je 0x468a95
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
call fcn.00467538
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
call fcn.00467498
push ebp
mov edx, dword [ebp - 0x14]
mov eax, 0x469414
call fcn.004678f8
pop ecx
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call sub.rtl250.bpl__System__UStrEqual_qqrv
je 0x468ab5
lea edx, [ebp - 0x594]
mov eax, dword [ebp - 0x10]
call fcn.00436994
mov edx, dword [ebp - 0x594]
lea eax, [ebp - 0x10]
call sub.rtl250.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
push 0
mov ebx, dword [0x4dbcb0]
mov ebx, dword [ebx]
lea eax, [ebp - 0x10]
mov ecx, 0x469090
mov edx, 0x469440
call ebx
push 0
mov ebx, dword [0x4dbcb0]
mov ebx, dword [ebx]
lea eax, [ebp - 0x10]
mov ecx, 0x469090
mov edx, 0x469450
call ebx
push 1
mov ebx, dword [0x4dbcb0]
mov ebx, dword [ebx]
lea eax, [ebp - 0x10]
mov ecx, 0x469090
mov edx, 0x469460
call ebx
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x469474
call fcn.004678f8
pop ecx
jmp 0x468ab5
push ebp
lea edx, [ebp - 0x598]
mov eax, dword [ebp - 0x1c]
call fcn.00445f1c
mov edx, dword [ebp - 0x598]
mov eax, 0x469474
call fcn.004678f8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x468ac9
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0xc]
xor eax, eax
push ebp
push 0x468b46
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
dec eax
test eax, eax
jl 0x468b15
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 0x468af2
lea eax, [ebp - 0x59c]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x3a0]
mov ecx, 0x468c9c
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 0x468b50
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 0x468c92
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 [0x46772c]
call sub.rtl250.bpl__System__DynArrayClear_qqrrpvpv
ret