Function at 0x460c44
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff00
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 4], eax
mov dword [ebp - 8], eax
lea eax, [ebp - 0x48]
mov edx, dword [0x414128]
call sub.rtl120.bpl__System__InitializeRecord_qqrpvt1
xor eax, eax
push ebp
push 0x461e84
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
mov edx, dword [0x402cd0]
call sub.rtl120.bpl__System__DynArrayClear_qqrrpvpv
lea eax, [ebp - 0x60]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
je 0x460cd9
lea eax, [ebp - 0x68]
push eax
call sub.kernel32.dll_QueryPerformanceFrequency
test eax, eax
je 0x460cd9
push 0
push 0x3e8
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
call sub.rtl120.bpl__System___lldiv_qqrv
push edx
push eax
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
call sub.rtl120.bpl__System___lldiv_qqrv
mov dword [0x597e9c], eax
mov dword [0x597ea0], edx
push 0x461e94
mov eax, dword [0x597e98]
push eax
call fcn.00401c60
test eax, eax
setne byte [0x597ea4]
cmp byte [0x597ea4], 0
je 0x460d00
call fcn.00460a04
call sub.kernel32.dll_GetVersion
cmp al, 6
jb 0x460d23
push 0x461ed4
push 0x461eec
call sub.kernel32.dll_LoadLibraryA
push eax
call fcn.00401c60
mov dword [0x597eb4], eax
mov eax, dword [0x5a70bc]
mov dword [eax], fcn.004600d4
mov eax, dword [0x5a7314]
mov dword [eax], 0x4361dc
mov eax, dword [0x5a7b5c]
mov dword [eax], 0x4367f4
mov eax, 0x460240
mov edx, dword [0x5a76f8]
mov dword [edx], eax
push 0x461efc
push 0x461f14
call sub.kernel32.dll_GetModuleHandleW_1
push eax
call fcn.00401c60
mov dword [0x597ec0], eax
push 0x461f30
push 0x461f4c
call sub.kernel32.dll_GetModuleHandleW_1
push eax
call fcn.00401c60
mov dword [0x597ec4], eax
lea edx, [ebp - 0xd4]
mov eax, dword [0x597e98]
call fcn.0043ae78
mov edx, dword [ebp - 0xd4]
mov eax, 0x5986dc
call sub.rtl120.bpl__System__IntfCopy_qqrr45System__DelphiInterface_t17System_IInterface_x45System__DelphiInterface_t17System_IInte
mov eax, dword [0x5986dc]
mov edx, dword [eax]
call dword [edx + 0x368]
test al, al
je 0x460e03
mov eax, dword [0x5986dc]
mov edx, dword [eax]
call dword [edx + 0x36c]
test al, al
je 0x460e03
mov eax, dword [0x5986dc]
mov edx, dword [eax]
call dword [edx + 0x378]
test al, al
je 0x460e03
mov eax, dword [0x597e98]
call fcn.0046034c
mov eax, dword [0x5986dc]
mov edx, dword [eax]
call dword [edx + 0xc]
cmp eax, dword [0x597e98]
je 0x460e03
mov eax, dword [0x5986dc]
mov edx, dword [eax]
call dword [edx + 0xc]
call fcn.0046034c
call fcn.00460914
push 0x5a9244
call sub.kernel32.dll_InitializeCriticalSection
push 0x5a922c
call sub.kernel32.dll_InitializeCriticalSection
mov eax, dword [0x5986dc]
mov edx, dword [eax]
call dword [edx + 0x368]
test al, al
je 0x461e07
lea edx, [ebp - 0xd0]
lea eax, [ebp - 0xbc]
call fcn.0042d4e8
lea eax, [ebp - 0xdc]
push eax
call sub.kernel32.dll_GetCurrentProcessId
mov cl, 0x30
mov edx, 1
call fcn.0040585c
mov ecx, dword [ebp - 0xdc]
lea eax, [ebp - 0xd8]
mov edx, 0x461f6c
call sub.rtl120.bpl__System__LStrCat3_qqrv
mov eax, dword [ebp - 0xd8]
call sub.rtl120.bpl__System__LStrToPChar_qqrx27System__AnsiStringT_us_i0__
push eax
push 0x14
push 0
push 4
lea eax, [ebp - 0xbc]
push eax
push 0xffffffffffffffff
call sub.kernel32.dll_CreateFileMappingA
mov ebx, eax
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x460f39
push 0
push 0
push 0
push 0xf001f
push ebx
call sub.kernel32.dll_MapViewOfFile
mov dword [0x597ebc], eax
mov eax, dword [0x597ebc]
mov dword [eax + 0xc], 1
push 0
push 0
push 0
call fcn.004019f0
mov edx, dword [0x597ebc]
mov dword [edx], eax
push 0
push 0
push 0
call fcn.004019f0
mov edx, dword [0x597ebc]
mov dword [edx + 4], eax
mov eax, dword [0x597ebc]
xor edx, edx
mov dword [eax + 8], edx
mov eax, dword [0x597ebc]
mov dword [eax + 0x10], ebx
lea eax, [ebp - 4]
call fcn.0042c234
cmp dword [ebp - 4], 0
je 0x460f2b
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov dword [0x597d78], eax
push 0
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov ecx, 0x461f90
xor edx, edx
call fcn.0042deb8
jmp 0x460f83
mov eax, dword [sym.imp.rtl120.bpl__System_MainThreadID]
mov eax, dword [eax]
mov dword [0x597d78], eax
jmp 0x460f83
test ebx, ebx
je 0x460f69
push 0
push 0
push 0
push 0xf001f
push ebx
call sub.kernel32.dll_MapViewOfFile
mov dword [0x597ebc], eax
push ebx
call sub.kernel32.dll_CloseHandle
mov eax, dword [0x597ebc]
add eax, 0xc
push eax
call sub.kernel32.dll_InterlockedIncrement
jmp 0x460f83
push 0
push 0x461fa8
push 0x461fb4
push 0
call sub.user32.dll_MessageBoxA
push 0
call sub.kernel32.dll_ExitProcess
cmp dword [0x597ebc], 0
jne 0x460fa6
push 0
push 0x461fa8
push 0x461fdc
push 0
call sub.user32.dll_MessageBoxA
push 0
call sub.kernel32.dll_ExitProcess
cmp dword [0x597d78], 0
jne 0x461020
push 0xffffffffffffffff
mov eax, dword [0x597ebc]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_WaitForSingleObject
xor edx, edx
push ebp
push 0x461004
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x597ebc]
mov eax, dword [eax + 8]
test eax, eax
je 0x460fe8
mov edx, dword [eax]
mov dword [0x597d78], edx
mov eax, dword [eax + 8]
test eax, eax
jne 0x460fd9
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46100b
mov eax, dword [0x597ebc]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_ReleaseMutex
ret
push 0
call sub.kernel32.dll_GetModuleHandleW_1
cmp eax, dword [0x597e98]
je 0x46103c
cmp byte [0x597ea4], 0
jne 0x46103c
xor ebx, ebx
jmp 0x46103e
mov bl, 1
mov eax, dword [0x5986dc]
mov edx, dword [eax]
call dword [edx + 0x36c]
test al, al
je 0x461dfe
mov eax, 0x597e24
mov edx, dword [0x597e98]
call fcn.0046025c
mov eax, 0x597e28
mov edx, dword [0x597e98]
call fcn.0046025c
mov eax, 0x597e2c
mov edx, dword [0x597e98]
call fcn.0046025c
mov eax, 0x597e30
mov edx, dword [0x597e98]
call fcn.0046025c
mov eax, 0x597e34
mov edx, dword [0x597e98]
call fcn.0046025c
mov eax, 0x597e38
mov edx, dword [0x597e98]
call fcn.0046025c
mov eax, 0x597e3c
mov edx, dword [0x597e98]
call fcn.0046025c
mov eax, 0x597e40
mov edx, dword [0x597e98]
call fcn.0046025c
mov eax, 0x597e44
mov edx, dword [0x597e98]
call fcn.0046025c
mov eax, 0x597e48
mov edx, dword [0x597e98]
call fcn.0046025c
mov eax, 0x597e4c
mov edx, dword [0x597e98]
call fcn.0046025c
mov eax, 0x597e50
mov edx, dword [0x597e98]
call fcn.0046025c
mov eax, 0x597e5c
mov edx, dword [0x597e98]
call fcn.0046025c
mov eax, 0x597e60
mov edx, dword [0x597e98]
call fcn.0046025c
mov eax, 0x597e64
mov edx, dword [0x597e98]
call fcn.0046025c
mov eax, 0x597e68
mov edx, dword [0x597e98]
call fcn.0046025c
mov eax, 0x597e6c
mov edx, dword [0x597e98]
call fcn.0046025c
mov eax, 0x597e70
mov edx, dword [0x597e98]
call fcn.0046025c
mov eax, 0x597e74
mov edx, dword [0x597e98]
call fcn.0046025c
mov eax, 0x597e78
mov edx, dword [0x597e98]
call fcn.0046025c
mov eax, 0x597e7c
mov edx, dword [0x597e98]
call fcn.0046025c
mov eax, 0x597e80
mov edx, dword [0x597e98]
call fcn.0046025c
mov eax, 0x597e84
mov edx, dword [0x597e98]
call fcn.0046025c
mov eax, 0x597e88
mov edx, dword [0x597e98]
call fcn.0046025c
mov eax, 0x597e8c
mov edx, dword [0x597e98]
call fcn.0046025c
mov eax, 0x597e94
mov edx, dword [0x597e98]
call fcn.0046025c
cmp dword [0x597e6c], 0
je 0x46121b
cmp dword [0x597e24], 0
je 0x46121b
cmp dword [0x597e2c], 0
je 0x46121b
cmp dword [0x597e34], 0
jne 0x4615d7
test bl, bl
je 0x4615d7
mov esi, sub.rtl120.bpl__System_FreeMemory_qpv
cmp word [esi], 0x25ff
jne 0x461258
add esi, 2
mov eax, dword [esi]
mov esi, dword [eax]
mov edi, dword [0x5a7370]
mov edi, dword [edi]
lea ecx, [ebp - 8]
lea edx, [ebp - 0x50]
mov eax, esi
call edi
mov eax, dword [ebp - 0x50]
cmp eax, dword [0x597e98]
jne 0x461258
xor eax, eax
mov dword [ebp - 0x50], eax
push 0x462018
mov ecx, 0x78
mov edx, 0x462060
mov eax, dword [ebp - 0x50]
call fcn.004605bc
mov esi, eax
cmp dword [ebp - 0x50], 0
jne 0x461290
push 0x462070
mov ecx, 0x78
mov edx, 0x462090
mov eax, esi
call fcn.004605bc
mov dword [ebp - 0x50], eax
push 0x4620a0
mov ecx, 0x78
mov edx, 0x4620e8
xor eax, eax
call fcn.004605bc
mov edi, eax
xor eax, eax
mov dword [ebp - 0x54], eax
cmp dword [0x597e6c], 0
jne 0x461540
cmp dword [ebp - 0x50], 0
je 0x461540
push 0x4620f0
mov eax, dword [ebp - 0x50]
push eax
call fcn.00401c60
mov dword [0x597e3c], eax
cmp dword [0x597e3c], 0
je 0x461537
mov eax, dword [0x597e3c]
cmp byte [eax], 0xe9
je 0x461537
push 0x462150
mov eax, dword [ebp - 0x50]
push eax
call fcn.00401c60
mov dword [0x597e40], eax
push 0x4621ac
mov eax, dword [ebp - 0x50]
push eax
call fcn.00401c60
mov dword [0x597e44], eax
push 0x4621f0
mov eax, dword [ebp - 0x50]
push eax
call fcn.00401c60
mov dword [0x597e48], eax
push 0x46227c
mov eax, dword [ebp - 0x50]
push eax
call fcn.00401c60
mov dword [0x597e4c], eax
push 0x4622cc
mov eax, dword [ebp - 0x50]
push eax
call fcn.00401c60
mov dword [0x597e50], eax
push 0x46230c
mov eax, dword [ebp - 0x50]
push eax
call fcn.00401c60
mov dword [0x597e54], eax
push 0x462348
mov eax, dword [ebp - 0x50]
push eax
call fcn.00401c60
mov dword [0x597e58], eax
push 0x462384
mov eax, dword [ebp - 0x50]
push eax
call fcn.00401c60
mov dword [0x597e5c], eax
push 0x4623c4
mov eax, dword [ebp - 0x50]
push eax
call fcn.00401c60
lea edx, [ebp - 0x8c]
call fcn.00418230
mov byte [ebp - 0x49], 1
jmp 0x46151d
cmp dword [ebp - 0x84], 0
je 0x4614f8
cmp byte [ebp - 0x85], 0
je 0x4614f8
cmp dword [ebp - 0x78], 4
jne 0x4614f8
cmp byte [ebp - 0x49], 0
je 0x46146d
mov byte [ebp - 0x49], 0
lea edx, [ebp - 0xb0]
mov eax, dword [ebp - 0x84]
call fcn.00418230
jmp 0x461450
cmp word [ebp - 0xae], 0xc7
jne 0x461428
cmp byte [ebp - 0xac], 0x40
jne 0x461428
mov eax, dword [ebp - 0x90]
sub eax, 5
cmp byte [eax], 4
jne 0x461428
mov eax, dword [ebp - 0x90]
sub eax, 4
mov eax, dword [eax]
mov dword [0x597e74], eax
jmp 0x4614f8
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x90]
call fcn.00418230
push esi
push edi
lea esi, [ebp - 0x100]
lea edi, [ebp - 0xb0]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
cmp byte [ebp - 0xb0], 0
je 0x4614f8
cmp word [ebp - 0xae], 0xc3
jne 0x4613f1
jmp 0x4614f8
mov eax, dword [ebp - 0x84]
mov dword [0x597e6c], eax
lea edx, [ebp - 0x8c]
mov eax, dword [0x597e6c]
call fcn.00418230
jmp 0x4614e2
cmp dword [ebp - 0x84], 0
je 0x4614bd
cmp word [ebp - 0x8a], 0xe8
jne 0x4614bd
cmp byte [ebp - 0x85], 0
je 0x4614bd
cmp dword [ebp - 0x78], 4
jne 0x4614bd
mov eax, dword [ebp - 0x84]
mov dword [0x597e70], eax
jmp 0x461540
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00418230
push esi
push edi
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x8c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
cmp byte [ebp - 0x8c], 0
je 0x461540
cmp word [ebp - 0x8a], 0xc3
jne 0x46148a
jmp 0x461540
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00418230
push esi
push edi
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x8c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
cmp byte [ebp - 0x8c], 0
je 0x461540
cmp word [ebp - 0x8a], 0xc3
jne 0x4613ac
jmp 0x461540
xor ebx, ebx
xor eax, eax
mov dword [0x597e3c], eax
test bl, bl
je 0x4615d7
cmp dword [0x597e24], 0
jne 0x461575
test esi, esi
je 0x461575
push 0x46244c
push esi
call fcn.00401c60
mov dword [0x597e24], eax
push 0x4624c0
push esi
call fcn.00401c60
mov dword [0x597e28], eax
cmp dword [0x597e2c], 0
jne 0x4615a2
test edi, edi
je 0x4615a2
push 0x462538
push edi
call fcn.00401c60
mov dword [0x597e2c], eax
push 0x4625ac
push edi
call fcn.00401c60
mov dword [0x597e30], eax
cmp dword [0x597e34], 0
jne 0x4615d7
cmp dword [ebp - 0x54], 0
je 0x4615d7
push 0x462624
mov eax, dword [ebp - 0x54]
push eax
call fcn.00401c60
mov dword [0x597e34], eax
push 0x4626a0
mov eax, dword [ebp - 0x54]
push eax
call fcn.00401c60
mov dword [0x597e38], eax
mov eax, dword [sym.imp.rtl120.bpl__System_ExceptObjProc]
mov dword [0x598810], eax
cmp dword [0x597e74], 0
je 0x4615f9
mov edx, 0x45df48
mov eax, dword [0x597e74]
call fcn.0045632c
cmp dword [0x597e24], 0
je 0x461611
mov edx, 0x45d56c
mov eax, dword [0x597e24]
call fcn.0045632c
cmp dword [0x597e28], 0
je 0x461629
mov edx, 0x45d544
mov eax, dword [0x597e28]
call fcn.0045632c
cmp dword [0x597e2c], 0
je 0x461641
mov edx, 0x45d56c
mov eax, dword [0x597e2c]
call fcn.0045632c
cmp dword [0x597e30], 0
je 0x461659
mov edx, 0x45d544
mov eax, dword [0x597e30]
call fcn.0045632c
cmp dword [0x597e34], 0
je 0x461671
mov edx, 0x45d56c
mov eax, dword [0x597e34]
call fcn.0045632c
cmp dword [0x597e38], 0
je 0x461689
mov edx, 0x45d544
mov eax, dword [0x597e38]
call fcn.0045632c
cmp dword [0x597e3c], 0
je 0x4616a1
mov edx, 0x45d518
mov eax, dword [0x597e3c]
call fcn.0045632c
cmp dword [0x597e60], 0
je 0x4616b9
mov edx, 0x45d5b0
mov eax, dword [0x597e60]
call fcn.0045632c
cmp dword [0x597e64], 0
je 0x4616d1
mov edx, 0x45d5d8
mov eax, dword [0x597e64]
call fcn.0045632c
cmp dword [0x597e68], 0
je 0x4616fb
mov byte [0x597e0c], 1
mov eax, 0x18
call sub.rtl120.bpl__System__GetMem_qqri
mov dword [0x598824], eax
mov eax, dword [0x598824]
push eax
call sub.kernel32.dll_InitializeCriticalSection
cmp dword [0x597e40], 0
je 0x4617d3
cmp dword [0x597e44], 0
je 0x4617d3
lea edx, [ebp - 0x48]
mov eax, dword [0x597e40]
call fcn.00419530
mov eax, dword [ebp - 0x28]
call sub.rtl120.bpl__System__DynArrayLength_qqrv
dec eax
jne 0x461738
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xc]
mov dword [0x597e40], eax
lea edx, [ebp - 0x48]
mov eax, dword [0x597e44]
call fcn.00419530
mov eax, dword [ebp - 0x28]
call sub.rtl120.bpl__System__DynArrayLength_qqrv
dec eax
jne 0x46175b
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xc]
mov dword [0x597e44], eax
lea edx, [ebp - 0x8c]
mov eax, dword [0x597e40]
call fcn.00418230
jmp 0x4617c1
mov esi, dword [ebp - 0x84]
test esi, esi
je 0x4617a0
cmp esi, dword [0x597e44]
jne 0x4617a0
cmp dword [ebp - 0x78], 4
jne 0x4617d3
cmp byte [ebp - 0x85], 0
je 0x4617d3
mov edx, 0x45d7c8
sub edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x80]
call fcn.00456384
jmp 0x4617d3
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00418230
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x8c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
movzx eax, word [ebp - 0x8a]
add eax, 0xffffff3e
sub ax, 2
jae 0x46176d
cmp dword [0x597e5c], 0
je 0x461869
mov esi, sub.rtl120.bpl__System_AcquireExceptionObject_qqrv
cmp word [esi], 0x25ff
jne 0x4617f3
add esi, 2
mov eax, dword [esi]
mov esi, dword [eax]
lea edx, [ebp - 0x8c]
mov eax, dword [0x597e5c]
call fcn.00418230
jmp 0x461857
mov edi, dword [ebp - 0x84]
test edi, edi
je 0x461834
cmp esi, edi
jne 0x461834
cmp dword [ebp - 0x78], 4
jne 0x461869
cmp byte [ebp - 0x85], 0
je 0x461869
mov edx, 0x45d688
sub edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x80]
call fcn.00456384
jmp 0x461869
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00418230
push esi
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x8c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop esi
movzx eax, word [ebp - 0x8a]
add eax, 0xffffff3e
sub ax, 2
jae 0x461805
call fcn.00460278
lea edx, [ebp - 0x8c]
call fcn.00418230
mov byte [ebp - 0x49], 0
jmp 0x4618d4
cmp byte [ebp - 0x85], 0
je 0x4618b3
cmp dword [ebp - 0x78], 4
jne 0x4618b3
cmp dword [ebp - 0x84], 0
je 0x4618b3
cmp byte [ebp - 0x49], 0
je 0x4618af
mov edx, 0x45d6e4
sub edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x80]
call fcn.00456384
jmp 0x4618e6
mov byte [ebp - 0x49], 1
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00418230
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x8c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
movzx eax, word [ebp - 0x8a]
add eax, 0xffffff3e
sub ax, 2
jae 0x46187f
call fcn.00460278
lea edx, [ebp - 0x8c]
call fcn.00418230
jmp 0x46194c
mov esi, dword [ebp - 0x84]
test esi, esi
je 0x46192b
cmp esi, dword [0x597e70]
jne 0x46192b
cmp dword [ebp - 0x78], 4
jne 0x46195e
cmp byte [ebp - 0x85], 0
je 0x46195e
mov edx, 0x45d8ac
sub edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x80]
call fcn.00456384
jmp 0x46195e
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00418230
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x8c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
movzx eax, word [ebp - 0x8a]
add eax, 0xffffff3e
sub ax, 2
jae 0x4618f8
mov esi, dword [0x597e6c]
test esi, esi
je 0x4619e2
cmp dword [0x597e70], 0
je 0x4619e2
lea edx, [ebp - 0x8c]
mov eax, esi
call fcn.00418230
jmp 0x4619d0
mov eax, dword [ebp - 0x84]
cmp eax, dword [0x597e70]
jne 0x4619af
cmp dword [ebp - 0x78], 4
jne 0x4619e2
cmp byte [ebp - 0x85], 0
je 0x4619e2
mov edx, 0x45d8b4
sub edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x80]
call fcn.00456384
jmp 0x4619e2
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00418230
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x8c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
movzx eax, word [ebp - 0x8a]
add eax, 0xffffff3e
sub ax, 2
jae 0x461980
mov esi, dword [0x597e70]
test esi, esi
je 0x461a5d
lea edx, [ebp - 0x8c]
mov eax, esi
call fcn.00418230
jmp 0x461a4b
mov eax, dword [ebp - 0x84]
cmp eax, dword [0x597e70]
jne 0x461a2a
cmp dword [ebp - 0x78], 4
jne 0x461a5d
cmp byte [ebp - 0x85], 0
je 0x461a5d
mov edx, 0x45d8c4
sub edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x80]
call fcn.00456384
jmp 0x461a5d
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00418230
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x8c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
movzx eax, word [ebp - 0x8a]
add eax, 0xffffff3e
sub ax, 2
jae 0x4619fb
call fcn.004602b4
lea edx, [ebp - 0x8c]
call fcn.00418230
jmp 0x461a90
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00418230
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x8c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x8c], 0
je 0x461ad1
cmp word [ebp - 0x8a], 0x8b
jne 0x461abf
cmp byte [ebp - 0x88], 0x15
jne 0x461abf
mov eax, dword [ebp - 0x70]
add eax, 2
mov eax, dword [eax]
mov edx, dword [sym.imp.rtl120.bpl__System_ExceptObjProc]
cmp eax, edx
je 0x461ad1
movzx eax, word [ebp - 0x8a]
add eax, 0xffffff3e
sub ax, 2
jae 0x461a6f
cmp word [ebp - 0x8a], 0x8b
jne 0x461aec
mov edx, 0x598814
mov eax, dword [ebp - 0x70]
add eax, 2
call fcn.00456384
call fcn.004602c8
lea edx, [ebp - 0x8c]
call fcn.00418230
jmp 0x461b1f
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00418230
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x8c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x8c], 0
je 0x461b60
cmp word [ebp - 0x8a], 0xff
jne 0x461b4e
cmp byte [ebp - 0x88], 0x15
jne 0x461b4e
mov eax, dword [ebp - 0x70]
add eax, 2
mov eax, dword [eax]
mov edx, dword [sym.imp.rtl120.bpl__System_ExceptObjProc]
cmp eax, edx
je 0x461b60
movzx eax, word [ebp - 0x8a]
add eax, 0xffffff3e
sub ax, 2
jae 0x461afe
cmp word [ebp - 0x8a], 0xff
jne 0x461b7b
mov edx, 0x598818
mov eax, dword [ebp - 0x70]
add eax, 2
call fcn.00456384
mov eax, dword [sym.imp.rtl120.bpl__System_RaiseExceptionProc]
mov eax, dword [eax]
mov dword [0x59881c], eax
call fcn.004602dc
lea edx, [ebp - 0x8c]
call fcn.00418230
jmp 0x461bba
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00418230
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x8c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x8c], 0
je 0x461be9
cmp word [ebp - 0x8a], 0xff
jne 0x461bd7
cmp byte [ebp - 0x88], 0x25
je 0x461be9
movzx eax, word [ebp - 0x8a]
add eax, 0xffffff3e
sub ax, 2
jae 0x461b99
cmp word [ebp - 0x8a], 0xff
jne 0x461c04
mov edx, 0x598820
mov eax, dword [ebp - 0x70]
add eax, 2
call fcn.00456384
call fcn.004602a0
mov esi, eax
lea edx, [ebp - 0x8c]
mov eax, esi
call fcn.00418230
jmp 0x461c3d
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00418230
push esi
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x8c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop esi
cmp byte [ebp - 0x8c], 0
je 0x461c4f
cmp byte [ebp - 0x87], 0
je 0x461c1a
mov eax, dword [ebp - 0x84]
mov dword [0x597ef4], eax
mov edx, 0x45dfac
mov eax, esi
call fcn.0045632c
lea edx, [ebp - 0x8c]
mov eax, sub.rtl120.bpl__System_TObject_Free_qqrv
call fcn.00418230
mov eax, dword [ebp - 0x84]
test eax, eax
je 0x461c84
mov esi, eax
jmp 0x461c89
mov esi, sub.rtl120.bpl__System_TObject_Free_qqrv
call fcn.00460264
lea edx, [ebp - 0x8c]
call fcn.00418230
jmp 0x461ce7
cmp esi, dword [ebp - 0x84]
jne 0x461cc4
cmp dword [ebp - 0x78], 4
jne 0x461cf9
cmp byte [ebp - 0x85], 0
je 0x461cf9
mov edx, 0x45e288
sub edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x80]
call fcn.00456384
jmp 0x461cf9
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00418230
push esi
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x8c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop esi
movzx eax, word [ebp - 0x8a]
add eax, 0xffffff3e
sub ax, 2
jae 0x461c9b
call fcn.0046028c
mov edx, 0x45e298
call fcn.0045632c
cmp dword [0x597e48], 0
je 0x461d5b
cmp dword [0x597e50], 0
je 0x461d5b
mov edx, 0x45c82c
mov eax, dword [0x597e48]
call fcn.0045632c
mov edx, 0x402e68
mov eax, dword [0x597e50]
call fcn.0045632c
cmp dword [0x597e4c], 0
je 0x461d50
mov edx, 0x45c888
mov eax, dword [0x597e4c]
call fcn.0045632c
mov eax, dword [0x5a77b0]
mov dword [eax], 0x45c7b4
push 0
push 0
call sub.kernel32.dll_GetCurrentProcess
push eax
call sub.kernel32.dll_FlushInstructionCache
call fcn.00454620
call fcn.004357a4
mov esi, 0x401268
cmp word [esi], 0x25ff
jne 0x461d87
add esi, 2
mov eax, dword [esi]
mov esi, dword [eax]
mov dword [0x598830], esi
lea edx, [ebp - 0x48]
mov eax, esi
call fcn.00419530
cmp byte [ebp - 0x48], 0
je 0x461da8
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x3c]
mov dword [0x598834], eax
push 0
call sub.kernel32.dll_GetModuleHandleW_1
cmp eax, dword [0x597e98]
je 0x461dc0
cmp byte [0x597ea4], 0
je 0x461dca
mov eax, dword [0x5986dc]
call fcn.0045ee58
mov eax, ebx
call fcn.0042fdf4
mov eax, dword [0x5986dc]
mov edx, dword [eax]
call dword [edx + 0x37c]
test al, al
je 0x461df9
mov eax, dword [0x5986dc]
mov edx, dword [eax]
call dword [edx + 0x380]
mov dword [0x598720], eax
call fcn.00435e38
call fcn.004547bc
mov eax, 0x45d1c8
test eax, eax
jmp 0x461e37
lea eax, [ebp - 4]
call fcn.0042c234
cmp dword [ebp - 4], 0
je 0x461e21
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov dword [0x597d78], eax
jmp 0x461e2d
mov eax, dword [sym.imp.rtl120.bpl__System_MainThreadID]
mov eax, dword [eax]
mov dword [0x597d78], eax
mov eax, 0x5986dc
call sub.rtl120.bpl__System__IntfClear_qqrr45System__DelphiInterface_t17System_IInterface_
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x461e8b
lea eax, [ebp - 0xdc]
mov edx, 2
call sub.rtl120.bpl__System__LStrArrayClr_qqrpvi
lea eax, [ebp - 0xd4]
call sub.rtl120.bpl__System__IntfClear_qqrr45System__DelphiInterface_t17System_IInterface_
lea eax, [ebp - 0x48]
mov edx, dword [0x414128]
call sub.rtl120.bpl__System__FinalizeRecord_qqrpvt1
lea eax, [ebp - 8]
call sub.rtl120.bpl__System__LStrClr_qqrpv
lea eax, [ebp - 4]
mov edx, dword [0x402cd0]
call sub.rtl120.bpl__System__DynArrayClear_qqrrpvpv
ret