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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x424
mov eax, dword [0x1005d014]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
push edi
mov edi, dword [esi + 0x154]
test edi, edi
je 0x10010c9b
xor ebx, ebx
cmp dword [edi + 0xb4], ebx
jl 0x1001096a
jg 0x100108fa
cmp dword [edi + 0xb0], ebx
jbe 0x1001096a
mov eax, dword [edi + 0xc0]
test eax, eax
jle 0x10010920
movd xmm0, dword [edi + 0xc4]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm1, dword [0x10058f50]
jmp 0x10010962
mov edx, dword [edi + 0xbc]
mov ecx, dword [edi + 0xb8]
call fcn.1004cae0
mov edx, dword [edi + 0xb4]
mov ecx, dword [edi + 0xb0]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x10058f50]
movss dword [ebp - 0x41c], xmm0
call fcn.1004cae0
movss xmm1, dword [ebp - 0x41c]
cvtsd2ss xmm0, xmm0
divss xmm1, xmm0
cvttss2si ebx, xmm1
mov eax, dword [edi + 0x4c]
shr eax, 9
test al, 1
jne 0x10010994
cmp byte [esi + 0x10], 0
jne 0x10010994
mov byte [esi + 0x10], 1
mov ecx, 0x100914f8
mov eax, dword [0x100914f8]
call dword [eax + 0x20]
push eax
lea ecx, [esi + 0x64]
call fcn.10012990
mov ecx, dword [esi + 0x1c8]
mov eax, ecx
sub eax, dword [esi + 0x168]
imul eax, eax, 0x64
movd xmm1, ebx
movd xmm0, ecx
cvtdq2ps xmm1, xmm1
cdq
idiv ecx
cvtdq2ps xmm0, xmm0
mov edx, 0x63
movd xmm2, eax
divss xmm1, xmm0
cvtdq2ps xmm2, xmm2
addss xmm2, xmm1
cvttss2si eax, xmm2
cmp eax, 0x64
cmovg eax, edx
cmp dword [esi + 0x140], 0
mov dword [ebp - 0x41c], eax
je 0x10010c9b
cmp byte [esi + 0x6d], 0
jne 0x10010c9b
push ecx
push dword [esi + 0x1cc]
lea eax, [ebp - 0x14]
push str._d____d
push 0x10
push eax
call fcn.100099d0
add esp, 0x14
lea eax, [ebp - 0x14]
push eax
push 0x407
push dword [esi + 0x140]
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov eax, dword [ebp - 0x41c]
push 0
push eax
push 0x402
push dword [esi + 0x144]
mov dword [esi + 0xf8], eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esi + 0x118]
test eax, eax
je 0x10010a68
mov ecx, dword [eax]
mov eax, dword [ebp - 0x41c]
push 0
push 0x64
cdq
push edx
push eax
push dword [esi + 0x140]
push dword [esi + 0x118]
call dword [ecx + 0x24]
push 0
push ebx
push 0x402
push dword [esi + 0x148]
mov dword [esi + 0xfc], ebx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esi + 0x154]
cmp dword [eax + 0x68], 0
jne 0x10010a95
mov eax, 0x1005409c
jmp 0x10010a98
mov eax, dword [eax + 0x5c]
push eax
push 0x3ef
push dword [esi + 0x140]
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov eax, dword [esi + 0x154]
mov ecx, dword [eax + 0xc0]
test ecx, ecx
jle 0x10010b66
mov eax, dword [eax + 0xc4]
cmp eax, 0x200000
jl 0x10010b66
movd xmm1, ecx
movd xmm0, eax
cvtdq2pd xmm3, xmm0
push ecx
lea ecx, [esi + 0x64]
cvtdq2pd xmm2, xmm1
call fcn.10012e60
mov eax, dword [esi + 0x154]
movsd xmm0, qword [esi + 0x1b0]
mov al, byte [eax + 0x4c]
and al, 1
ucomisd xmm0, qword [0x10058f58]
lahf
test ah, 0x44
jp 0x10010b13
push 0x100562a0
jmp 0x10010be7
test al, al
mov eax, dword [esi + 0x68]
je 0x10010b33
test eax, eax
je 0x10010b2a
cmp eax, 1
je 0x10010b2a
mov eax, 0x100562a0
jmp 0x10010b4a
mov eax, dword [eax*4 + 0x10054730]
jmp 0x10010b4a
test eax, eax
je 0x10010b43
cmp eax, 1
je 0x10010b43
mov eax, 0x100562a0
jmp 0x10010b4a
mov eax, dword [eax*4 + 0x10054738]
push eax
push 0x10057280
lea eax, [ebp - 0x418]
push 0x200
push eax
call fcn.1000c050
add esp, 0x10
jmp 0x10010be0
movsd xmm3, qword [esi + 0x198]
movsd xmm2, qword [esi + 0x1a0]
push ecx
lea ecx, [esi + 0x64]
call fcn.10012e60
movsd xmm0, qword [esi + 0x1b0]
ucomisd xmm0, qword [0x10058f58]
lahf
test ah, 0x44
jp 0x10010b9c
push 0x100562a0
jmp 0x10010be7
mov eax, dword [esi + 0x68]
test eax, eax
je 0x10010baf
cmp eax, 1
je 0x10010baf
mov eax, 0x100562a0
jmp 0x10010bb6
mov eax, dword [eax*4 + 0x10054768]
push eax
push ecx
movaps xmm1, xmm0
lea ecx, [esi + 0x64]
call fcn.10012db0
add esp, 4
push eax
push str._s____s
lea eax, [ebp - 0x418]
push 0x200
push eax
call fcn.1000c050
add esp, 0x14
lea eax, [ebp - 0x418]
push eax
push 0x3f2
push dword [esi + 0x140]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
movss xmm0, dword [esi + 0x1d0]
ucomiss xmm0, dword [0x10058f20]
lahf
test ah, 0x44
jp 0x10010c9b
mov eax, dword [esi + 0x1cc]
cmp eax, dword [esi + 0x1c8]
jne 0x10010c9b
mov eax, dword [0x10092e90]
or eax, dword [0x10092e94]
mov edi, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
jne 0x10010c44
push 0x10092e90
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
push 0x10092e88
call edi
lea eax, [ebp - 0x420]
push eax
call edi
mov ecx, dword [ebp - 0x420]
sub ecx, dword [0x10092e88]
mov edx, dword [ebp - 0x41c]
sbb edx, dword [0x10092e8c]
call fcn.1004cae0
mov edx, dword [0x10092e94]
mov ecx, dword [0x10092e90]
movsd qword [ebp - 0x420], xmm0
call fcn.1004cae0
movsd xmm1, qword [ebp - 0x420]
divsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [esi + 0x1d0], xmm0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1002bc85
mov esp, ebp
pop ebp
ret