Function at 0x471e9c
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 [0x40f8c4]
call sub.rtl250.bpl__System__InitializeRecord_qqrpvt1
xor eax, eax
push ebp
push 0x4730e9
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
mov edx, dword [0x40625c]
call sub.rtl250.bpl__System__DynArrayClear_qqrrpvpv
lea eax, [ebp - 0x60]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
je 0x471f31
lea eax, [ebp - 0x68]
push eax
call sub.kernel32.dll_QueryPerformanceFrequency
test eax, eax
je 0x471f31
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 [0x53e650], eax
mov dword [0x53e654], edx
push 0x4730f8
mov eax, dword [0x53e64c]
push eax
call fcn.004035c4
test eax, eax
setne byte [0x53e658]
cmp byte [0x53e658], 0
je 0x471f58
call fcn.00471c88
call sub.kernel32.dll_GetVersion
cmp al, 6
jb 0x471f7b
push 0x473138
push 0x473150
call sub.kernel32.dll_LoadLibraryA
push eax
call fcn.004035c4
mov dword [0x53e65c], eax
mov eax, dword [0x53fa2c]
mov dword [eax], fcn.00471374
mov eax, dword [0x53fac4]
mov dword [eax], 0x4443a4
mov eax, dword [0x53fcf4]
mov dword [eax], 0x4449b4
mov eax, 0x4714e0
mov edx, dword [0x53fbdc]
mov dword [edx], eax
push 0x473160
push 0x473178
call sub.kernel32.dll_GetModuleHandleW
push eax
call fcn.004035c4
mov dword [0x53e668], eax
push 0x473194
push 0x4731b0
call sub.kernel32.dll_GetModuleHandleW
push eax
call fcn.004035c4
mov dword [0x53e66c], eax
lea edx, [ebp - 0xd4]
mov eax, dword [0x53e64c]
call fcn.00448fec
mov edx, dword [ebp - 0xd4]
mov eax, 0x53ee8c
call sub.rtl250.bpl__System__IntfCopy_qqrr44System__DelphiInterface_17System_IInterface_x44System__DelphiInterface_17System_IInterf
mov eax, dword [0x53ee8c]
mov edx, dword [eax]
call dword [edx + 0x368]
test al, al
je 0x47205b
mov eax, dword [0x53ee8c]
mov edx, dword [eax]
call dword [edx + 0x36c]
test al, al
je 0x47205b
mov eax, dword [0x53ee8c]
mov edx, dword [eax]
call dword [edx + 0x378]
test al, al
je 0x47205b
mov eax, dword [0x53e64c]
call fcn.004715ec
mov eax, dword [0x53ee8c]
mov edx, dword [eax]
call dword [edx + 0xc]
cmp eax, dword [0x53e64c]
je 0x47205b
mov eax, dword [0x53ee8c]
mov edx, dword [eax]
call dword [edx + 0xc]
call fcn.004715ec
call fcn.00471b98
push 0x543500
call sub.kernel32.dll_InitializeCriticalSection
push 0x5434e8
call sub.kernel32.dll_InitializeCriticalSection
mov eax, dword [0x53ee8c]
mov edx, dword [eax]
call dword [edx + 0x368]
test al, al
je 0x47306c
lea edx, [ebp - 0xd0]
lea eax, [ebp - 0xbc]
call fcn.00434768
lea eax, [ebp - 0xdc]
push eax
call sub.kernel32.dll_GetCurrentProcessId
mov cl, 0x30
mov edx, 1
call fcn.004089b4
mov ecx, dword [ebp - 0xdc]
lea eax, [ebp - 0xd8]
mov edx, 0x4731d0
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 0x472191
push 0
push 0
push 0
push 0xf001f
push ebx
call sub.kernel32.dll_MapViewOfFile
mov dword [0x53e664], eax
mov eax, dword [0x53e664]
mov dword [eax + 0xc], 1
push 0
push 0
push 0
call fcn.0040334c
mov edx, dword [0x53e664]
mov dword [edx], eax
push 0
push 0
push 0
call fcn.0040334c
mov edx, dword [0x53e664]
mov dword [edx + 4], eax
mov eax, dword [0x53e664]
xor edx, edx
mov dword [eax + 8], edx
mov eax, dword [0x53e664]
mov dword [eax + 0x10], ebx
lea eax, [ebp - 4]
call fcn.004334d8
cmp dword [ebp - 4], 0
je 0x472183
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov dword [0x53e550], eax
push 0
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov ecx, 0x4731f4
xor edx, edx
call fcn.004350e0
jmp 0x4721db
mov eax, dword [sym.imp.rtl250.bpl__System_MainThreadID]
mov eax, dword [eax]
mov dword [0x53e550], eax
jmp 0x4721db
test ebx, ebx
je 0x4721c1
push 0
push 0
push 0
push 0xf001f
push ebx
call sub.kernel32.dll_MapViewOfFile
mov dword [0x53e664], eax
push ebx
call sub.kernel32.dll_CloseHandle
mov eax, dword [0x53e664]
add eax, 0xc
push eax
call fcn.004034bc
jmp 0x4721db
push 0
push 0x47320c
push 0x473218
push 0
call sub.user32.dll_MessageBoxA
push 0
call sub.kernel32.dll_ExitProcess
cmp dword [0x53e664], 0
jne 0x4721fe
push 0
push 0x47320c
push 0x473240
push 0
call sub.user32.dll_MessageBoxA
push 0
call sub.kernel32.dll_ExitProcess
cmp dword [0x53e550], 0
jne 0x472278
push 0xffffffffffffffff
mov eax, dword [0x53e664]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_WaitForSingleObject
xor edx, edx
push ebp
push 0x47225c
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x53e664]
mov eax, dword [eax + 8]
test eax, eax
je 0x472240
mov edx, dword [eax]
mov dword [0x53e550], edx
mov eax, dword [eax + 8]
test eax, eax
jne 0x472231
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x472263
mov eax, dword [0x53e664]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_ReleaseMutex
ret
push 0
call sub.kernel32.dll_GetModuleHandleW
cmp eax, dword [0x53e64c]
je 0x472294
cmp byte [0x53e658], 0
jne 0x472294
xor ebx, ebx
jmp 0x472296
mov bl, 1
mov eax, dword [0x53ee8c]
mov edx, dword [eax]
call dword [edx + 0x36c]
test al, al
je 0x473063
mov eax, 0x53e5d8
mov edx, dword [0x53e64c]
call fcn.004714fc
mov eax, 0x53e5dc
mov edx, dword [0x53e64c]
call fcn.004714fc
mov eax, 0x53e5e0
mov edx, dword [0x53e64c]
call fcn.004714fc
mov eax, 0x53e5e4
mov edx, dword [0x53e64c]
call fcn.004714fc
mov eax, 0x53e5e8
mov edx, dword [0x53e64c]
call fcn.004714fc
mov eax, 0x53e5ec
mov edx, dword [0x53e64c]
call fcn.004714fc
mov eax, 0x53e5f0
mov edx, dword [0x53e64c]
call fcn.004714fc
mov eax, 0x53e5f4
mov edx, dword [0x53e64c]
call fcn.004714fc
mov eax, 0x53e5f8
mov edx, dword [0x53e64c]
call fcn.004714fc
mov eax, 0x53e5fc
mov edx, dword [0x53e64c]
call fcn.004714fc
mov eax, 0x53e600
mov edx, dword [0x53e64c]
call fcn.004714fc
mov eax, 0x53e604
mov edx, dword [0x53e64c]
call fcn.004714fc
mov eax, 0x53e610
mov edx, dword [0x53e64c]
call fcn.004714fc
mov eax, 0x53e614
mov edx, dword [0x53e64c]
call fcn.004714fc
mov eax, 0x53e618
mov edx, dword [0x53e64c]
call fcn.004714fc
mov eax, 0x53e61c
mov edx, dword [0x53e64c]
call fcn.004714fc
mov eax, 0x53e620
mov edx, dword [0x53e64c]
call fcn.004714fc
mov eax, 0x53e624
mov edx, dword [0x53e64c]
call fcn.004714fc
mov eax, 0x53e628
mov edx, dword [0x53e64c]
call fcn.004714fc
mov eax, 0x53e62c
mov edx, dword [0x53e64c]
call fcn.004714fc
mov eax, 0x53e630
mov edx, dword [0x53e64c]
call fcn.004714fc
mov eax, 0x53e634
mov edx, dword [0x53e64c]
call fcn.004714fc
mov eax, 0x53e638
mov edx, dword [0x53e64c]
call fcn.004714fc
mov eax, 0x53e63c
mov edx, dword [0x53e64c]
call fcn.004714fc
mov eax, 0x53e640
mov edx, dword [0x53e64c]
call fcn.004714fc
mov eax, 0x53e648
mov edx, dword [0x53e64c]
call fcn.004714fc
cmp dword [0x53e620], 0
je 0x472473
cmp dword [0x53e5d8], 0
je 0x472473
cmp dword [0x53e5e0], 0
je 0x472473
cmp dword [0x53e5e8], 0
jne 0x47283c
test bl, bl
je 0x47283c
mov esi, sub.rtl250.bpl__System_FreeMemory_qpv
cmp word [esi], 0x25ff
jne 0x4724b0
add esi, 2
mov eax, dword [esi]
mov esi, dword [eax]
mov edi, dword [0x53fad4]
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 [0x53e64c]
jne 0x4724b0
xor eax, eax
mov dword [ebp - 0x50], eax
mov esi, 0x140
push 0x47327c
mov ecx, esi
mov edx, 0x4732c8
mov eax, dword [ebp - 0x50]
call fcn.0047185c
mov edi, eax
cmp dword [ebp - 0x50], 0
jne 0x4724e7
push 0x4732d8
mov ecx, esi
mov edx, 0x4732fc
mov eax, edi
call fcn.0047185c
mov dword [ebp - 0x50], eax
push 0x47330c
mov ecx, esi
mov edx, 0x473354
xor eax, eax
call fcn.0047185c
mov dword [ebp - 0x54], eax
push 0x473368
mov ecx, esi
mov edx, 0x4733b4
xor eax, eax
call fcn.0047185c
mov esi, eax
cmp dword [0x53e620], 0
jne 0x4727a5
cmp dword [ebp - 0x50], 0
je 0x4727a5
push 0x4733b8
mov eax, dword [ebp - 0x50]
push eax
call fcn.004035c4
mov dword [0x53e5f0], eax
cmp dword [0x53e5f0], 0
je 0x47279c
mov eax, dword [0x53e5f0]
cmp byte [eax], 0xe9
je 0x47279c
push 0x473424
mov eax, dword [ebp - 0x50]
push eax
call fcn.004035c4
mov dword [0x53e5f4], eax
push 0x473494
mov eax, dword [ebp - 0x50]
push eax
call fcn.004035c4
mov dword [0x53e5f8], eax
push 0x4734e8
mov eax, dword [ebp - 0x50]
push eax
call fcn.004035c4
mov dword [0x53e5fc], eax
push 0x47357c
mov eax, dword [ebp - 0x50]
push eax
call fcn.004035c4
mov dword [0x53e600], eax
push 0x4735d8
mov eax, dword [ebp - 0x50]
push eax
call fcn.004035c4
mov dword [0x53e604], eax
push 0x473624
mov eax, dword [ebp - 0x50]
push eax
call fcn.004035c4
mov dword [0x53e608], eax
push 0x47366c
mov eax, dword [ebp - 0x50]
push eax
call fcn.004035c4
mov dword [0x53e60c], eax
push 0x4736b4
mov eax, dword [ebp - 0x50]
push eax
call fcn.004035c4
mov dword [0x53e610], eax
push 0x473700
mov eax, dword [ebp - 0x50]
push eax
call fcn.004035c4
lea edx, [ebp - 0x8c]
call fcn.00413ae0
mov byte [ebp - 0x49], 1
jmp 0x472782
cmp dword [ebp - 0x84], 0
je 0x47275d
cmp byte [ebp - 0x85], 0
je 0x47275d
cmp dword [ebp - 0x78], 4
jne 0x47275d
cmp byte [ebp - 0x49], 0
je 0x4726d2
mov byte [ebp - 0x49], 0
lea edx, [ebp - 0xb0]
mov eax, dword [ebp - 0x84]
call fcn.00413ae0
jmp 0x4726b5
cmp word [ebp - 0xae], 0xc7
jne 0x47268d
cmp byte [ebp - 0xac], 0x40
jne 0x47268d
mov eax, dword [ebp - 0x90]
sub eax, 5
cmp byte [eax], 4
jne 0x47268d
mov eax, dword [ebp - 0x90]
sub eax, 4
mov eax, dword [eax]
mov dword [0x53e628], eax
jmp 0x47275d
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x90]
call fcn.00413ae0
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 0x47275d
cmp word [ebp - 0xae], 0xc3
jne 0x472656
jmp 0x47275d
mov eax, dword [ebp - 0x84]
mov dword [0x53e620], eax
lea edx, [ebp - 0x8c]
mov eax, dword [0x53e620]
call fcn.00413ae0
jmp 0x472747
cmp dword [ebp - 0x84], 0
je 0x472722
cmp word [ebp - 0x8a], 0xe8
jne 0x472722
cmp byte [ebp - 0x85], 0
je 0x472722
cmp dword [ebp - 0x78], 4
jne 0x472722
mov eax, dword [ebp - 0x84]
mov dword [0x53e624], eax
jmp 0x4727a5
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00413ae0
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 0x4727a5
cmp word [ebp - 0x8a], 0xc3
jne 0x4726ef
jmp 0x4727a5
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00413ae0
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 0x4727a5
cmp word [ebp - 0x8a], 0xc3
jne 0x472611
jmp 0x4727a5
xor ebx, ebx
xor eax, eax
mov dword [0x53e5f0], eax
test bl, bl
je 0x47283c
cmp dword [0x53e5d8], 0
jne 0x4727da
test edi, edi
je 0x4727da
push 0x473788
push edi
call fcn.004035c4
mov dword [0x53e5d8], eax
push 0x473804
push edi
call fcn.004035c4
mov dword [0x53e5dc], eax
cmp dword [0x53e5e0], 0
jne 0x47280f
cmp dword [ebp - 0x54], 0
je 0x47280f
push 0x473890
mov eax, dword [ebp - 0x54]
push eax
call fcn.004035c4
mov dword [0x53e5e0], eax
push 0x473904
mov eax, dword [ebp - 0x54]
push eax
call fcn.004035c4
mov dword [0x53e5e4], eax
cmp dword [0x53e5e8], 0
jne 0x47283c
test esi, esi
je 0x47283c
push 0x47397c
push esi
call fcn.004035c4
mov dword [0x53e5e8], eax
push 0x4739f8
push esi
call fcn.004035c4
mov dword [0x53e5ec], eax
mov eax, dword [sym.imp.rtl250.bpl__System_ExceptObjProc]
mov dword [0x53efc0], eax
cmp dword [0x53e628], 0
je 0x47285e
mov edx, 0x46f1a8
mov eax, dword [0x53e628]
call fcn.004674d8
cmp dword [0x53e5d8], 0
je 0x472876
mov edx, 0x46e7cc
mov eax, dword [0x53e5d8]
call fcn.004674d8
cmp dword [0x53e5dc], 0
je 0x47288e
mov edx, 0x46e7a4
mov eax, dword [0x53e5dc]
call fcn.004674d8
cmp dword [0x53e5e0], 0
je 0x4728a6
mov edx, 0x46e7cc
mov eax, dword [0x53e5e0]
call fcn.004674d8
cmp dword [0x53e5e4], 0
je 0x4728be
mov edx, 0x46e7a4
mov eax, dword [0x53e5e4]
call fcn.004674d8
cmp dword [0x53e5e8], 0
je 0x4728d6
mov edx, 0x46e7cc
mov eax, dword [0x53e5e8]
call fcn.004674d8
cmp dword [0x53e5ec], 0
je 0x4728ee
mov edx, 0x46e7a4
mov eax, dword [0x53e5ec]
call fcn.004674d8
cmp dword [0x53e5f0], 0
je 0x472906
mov edx, 0x46e778
mov eax, dword [0x53e5f0]
call fcn.004674d8
cmp dword [0x53e614], 0
je 0x47291e
mov edx, 0x46e810
mov eax, dword [0x53e614]
call fcn.004674d8
cmp dword [0x53e618], 0
je 0x472936
mov edx, 0x46e838
mov eax, dword [0x53e618]
call fcn.004674d8
cmp dword [0x53e61c], 0
je 0x472960
mov byte [0x53e5c8], 1
mov eax, 0x18
call sub.rtl250.bpl__System__GetMem_qqri
mov dword [0x53efd4], eax
mov eax, dword [0x53efd4]
push eax
call sub.kernel32.dll_InitializeCriticalSection
cmp dword [0x53e5f4], 0
je 0x472a38
cmp dword [0x53e5f8], 0
je 0x472a38
lea edx, [ebp - 0x48]
mov eax, dword [0x53e5f4]
call fcn.00414de0
mov eax, dword [ebp - 0x28]
call sub.rtl250.bpl__System__DynArrayLength_qqrpxv
dec eax
jne 0x47299d
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xc]
mov dword [0x53e5f4], eax
lea edx, [ebp - 0x48]
mov eax, dword [0x53e5f8]
call fcn.00414de0
mov eax, dword [ebp - 0x28]
call sub.rtl250.bpl__System__DynArrayLength_qqrpxv
dec eax
jne 0x4729c0
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xc]
mov dword [0x53e5f8], eax
lea edx, [ebp - 0x8c]
mov eax, dword [0x53e5f4]
call fcn.00413ae0
jmp 0x472a26
mov esi, dword [ebp - 0x84]
test esi, esi
je 0x472a05
cmp esi, dword [0x53e5f8]
jne 0x472a05
cmp dword [ebp - 0x78], 4
jne 0x472a38
cmp byte [ebp - 0x85], 0
je 0x472a38
mov edx, 0x46ea28
sub edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x80]
call fcn.00467530
jmp 0x472a38
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00413ae0
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 0x4729d2
cmp dword [0x53e610], 0
je 0x472ace
mov esi, sub.rtl250.bpl__System_AcquireExceptionObject_qqrv
cmp word [esi], 0x25ff
jne 0x472a58
add esi, 2
mov eax, dword [esi]
mov esi, dword [eax]
lea edx, [ebp - 0x8c]
mov eax, dword [0x53e610]
call fcn.00413ae0
jmp 0x472abc
mov edi, dword [ebp - 0x84]
test edi, edi
je 0x472a99
cmp esi, edi
jne 0x472a99
cmp dword [ebp - 0x78], 4
jne 0x472ace
cmp byte [ebp - 0x85], 0
je 0x472ace
mov edx, 0x46e8e8
sub edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x80]
call fcn.00467530
jmp 0x472ace
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00413ae0
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 0x472a6a
call fcn.00471518
lea edx, [ebp - 0x8c]
call fcn.00413ae0
mov byte [ebp - 0x49], 0
jmp 0x472b39
cmp byte [ebp - 0x85], 0
je 0x472b18
cmp dword [ebp - 0x78], 4
jne 0x472b18
cmp dword [ebp - 0x84], 0
je 0x472b18
cmp byte [ebp - 0x49], 0
je 0x472b14
mov edx, 0x46e944
sub edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x80]
call fcn.00467530
jmp 0x472b4b
mov byte [ebp - 0x49], 1
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00413ae0
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 0x472ae4
call fcn.00471518
lea edx, [ebp - 0x8c]
call fcn.00413ae0
jmp 0x472bb1
mov esi, dword [ebp - 0x84]
test esi, esi
je 0x472b90
cmp esi, dword [0x53e624]
jne 0x472b90
cmp dword [ebp - 0x78], 4
jne 0x472bc3
cmp byte [ebp - 0x85], 0
je 0x472bc3
mov edx, 0x46eb0c
sub edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x80]
call fcn.00467530
jmp 0x472bc3
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00413ae0
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 0x472b5d
mov esi, dword [0x53e620]
test esi, esi
je 0x472c47
cmp dword [0x53e624], 0
je 0x472c47
lea edx, [ebp - 0x8c]
mov eax, esi
call fcn.00413ae0
jmp 0x472c35
mov eax, dword [ebp - 0x84]
cmp eax, dword [0x53e624]
jne 0x472c14
cmp dword [ebp - 0x78], 4
jne 0x472c47
cmp byte [ebp - 0x85], 0
je 0x472c47
mov edx, 0x46eb14
sub edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x80]
call fcn.00467530
jmp 0x472c47
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00413ae0
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 0x472be5
mov esi, dword [0x53e624]
test esi, esi
je 0x472cc2
lea edx, [ebp - 0x8c]
mov eax, esi
call fcn.00413ae0
jmp 0x472cb0
mov eax, dword [ebp - 0x84]
cmp eax, dword [0x53e624]
jne 0x472c8f
cmp dword [ebp - 0x78], 4
jne 0x472cc2
cmp byte [ebp - 0x85], 0
je 0x472cc2
mov edx, 0x46eb24
sub edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x80]
call fcn.00467530
jmp 0x472cc2
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00413ae0
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 0x472c60
call fcn.00471554
lea edx, [ebp - 0x8c]
call fcn.00413ae0
jmp 0x472cf5
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00413ae0
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x8c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x8c], 0
je 0x472d36
cmp word [ebp - 0x8a], 0x8b
jne 0x472d24
cmp byte [ebp - 0x88], 0x15
jne 0x472d24
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 0x472d36
movzx eax, word [ebp - 0x8a]
add eax, 0xffffff3e
sub ax, 2
jae 0x472cd4
cmp word [ebp - 0x8a], 0x8b
jne 0x472d51
mov edx, 0x53efc4
mov eax, dword [ebp - 0x70]
add eax, 2
call fcn.00467530
call fcn.00471568
lea edx, [ebp - 0x8c]
call fcn.00413ae0
jmp 0x472d84
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00413ae0
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x8c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x8c], 0
je 0x472dc5
cmp word [ebp - 0x8a], 0xff
jne 0x472db3
cmp byte [ebp - 0x88], 0x15
jne 0x472db3
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 0x472dc5
movzx eax, word [ebp - 0x8a]
add eax, 0xffffff3e
sub ax, 2
jae 0x472d63
cmp word [ebp - 0x8a], 0xff
jne 0x472de0
mov edx, 0x53efc8
mov eax, dword [ebp - 0x70]
add eax, 2
call fcn.00467530
mov eax, dword [sym.imp.rtl250.bpl__System_RaiseExceptionProc]
mov eax, dword [eax]
mov dword [0x53efcc], eax
call fcn.0047157c
lea edx, [ebp - 0x8c]
call fcn.00413ae0
jmp 0x472e1f
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00413ae0
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x8c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x8c], 0
je 0x472e4e
cmp word [ebp - 0x8a], 0xff
jne 0x472e3c
cmp byte [ebp - 0x88], 0x25
je 0x472e4e
movzx eax, word [ebp - 0x8a]
add eax, 0xffffff3e
sub ax, 2
jae 0x472dfe
cmp word [ebp - 0x8a], 0xff
jne 0x472e69
mov edx, 0x53efd0
mov eax, dword [ebp - 0x70]
add eax, 2
call fcn.00467530
call fcn.00471540
mov esi, eax
lea edx, [ebp - 0x8c]
mov eax, esi
call fcn.00413ae0
jmp 0x472ea2
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00413ae0
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 0x472eb4
cmp byte [ebp - 0x87], 0
je 0x472e7f
mov eax, dword [ebp - 0x84]
mov dword [0x53e6a0], eax
mov edx, 0x46f20c
mov eax, esi
call fcn.004674d8
lea edx, [ebp - 0x8c]
mov eax, sub.rtl250.bpl__System_TObject_Free_qqrv
call fcn.00413ae0
mov eax, dword [ebp - 0x84]
test eax, eax
je 0x472ee9
mov esi, eax
jmp 0x472eee
mov esi, sub.rtl250.bpl__System_TObject_Free_qqrv
call fcn.00471504
lea edx, [ebp - 0x8c]
call fcn.00413ae0
jmp 0x472f4c
cmp esi, dword [ebp - 0x84]
jne 0x472f29
cmp dword [ebp - 0x78], 4
jne 0x472f5e
cmp byte [ebp - 0x85], 0
je 0x472f5e
mov edx, 0x46f4e8
sub edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x80]
call fcn.00467530
jmp 0x472f5e
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x6c]
call fcn.00413ae0
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 0x472f00
call fcn.0047152c
mov edx, 0x46f4f8
call fcn.004674d8
cmp dword [0x53e5fc], 0
je 0x472fc0
cmp dword [0x53e604], 0
je 0x472fc0
mov edx, 0x46da2c
mov eax, dword [0x53e5fc]
call fcn.004674d8
mov edx, 0x406670
mov eax, dword [0x53e604]
call fcn.004674d8
cmp dword [0x53e600], 0
je 0x472fb5
mov edx, 0x46da88
mov eax, dword [0x53e600]
call fcn.004674d8
mov eax, dword [0x53fc18]
mov dword [eax], 0x46d9b4
push 0
push 0
call sub.kernel32.dll_GetCurrentProcess
push eax
call sub.kernel32.dll_FlushInstructionCache
call fcn.0046564c
call fcn.00443994
mov esi, 0x401240
cmp word [esi], 0x25ff
jne 0x472fec
add esi, 2
mov eax, dword [esi]
mov esi, dword [eax]
mov dword [0x53efe0], esi
lea edx, [ebp - 0x48]
mov eax, esi
call fcn.00414de0
cmp byte [ebp - 0x48], 0
je 0x47300d
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x3c]
mov dword [0x53efe4], eax
push 0
call sub.kernel32.dll_GetModuleHandleW
cmp eax, dword [0x53e64c]
je 0x473025
cmp byte [0x53e658], 0
je 0x47302f
mov eax, dword [0x53ee8c]
call fcn.004700c8
mov eax, ebx
call fcn.00436fa8
mov eax, dword [0x53ee8c]
mov edx, dword [eax]
call dword [edx + 0x37c]
test al, al
je 0x47305e
mov eax, dword [0x53ee8c]
mov edx, dword [eax]
call dword [edx + 0x380]
mov dword [0x53eed0], eax
call fcn.00444028
call fcn.004657e8
mov eax, 0x46e438
test eax, eax
jmp 0x47309c
lea eax, [ebp - 4]
call fcn.004334d8
cmp dword [ebp - 4], 0
je 0x473086
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov dword [0x53e550], eax
jmp 0x473092
mov eax, dword [sym.imp.rtl250.bpl__System_MainThreadID]
mov eax, dword [eax]
mov dword [0x53e550], eax
mov eax, 0x53ee8c
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 0x4730f0
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 [0x40f8c4]
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 [0x40625c]
call sub.rtl250.bpl__System__DynArrayClear_qqrrpvpv
ret