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

Disassembly:
sub esp, 0x25c
mov eax, dword [0x518450]
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.004bc020
and eax, 0x800000ff
jns 0x4195f2
dec eax
or eax, 0xffffff00
inc eax
je 0x4195df
mov byte [esp + esi + 0x150], al
inc esi
cmp esi, 0x10
jl 0x4195df
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x154]
push eax
call fcn.00473c35
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 0x41985f
test edi, edi
je 0x419858
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.00476301
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.0047398e
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.004c03df
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x14], xmm0
call fcn.004c03df
movss xmm1, dword [esp + 0x14]
cvtsd2ss xmm0, xmm0
divss xmm1, xmm0
movss xmm0, dword [0x4efd48]
divss xmm0, xmm1
call fcn.004c004f
mov dword [esp + 0x14], edx
mov ecx, 0x8fd46aa9
push 0x18976676
mov edx, 0x945860c
mov dword [esp + 0x14], eax
call fcn.0040198e
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 0x419755
push dword [esp + 0x14]
lea ecx, [esp + 0x16c]
push dword [esp + 0x14]
call fcn.004194fc
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.004c03df
mov edx, dword [esp + 0x1c]
xorps xmm1, xmm1
mov ecx, dword [esp + 0x18]
cvtsd2ss xmm1, xmm0
movss dword [esp + 0x10], xmm1
call fcn.004c03df
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [esp + 0x10]
divss xmm0, xmm1
movss xmm1, dword [0x4efd48]
divss xmm1, xmm0
movaps xmm0, xmm1
call fcn.004c004f
mov dword [esp + 0x10], edx
mov ecx, 0x617b9c0b
push 0xf63890e4
mov edx, 0xe7ea7092
mov dword [esp + 0x28], eax
call fcn.0040198e
pop ecx
sub esi, eax
movzx ecx, word [eax]
mov word [esi + eax], cx
lea eax, [eax + 2]
test cx, cx
jne 0x4197f3
push dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
push dword [esp + 0x28]
add ecx, 0x10
call fcn.004194fc
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.0040507c
pop ecx
test edi, edi
je 0x41986a
push edi
call fcn.0040507c
pop ecx
mov ecx, dword [esp + 0x264]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004b9a6c
add esp, 0x25c
ret