Function at 0x425bfa
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push 0x28
mov eax, 0x46c479
call fcn.00467be3
mov esi, ecx
lea eax, [ebp - 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
push 0x10
call sub.mfc90.dll_Ordinal_798
pop ecx
mov dword [ebp - 0x1c], eax
xor edi, edi
mov dword [ebp - 4], edi
cmp eax, edi
je 0x425c3c
mov ecx, eax
call fcn.0041ca2b
mov dword [ebp - 0x14], eax
jmp 0x425c3f
mov dword [ebp - 0x14], edi
or dword [ebp - 4], 0xffffffff
mov ecx, esi
cmp dword [ebp + 0xc], edi
je 0x425c51
call fcn.00422137
jmp 0x425c62
cmp dword [ebp + 0x10], edi
je 0x425c5d
call fcn.0042195d
jmp 0x425c62
mov eax, dword [esi]
call dword [eax + 8]
fstp dword [ebp - 0x10]
push ecx
fld dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
fstp dword [esp]
call fcn.0041ca67
lea eax, [esi + 0x390]
cmp dword [eax], edi
je 0x425c9b
mov ebx, dword [eax]
call dword [sym.imp.MSVCR90.dll_rand]
mov ecx, ebx
shr ecx, 0x10
test ecx, eax
jne 0x425c9b
movzx eax, bx
mov dword [ebp - 0x10], eax
fild dword [ebp - 0x10]
fstp dword [ebp - 0x10]
cmp dword [esi + 0x370], edi
je 0x425cc1
fld dword [ebp - 0x10]
push ecx
lea ebx, [esi + 0x280]
fstp dword [esp]
mov ecx, ebx
call fcn.0041cb9f
mov ecx, ebx
call fcn.0041cbbe
fstp dword [ebp - 0x10]
lea ecx, [esi + 0x240]
call dword [sym.imp.mfc90.dll_Ordinal_4311]
test al, al
jne 0x425d01
cmp dword [esi + 0x248], edi
je 0x425d01
fld dword [ebp - 0x10]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00422152
lea ebx, [esi + 4]
mov ecx, ebx
call dword [sym.imp.RTFC.dll_public:_long_int___thiscall_CFormulaTranslator::Calc_void_]
test eax, eax
jl 0x425d01
mov ecx, ebx
call dword [sym.imp.RTFC.dll_public:_float___thiscall_CFormulaTranslator::GetFltValue_void_]
fstp dword [ebp - 0x10]
mov ecx, esi
call fcn.0042232e
fstp dword [ebp - 0x1c]
mov ecx, esi
call fcn.00422363
fstp dword [ebp - 0x18]
fld dword [ebp - 0x10]
xor ebx, ebx
fld st(0)
fld qword [0x477c18]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x425d8d
fld dword [ebp - 0x18]
xor edx, edx
fld st(0)
fucomp st(2)
fnstsw ax
test ah, 0x44
jnp 0x425d3e
inc edx
fld dword [ebp - 0x1c]
xor ecx, ecx
fld st(0)
fucomp st(3)
fnstsw ax
fstp st(2)
test ah, 0x44
jnp 0x425d51
inc ecx
cmp edx, edi
je 0x425d87
cmp ecx, edi
je 0x425d79
fcom st(1)
fnstsw ax
test ah, 5
jp 0x425d79
fcomp st(2)
fnstsw ax
test ah, 0x41
jp 0x425d8d
fcompp
fnstsw ax
test ah, 1
jne 0x425d91
xor ebx, ebx
inc ebx
jmp 0x425d91
fcomp st(2)
fnstsw ax
test ah, 0x41
jp 0x425d89
xor ebx, ebx
inc ebx
jmp 0x425d89
fstp st(0)
cmp ecx, edi
jne 0x425d6b
fstp st(0)
fstp st(0)
lea edi, [esi + 0x374]
cmp dword [edi], ebx
je 0x425dbd
test ebx, ebx
je 0x425dad
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x37c], eax
jmp 0x425db4
and dword [esi + 0x37c], 0
and dword [esi + 0x378], 0
mov dword [edi], ebx
mov edi, dword [ebp - 0x14]
push dword [ebp + 8]
mov ecx, edi
call fcn.0041ca4b
fld dword [ebp - 0x10]
push ecx
mov ecx, edi
fstp dword [esp]
call fcn.0041ca59
push edi
lea ecx, [esi + 0x250]
call fcn.0042cc10
test eax, eax
jne 0x425df4
test edi, edi
je 0x425df4
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax]
lea eax, [ebp + 8]
push eax
mov ecx, esi
call fcn.00425b80
fld dword [ebp - 0x10]
push ecx
push ecx
mov ecx, eax
fstp qword [esp]
mov dword [ebp - 4], 1
call dword [sym.imp.mfc90.dll_Ordinal_910]
push eax
lea eax, [esi + 0x3bc]
push eax
call dword [sym.imp.mfc90.dll_Ordinal_2539]
add esp, 0x10
lea ecx, [ebp + 8]
call dword [sym.imp.mfc90.dll_Ordinal_601]
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
cmp dword [ebp + 0xc], 0
jne 0x425e6c
cmp dword [ebp + 0x10], 0
jne 0x425e6c
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
sbb ecx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], ecx
fild qword [ebp - 0x2c]
fmul qword [0x4785c0]
fild qword [ebp - 0x34]
fdivp st(1)
fstp dword [esi + 0x24c]
call fcn.00467c82
ret 0xc