Function at 0x471cc8
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 [0x40f890]
call sub.rtl250.bpl__System__InitializeRecord_qqrpvt1
xor eax, eax
push ebp
push 0x472f15
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
mov edx, dword [0x406228]
call sub.rtl250.bpl__System__DynArrayClear_qqrrpvpv
lea eax, [ebp - 0x60]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
je 0x471d5d
lea eax, [ebp - 0x68]
push eax
call sub.kernel32.dll_QueryPerformanceFrequency
test eax, eax
je 0x471d5d
push 0
push 0x3e8
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
call sub.rtl250.bpl__System___lldiv_qqrv
push edx
push eax
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
call sub.rtl250.bpl__System___lldiv_qqrv
mov dword [0x4da610], eax
mov dword [0x4da614], edx
push 0x472f24
mov eax, dword [0x4da60c]
push eax
call fcn.00403590
test eax, eax
setne byte [0x4da618]
cmp byte [0x4da618], 0
je 0x471d84
call fcn.00471ab4
call sub.kernel32.dll_GetVersion
cmp al, 6
jb 0x471da7
push 0x472f64
push 0x472f7c
call sub.kernel32.dll_LoadLibraryA
push eax
call fcn.00403590
mov dword [0x4da61c], eax
mov eax, dword [0x4dbb94]
mov dword [eax], fcn.004711a0
mov eax, dword [0x4dbbfc]
mov dword [eax], 0x4441d0
mov eax, dword [0x4dbdc4]
mov dword [eax], 0x4447e0
mov eax, 0x47130c
mov edx, dword [0x4dbcc8]
mov dword [edx], eax
push 0x472f8c
push 0x472fa4
call sub.kernel32.dll_GetModuleHandleW
push eax
call fcn.00403590
mov dword [0x4da628], eax
push 0x472fc0
push 0x472fdc
call sub.kernel32.dll_GetModuleHandleW
push eax
call fcn.00403590
mov dword [0x4da62c], eax
lea edx, [ebp - 0xd4]
mov eax, dword [0x4da60c]
call fcn.00448e18
mov edx, dword [ebp - 0xd4]
mov eax, 0x4dae4c
call sub.rtl250.bpl__System__IntfCopy_qqrr44System__DelphiInterface_17System_IInterface_x44System__DelphiInterface_17System_IInterf
mov eax, dword [0x4dae4c]
mov edx, dword [eax]
call dword [edx + 0x368]
test al, al
je 0x471e87
mov eax, dword [0x4dae4c]
mov edx, dword [eax]
call dword [edx + 0x36c]
test al, al
je 0x471e87
mov eax, dword [0x4dae4c]
mov edx, dword [eax]
call dword [edx + 0x378]
test al, al
je 0x471e87
mov eax, dword [0x4da60c]
call fcn.00471418
mov eax, dword [0x4dae4c]
mov edx, dword [eax]
call dword [edx + 0xc]
cmp eax, dword [0x4da60c]
je 0x471e87
mov eax, dword [0x4dae4c]
mov edx, dword [eax]
call dword [edx + 0xc]
call fcn.00471418
call fcn.004719c4
push 0x4df500
call sub.kernel32.dll_InitializeCriticalSection
push 0x4df4e8
call sub.kernel32.dll_InitializeCriticalSection
mov eax, dword [0x4dae4c]
mov edx, dword [eax]
call dword [edx + 0x368]
test al, al
je 0x472e98
lea edx, [ebp - 0xd0]
lea eax, [ebp - 0xbc]
call fcn.00434594
lea eax, [ebp - 0xdc]
push eax
call sub.kernel32.dll_GetCurrentProcessId
mov cl, 0x30
mov edx, 1
call fcn.00408980
mov ecx, dword [ebp - 0xdc]
lea eax, [ebp - 0xd8]
mov edx, 0x472ffc
call sub.rtl250.bpl__System__LStrCat3_qqrr27System__AnsiStringT_us_i0__x27System__AnsiStringT_us_i0__t2
mov eax, dword [ebp - 0xd8]
call sub.rtl250.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 0x471fbd
push 0
push 0
push 0
push 0xf001f
push ebx
call sub.kernel32.dll_MapViewOfFile
mov dword [0x4da624], eax
mov eax, dword [0x4da624]
mov dword [eax + 0xc], 1
push 0
push 0
push 0
call fcn.00403334
mov edx, dword [0x4da624]
mov dword [edx], eax
push 0
push 0
push 0
call fcn.00403334
mov edx, dword [0x4da624]
mov dword [edx + 4], eax
mov eax, dword [0x4da624]
xor edx, edx
mov dword [eax + 8], edx
mov eax, dword [0x4da624]
mov dword [eax + 0x10], ebx
lea eax, [ebp - 4]
call fcn.00433304
cmp dword [ebp - 4], 0
je 0x471faf
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov dword [0x4da510], eax
push 0
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov ecx, 0x473020
xor edx, edx
call fcn.00434f0c
jmp 0x472007
mov eax, dword [sym.imp.rtl250.bpl__System_MainThreadID]
mov eax, dword [eax]
mov dword [0x4da510], eax
jmp 0x472007
test ebx, ebx
je 0x471fed
push 0
push 0
push 0
push 0xf001f
push ebx
call sub.kernel32.dll_MapViewOfFile
mov dword [0x4da624], eax
push ebx
call sub.kernel32.dll_CloseHandle
mov eax, dword [0x4da624]
add eax, 0xc
push eax
call fcn.00403490
jmp 0x472007
push 0
push 0x473038
push 0x473044
push 0
call sub.user32.dll_MessageBoxA
push 0
call sub.kernel32.dll_ExitProcess
cmp dword [0x4da624], 0
jne 0x47202a
push 0
push 0x473038
push 0x47306c
push 0
call sub.user32.dll_MessageBoxA
push 0
call sub.kernel32.dll_ExitProcess
cmp dword [0x4da510], 0
jne 0x4720a4
push 0xffffffffffffffff
mov eax, dword [0x4da624]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_WaitForSingleObject
xor edx, edx
push ebp
push 0x472088
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x4da624]
mov eax, dword [eax + 8]
test eax, eax
je 0x47206c
mov edx, dword [eax]
mov dword [0x4da510], edx
mov eax, dword [eax + 8]
test eax, eax
jne 0x47205d
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47208f
mov eax, dword [0x4da624]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_ReleaseMutex
ret
push 0
call sub.kernel32.dll_GetModuleHandleW
cmp eax, dword [0x4da60c]
je 0x4720c0
cmp byte [0x4da618], 0
jne 0x4720c0
xor ebx, ebx
jmp 0x4720c2
mov bl, 1
mov eax, dword [0x4dae4c]
mov edx, dword [eax]
call dword [edx + 0x36c]
test al, al
je 0x472e8f
mov eax, 0x4da598
mov edx, dword [0x4da60c]
call fcn.00471328
mov eax, 0x4da59c
mov edx, dword [0x4da60c]
call fcn.00471328
mov eax, 0x4da5a0
mov edx, dword [0x4da60c]
call fcn.00471328
mov eax, 0x4da5a4
mov edx, dword [0x4da60c]
call fcn.00471328
mov eax, 0x4da5a8
mov edx, dword [0x4da60c]
call fcn.00471328
mov eax, 0x4da5ac
mov edx, dword [0x4da60c]
call fcn.00471328
mov eax, 0x4da5b0
mov edx, dword [0x4da60c]
call fcn.00471328
mov eax, 0x4da5b4
mov edx, dword [0x4da60c]
call fcn.00471328
mov eax, 0x4da5b8
mov edx, dword [0x4da60c]
call fcn.00471328
mov eax, 0x4da5bc
mov edx, dword [0x4da60c]
call fcn.00471328
mov eax, 0x4da5c0
mov edx, dword [0x4da60c]
call fcn.00471328
mov eax, 0x4da5c4
mov edx, dword [0x4da60c]
call fcn.00471328
mov eax, 0x4da5d0
mov edx, dword [0x4da60c]
call fcn.00471328
mov eax, 0x4da5d4
mov edx, dword [0x4da60c]
call fcn.00471328
mov eax, 0x4da5d8
mov edx, dword [0x4da60c]
call fcn.00471328
mov eax, 0x4da5dc
mov edx, dword [0x4da60c]
call fcn.00471328
mov eax, 0x4da5e0
mov edx, dword [0x4da60c]
call fcn.00471328
mov eax, 0x4da5e4
mov edx, dword [0x4da60c]
call fcn.00471328
mov eax, 0x4da5e8
mov edx, dword [0x4da60c]
call fcn.00471328
mov eax, 0x4da5ec
mov edx, dword [0x4da60c]
call fcn.00471328
mov eax, 0x4da5f0
mov edx, dword [0x4da60c]
call fcn.00471328
mov eax, 0x4da5f4
mov edx, dword [0x4da60c]
call fcn.00471328
mov eax, 0x4da5f8
mov edx, dword [0x4da60c]
call fcn.00471328
mov eax, 0x4da5fc
mov edx, dword [0x4da60c]
call fcn.00471328
mov eax, 0x4da600
mov edx, dword [0x4da60c]
call fcn.00471328
mov eax, 0x4da608
mov edx, dword [0x4da60c]
call fcn.00471328
cmp dword [0x4da5e0], 0
je 0x47229f
cmp dword [0x4da598], 0
je 0x47229f
cmp dword [0x4da5a0], 0
je 0x47229f
cmp dword [0x4da5a8], 0
jne 0x472668
test bl, bl
je 0x472668
mov esi, sub.rtl250.bpl__System_FreeMemory_qpv
cmp word [esi], 0x25ff
jne 0x4722dc
add esi, 2
mov eax, dword [esi]
mov esi, dword [eax]
mov edi, dword [0x4dbc10]
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 [0x4da60c]
jne 0x4722dc
xor eax, eax
mov dword [ebp - 0x50], eax
mov esi, 0x140
push 0x4730a8
mov ecx, esi
mov edx, 0x4730f4
mov eax, dword [ebp - 0x50]
call fcn.00471688
mov edi, eax
cmp dword [ebp - 0x50], 0
jne 0x472313
push 0x473104
mov ecx, esi
mov edx, 0x473128
mov eax, edi
call fcn.00471688
mov dword [ebp - 0x50], eax
push 0x473138
mov ecx, esi
mov edx, 0x473180
xor eax, eax
call fcn.00471688
mov dword [ebp - 0x54], eax
push 0x473194
mov ecx, esi
mov edx, 0x4731e0
xor eax, eax
call fcn.00471688
mov esi, eax
cmp dword [0x4da5e0], 0
jne 0x4725d1
cmp dword [ebp - 0x50], 0
je 0x4725d1
push 0x4731e4
mov eax, dword [ebp - 0x50]
push eax
call fcn.00403590
mov dword [0x4da5b0], eax
cmp dword [0x4da5b0], 0
je 0x4725c8
mov eax, dword [0x4da5b0]
cmp byte [eax], 0xe9
je 0x4725c8
push 0x473250
mov eax, dword [ebp - 0x50]
push eax
call fcn.00403590
mov dword [0x4da5b4], eax
push 0x4732c0
mov eax, dword [ebp - 0x50]
push eax
call fcn.00403590
mov dword [0x4da5b8], eax
push 0x473314
mov eax, dword [ebp - 0x50]
push eax
call fcn.00403590
mov dword [0x4da5bc], eax
push 0x4733a8
mov eax, dword [ebp - 0x50]
push eax
call fcn.00403590
mov dword [0x4da5c0], eax
push 0x473404
mov eax, dword [ebp - 0x50]
push eax
call fcn.00403590
mov dword [0x4da5c4], eax
push 0x473450
mov eax, dword [ebp - 0x50]
push eax
call fcn.00403590
mov dword [0x4da5c8], eax
push 0x473498
mov eax, dword [ebp - 0x50]
push eax
call fcn.00403590
mov dword [0x4da5cc], eax
push 0x4734e0
mov eax, dword [ebp - 0x50]
push eax
call fcn.00403590
mov dword [0x4da5d0], eax
push 0x47352c
mov eax, dword [ebp - 0x50]
push eax
call fcn.00403590
lea edx, [ebp - 0x8c]
call fcn.00413aac
mov byte [ebp - 0x49], 1
jmp 0x4725ae
cmp dword [ebp - 0x84], 0
je 0x472589
cmp byte [ebp - 0x85], 0
je 0x472589
cmp dword [ebp - 0x78], 4
jne 0x472589
cmp byte [ebp - 0x49], 0
je 0x4724fe
mov byte [ebp - 0x49], 0
lea edx, [ebp - 0xb0]
mov eax, dword [ebp - 0x84]
call fcn.00413aac
jmp 0x4724e1
cmp word [ebp - 0xae], 0xc7
jne 0x4724b9
cmp byte [ebp - 0xac], 0x40
jne 0x4724b9
mov eax, dword [ebp - 0x90]
sub eax, 5
cmp byte [eax], 4
jne 0x4724b9
mov eax, dword [ebp - 0x90]
sub eax, 4
mov eax, dword [eax]
mov dword [0x4da5e8], eax
jmp 0x472589
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x90]
call fcn.00413aac
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 0x472589
cmp word [ebp - 0xae], 0xc3
jne 0x472482
jmp 0x472589
mov eax, dword [ebp - 0x84]
mov dword [0x4da5e0], eax
lea edx, [ebp - 0x8c]
mov eax, dword [0x4da5e0]
call fcn.00413aac
jmp 0x472573
cmp dword [ebp - 0x84], 0
je 0x47254e
cmp word [ebp - 0x8a], 0xe8
jne 0x47254e
cmp byte [ebp - 0x85], 0
je 0x47254e
cmp dword [ebp - 0x78], 4
jne 0x47254e
mov eax, dword [ebp - 0x84]
mov dword [0x4da5e4], eax
jmp 0x4725d1
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00413aac
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 0x4725d1
cmp word [ebp - 0x8a], 0xc3
jne 0x47251b
jmp 0x4725d1
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00413aac
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 0x4725d1
cmp word [ebp - 0x8a], 0xc3
jne 0x47243d
jmp 0x4725d1
xor ebx, ebx
xor eax, eax
mov dword [0x4da5b0], eax
test bl, bl
je 0x472668
cmp dword [0x4da598], 0
jne 0x472606
test edi, edi
je 0x472606
push 0x4735b4
push edi
call fcn.00403590
mov dword [0x4da598], eax
push 0x473630
push edi
call fcn.00403590
mov dword [0x4da59c], eax
cmp dword [0x4da5a0], 0
jne 0x47263b
cmp dword [ebp - 0x54], 0
je 0x47263b
push 0x4736bc
mov eax, dword [ebp - 0x54]
push eax
call fcn.00403590
mov dword [0x4da5a0], eax
push 0x473730
mov eax, dword [ebp - 0x54]
push eax
call fcn.00403590
mov dword [0x4da5a4], eax
cmp dword [0x4da5a8], 0
jne 0x472668
test esi, esi
je 0x472668
push 0x4737a8
push esi
call fcn.00403590
mov dword [0x4da5a8], eax
push 0x473824
push esi
call fcn.00403590
mov dword [0x4da5ac], eax
mov eax, dword [sym.imp.rtl250.bpl__System_ExceptObjProc]
mov dword [0x4daf80], eax
cmp dword [0x4da5e8], 0
je 0x47268a
mov edx, 0x46efd4
mov eax, dword [0x4da5e8]
call fcn.00467304
cmp dword [0x4da598], 0
je 0x4726a2
mov edx, 0x46e5f8
mov eax, dword [0x4da598]
call fcn.00467304
cmp dword [0x4da59c], 0
je 0x4726ba
mov edx, 0x46e5d0
mov eax, dword [0x4da59c]
call fcn.00467304
cmp dword [0x4da5a0], 0
je 0x4726d2
mov edx, 0x46e5f8
mov eax, dword [0x4da5a0]
call fcn.00467304
cmp dword [0x4da5a4], 0
je 0x4726ea
mov edx, 0x46e5d0
mov eax, dword [0x4da5a4]
call fcn.00467304
cmp dword [0x4da5a8], 0
je 0x472702
mov edx, 0x46e5f8
mov eax, dword [0x4da5a8]
call fcn.00467304
cmp dword [0x4da5ac], 0
je 0x47271a
mov edx, 0x46e5d0
mov eax, dword [0x4da5ac]
call fcn.00467304
cmp dword [0x4da5b0], 0
je 0x472732
mov edx, 0x46e5a4
mov eax, dword [0x4da5b0]
call fcn.00467304
cmp dword [0x4da5d4], 0
je 0x47274a
mov edx, 0x46e63c
mov eax, dword [0x4da5d4]
call fcn.00467304
cmp dword [0x4da5d8], 0
je 0x472762
mov edx, 0x46e664
mov eax, dword [0x4da5d8]
call fcn.00467304
cmp dword [0x4da5dc], 0
je 0x47278c
mov byte [0x4da588], 1
mov eax, 0x18
call sub.rtl250.bpl__System__GetMem_qqri
mov dword [0x4daf94], eax
mov eax, dword [0x4daf94]
push eax
call sub.kernel32.dll_InitializeCriticalSection
cmp dword [0x4da5b4], 0
je 0x472864
cmp dword [0x4da5b8], 0
je 0x472864
lea edx, [ebp - 0x48]
mov eax, dword [0x4da5b4]
call fcn.00414dac
mov eax, dword [ebp - 0x28]
call sub.rtl250.bpl__System__DynArrayLength_qqrpxv
dec eax
jne 0x4727c9
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xc]
mov dword [0x4da5b4], eax
lea edx, [ebp - 0x48]
mov eax, dword [0x4da5b8]
call fcn.00414dac
mov eax, dword [ebp - 0x28]
call sub.rtl250.bpl__System__DynArrayLength_qqrpxv
dec eax
jne 0x4727ec
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xc]
mov dword [0x4da5b8], eax
lea edx, [ebp - 0x8c]
mov eax, dword [0x4da5b4]
call fcn.00413aac
jmp 0x472852
mov esi, dword [ebp - 0x84]
test esi, esi
je 0x472831
cmp esi, dword [0x4da5b8]
jne 0x472831
cmp dword [ebp - 0x78], 4
jne 0x472864
cmp byte [ebp - 0x85], 0
je 0x472864
mov edx, 0x46e854
sub edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x80]
call fcn.0046735c
jmp 0x472864
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00413aac
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 0x4727fe
cmp dword [0x4da5d0], 0
je 0x4728fa
mov esi, sub.rtl250.bpl__System_AcquireExceptionObject_qqrv
cmp word [esi], 0x25ff
jne 0x472884
add esi, 2
mov eax, dword [esi]
mov esi, dword [eax]
lea edx, [ebp - 0x8c]
mov eax, dword [0x4da5d0]
call fcn.00413aac
jmp 0x4728e8
mov edi, dword [ebp - 0x84]
test edi, edi
je 0x4728c5
cmp esi, edi
jne 0x4728c5
cmp dword [ebp - 0x78], 4
jne 0x4728fa
cmp byte [ebp - 0x85], 0
je 0x4728fa
mov edx, 0x46e714
sub edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x80]
call fcn.0046735c
jmp 0x4728fa
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00413aac
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 0x472896
call fcn.00471344
lea edx, [ebp - 0x8c]
call fcn.00413aac
mov byte [ebp - 0x49], 0
jmp 0x472965
cmp byte [ebp - 0x85], 0
je 0x472944
cmp dword [ebp - 0x78], 4
jne 0x472944
cmp dword [ebp - 0x84], 0
je 0x472944
cmp byte [ebp - 0x49], 0
je 0x472940
mov edx, 0x46e770
sub edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x80]
call fcn.0046735c
jmp 0x472977
mov byte [ebp - 0x49], 1
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00413aac
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 0x472910
call fcn.00471344
lea edx, [ebp - 0x8c]
call fcn.00413aac
jmp 0x4729dd
mov esi, dword [ebp - 0x84]
test esi, esi
je 0x4729bc
cmp esi, dword [0x4da5e4]
jne 0x4729bc
cmp dword [ebp - 0x78], 4
jne 0x4729ef
cmp byte [ebp - 0x85], 0
je 0x4729ef
mov edx, 0x46e938
sub edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x80]
call fcn.0046735c
jmp 0x4729ef
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00413aac
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 0x472989
mov esi, dword [0x4da5e0]
test esi, esi
je 0x472a73
cmp dword [0x4da5e4], 0
je 0x472a73
lea edx, [ebp - 0x8c]
mov eax, esi
call fcn.00413aac
jmp 0x472a61
mov eax, dword [ebp - 0x84]
cmp eax, dword [0x4da5e4]
jne 0x472a40
cmp dword [ebp - 0x78], 4
jne 0x472a73
cmp byte [ebp - 0x85], 0
je 0x472a73
mov edx, 0x46e940
sub edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x80]
call fcn.0046735c
jmp 0x472a73
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00413aac
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 0x472a11
mov esi, dword [0x4da5e4]
test esi, esi
je 0x472aee
lea edx, [ebp - 0x8c]
mov eax, esi
call fcn.00413aac
jmp 0x472adc
mov eax, dword [ebp - 0x84]
cmp eax, dword [0x4da5e4]
jne 0x472abb
cmp dword [ebp - 0x78], 4
jne 0x472aee
cmp byte [ebp - 0x85], 0
je 0x472aee
mov edx, 0x46e950
sub edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x80]
call fcn.0046735c
jmp 0x472aee
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00413aac
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 0x472a8c
call fcn.00471380
lea edx, [ebp - 0x8c]
call fcn.00413aac
jmp 0x472b21
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00413aac
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x8c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x8c], 0
je 0x472b62
cmp word [ebp - 0x8a], 0x8b
jne 0x472b50
cmp byte [ebp - 0x88], 0x15
jne 0x472b50
mov eax, dword [ebp - 0x70]
add eax, 2
mov eax, dword [eax]
mov edx, dword [sym.imp.rtl250.bpl__System_ExceptObjProc]
cmp eax, edx
je 0x472b62
movzx eax, word [ebp - 0x8a]
add eax, 0xffffff3e
sub ax, 2
jae 0x472b00
cmp word [ebp - 0x8a], 0x8b
jne 0x472b7d
mov edx, 0x4daf84
mov eax, dword [ebp - 0x70]
add eax, 2
call fcn.0046735c
call fcn.00471394
lea edx, [ebp - 0x8c]
call fcn.00413aac
jmp 0x472bb0
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00413aac
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x8c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x8c], 0
je 0x472bf1
cmp word [ebp - 0x8a], 0xff
jne 0x472bdf
cmp byte [ebp - 0x88], 0x15
jne 0x472bdf
mov eax, dword [ebp - 0x70]
add eax, 2
mov eax, dword [eax]
mov edx, dword [sym.imp.rtl250.bpl__System_ExceptObjProc]
cmp eax, edx
je 0x472bf1
movzx eax, word [ebp - 0x8a]
add eax, 0xffffff3e
sub ax, 2
jae 0x472b8f
cmp word [ebp - 0x8a], 0xff
jne 0x472c0c
mov edx, 0x4daf88
mov eax, dword [ebp - 0x70]
add eax, 2
call fcn.0046735c
mov eax, dword [sym.imp.rtl250.bpl__System_RaiseExceptionProc]
mov eax, dword [eax]
mov dword [0x4daf8c], eax
call fcn.004713a8
lea edx, [ebp - 0x8c]
call fcn.00413aac
jmp 0x472c4b
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00413aac
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x8c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x8c], 0
je 0x472c7a
cmp word [ebp - 0x8a], 0xff
jne 0x472c68
cmp byte [ebp - 0x88], 0x25
je 0x472c7a
movzx eax, word [ebp - 0x8a]
add eax, 0xffffff3e
sub ax, 2
jae 0x472c2a
cmp word [ebp - 0x8a], 0xff
jne 0x472c95
mov edx, 0x4daf90
mov eax, dword [ebp - 0x70]
add eax, 2
call fcn.0046735c
call fcn.0047136c
mov esi, eax
lea edx, [ebp - 0x8c]
mov eax, esi
call fcn.00413aac
jmp 0x472cce
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00413aac
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 0x472ce0
cmp byte [ebp - 0x87], 0
je 0x472cab
mov eax, dword [ebp - 0x84]
mov dword [0x4da660], eax
mov edx, 0x46f038
mov eax, esi
call fcn.00467304
lea edx, [ebp - 0x8c]
mov eax, sub.rtl250.bpl__System_TObject_Free_qqrv
call fcn.00413aac
mov eax, dword [ebp - 0x84]
test eax, eax
je 0x472d15
mov esi, eax
jmp 0x472d1a
mov esi, sub.rtl250.bpl__System_TObject_Free_qqrv
call fcn.00471330
lea edx, [ebp - 0x8c]
call fcn.00413aac
jmp 0x472d78
cmp esi, dword [ebp - 0x84]
jne 0x472d55
cmp dword [ebp - 0x78], 4
jne 0x472d8a
cmp byte [ebp - 0x85], 0
je 0x472d8a
mov edx, 0x46f314
sub edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x80]
call fcn.0046735c
jmp 0x472d8a
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00413aac
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 0x472d2c
call fcn.00471358
mov edx, 0x46f324
call fcn.00467304
cmp dword [0x4da5bc], 0
je 0x472dec
cmp dword [0x4da5c4], 0
je 0x472dec
mov edx, 0x46d858
mov eax, dword [0x4da5bc]
call fcn.00467304
mov edx, 0x40663c
mov eax, dword [0x4da5c4]
call fcn.00467304
cmp dword [0x4da5c0], 0
je 0x472de1
mov edx, 0x46d8b4
mov eax, dword [0x4da5c0]
call fcn.00467304
mov eax, dword [0x4dbcf8]
mov dword [eax], 0x46d7e0
push 0
push 0
call sub.kernel32.dll_GetCurrentProcess
push eax
call sub.kernel32.dll_FlushInstructionCache
call fcn.00465478
call fcn.004437c0
mov esi, 0x401218
cmp word [esi], 0x25ff
jne 0x472e18
add esi, 2
mov eax, dword [esi]
mov esi, dword [eax]
mov dword [0x4dafa0], esi
lea edx, [ebp - 0x48]
mov eax, esi
call fcn.00414dac
cmp byte [ebp - 0x48], 0
je 0x472e39
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x3c]
mov dword [0x4dafa4], eax
push 0
call sub.kernel32.dll_GetModuleHandleW
cmp eax, dword [0x4da60c]
je 0x472e51
cmp byte [0x4da618], 0
je 0x472e5b
mov eax, dword [0x4dae4c]
call fcn.0046fef4
mov eax, ebx
call fcn.00436dd4
mov eax, dword [0x4dae4c]
mov edx, dword [eax]
call dword [edx + 0x37c]
test al, al
je 0x472e8a
mov eax, dword [0x4dae4c]
mov edx, dword [eax]
call dword [edx + 0x380]
mov dword [0x4dae90], eax
call fcn.00443e54
call fcn.00465614
mov eax, 0x46e264
test eax, eax
jmp 0x472ec8
lea eax, [ebp - 4]
call fcn.00433304
cmp dword [ebp - 4], 0
je 0x472eb2
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov dword [0x4da510], eax
jmp 0x472ebe
mov eax, dword [sym.imp.rtl250.bpl__System_MainThreadID]
mov eax, dword [eax]
mov dword [0x4da510], eax
mov eax, 0x4dae4c
call sub.rtl250.bpl__System__IntfClear_qqrr44System__DelphiInterface_17System_IInterface_
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x472f1c
lea eax, [ebp - 0xdc]
mov edx, 2
call sub.rtl250.bpl__System__LStrArrayClr_qqrpvi
lea eax, [ebp - 0xd4]
call sub.rtl250.bpl__System__IntfClear_qqrr44System__DelphiInterface_17System_IInterface_
lea eax, [ebp - 0x48]
mov edx, dword [0x40f890]
call sub.rtl250.bpl__System__FinalizeRecord_qqrpvt1
lea eax, [ebp - 8]
call sub.rtl250.bpl__System__LStrClr_qqrpv
lea eax, [ebp - 4]
mov edx, dword [0x406228]
call sub.rtl250.bpl__System__DynArrayClear_qqrrpvpv
ret