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

Disassembly:
sub esp, 0x25c
mov eax, dword [0x5107c0]
xor eax, esp
mov dword [esp + 0x254], eax
push ebx
push ebp
push esi
push edi
mov ebp, ecx
mov dword [esp + 0x140], 0xddf8a00b
mov dword [esp + 0x144], 0xb31fa6fe
xor esi, esi
mov dword [esp + 0x148], 0x569fdfd8
mov dword [esp + 0x14c], 0x780f056a
call fcn.004b5737
and eax, 0x800000ff
jns 0x40fe86
dec eax
or eax, 0xffffff00
inc eax
je 0x40fe73
mov byte [esp + esi + 0x150], al
inc esi
cmp esi, 0x10
jl 0x40fe73
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x154]
push eax
call fcn.0046c22c
pop ecx
pop ecx
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov edi, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push 0x3200000
push 0
call edi
mov esi, dword [sym.imp.KERNEL32.dll_HeapAlloc]
push eax
call esi
push 0x3200000
push 0
mov ebx, eax
call edi
push eax
call esi
mov edi, eax
test ebx, ebx
je 0x4100f3
test edi, edi
je 0x4100ec
push 1
call dword [sym.imp.USER32.dll_ShowCursor]
push 0x7f02
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov esi, dword [sym.imp.KERNEL32.dll_VirtualLock]
push 0x3200000
push ebx
call esi
push 0x3200000
push edi
call esi
mov esi, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea eax, [esp + 0x28]
push eax
call esi
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x144]
push eax
push 0x3200000
push edi
push ebx
call fcn.0046c67e
add esp, 0x14
lea eax, [esp + 0x40]
push eax
call esi
lea eax, [esp + 0x38]
push eax
call esi
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x144]
push eax
push 0x3200000
push edi
push ebx
call fcn.0046c3d7
add esp, 0x14
lea eax, [esp + 0x30]
push eax
call esi
mov ecx, dword [esp + 0x40]
sub ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x44]
sbb edx, dword [esp + 0x2c]
call fcn.004b5fff
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x14], xmm0
call fcn.004b5fff
movss xmm1, dword [esp + 0x14]
cvtsd2ss xmm0, xmm0
divss xmm1, xmm0
movss xmm0, dword [0x4e8d48]
divss xmm0, xmm1
call fcn.004b5c6f
mov dword [esp + 0x14], edx
mov ecx, 0x8d53595
push 0xb7829636
mov edx, 0x6ddd9fc8
mov dword [esp + 0x14], eax
call fcn.004014a6
lea esi, [esp + 0x164]
pop ecx
sub esi, eax
movzx ecx, word [eax]
mov word [esi + eax], cx
lea eax, [eax + 2]
test cx, cx
jne 0x40ffe9
push dword [esp + 0x14]
lea ecx, [esp + 0x174]
push dword [esp + 0x14]
call fcn.0040fd90
mov edx, dword [esp + 0x3c]
mov esi, eax
pop ecx
pop ecx
mov ecx, dword [esp + 0x30]
sub ecx, dword [esp + 0x38]
mov dword [esp + 0x14], esi
sbb edx, dword [esp + 0x3c]
call fcn.004b5fff
mov edx, dword [esp + 0x1c]
xorps xmm1, xmm1
mov ecx, dword [esp + 0x18]
cvtsd2ss xmm1, xmm0
movss dword [esp + 0x10], xmm1
call fcn.004b5fff
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [esp + 0x10]
divss xmm0, xmm1
movss xmm1, dword [0x4e8d48]
divss xmm1, xmm0
movaps xmm0, xmm1
call fcn.004b5c6f
mov dword [esp + 0x10], edx
mov ecx, 0xe9a44df3
push 0x56f3ee7c
mov edx, 0x8cace782
mov dword [esp + 0x28], eax
call fcn.004014a6
pop ecx
sub esi, eax
movzx ecx, word [eax]
mov word [esi + eax], cx
lea eax, [eax + 2]
test cx, cx
jne 0x410087
push dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
push dword [esp + 0x28]
add ecx, 0x10
call fcn.0040fd90
pop ecx
pop ecx
lea eax, [esp + 0x160]
push eax
push 0xe
push ebp
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov esi, dword [sym.imp.KERNEL32.dll_VirtualUnlock]
mov ebp, 0x3200000
push ebp
push ebx
call esi
push ebp
push edi
call esi
push 0
call dword [sym.imp.USER32.dll_ShowCursor]
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
push ebx
call fcn.0040746c
pop ecx
test edi, edi
je 0x4100fe
push edi
call fcn.0040746c
pop ecx
mov ecx, dword [esp + 0x264]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004b35e5
add esp, 0x25c
ret