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

Disassembly:
sub esp, 0x20
push ebx
push ebp
push esi
push edi
lea eax, [esp + 0x28]
push eax
mov byte [esp + 0x16], 0
mov byte [esp + 0x17], 0
mov byte [esp + 0x18], 0
mov byte [esp + 0x19], 0
mov byte [esp + 0x1a], 0
mov byte [esp + 0x1b], 0
call dword [sym.imp.kernel32.dll_QueryPerformanceCounter]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
push 0
push 0x3e8
push ecx
push edx
call fcn.006292c0
mov ecx, dword [0x6a60a4]
push ecx
mov ecx, dword [0x6a60a0]
push ecx
push edx
push eax
call fcn.00634420
mov ebp, dword [0x6883f0]
xor edx, edx
mov dword [0x704338], edx
mov dword [0x70433c], edx
mov dword [0x704340], edx
mov dword [0x704344], edx
mov dword [0x704348], edx
mov dword [0x70434c], edx
mov dword [0x704350], edx
mov dword [0x704354], edx
mov dword [0x704358], edx
xor esi, esi
mov edi, eax
mov dword [0x70435c], edx
xor ebx, ebx
mov ecx, ebx
call fcn.0048f1e0
movsx ecx, word [ebx*2 + 0x7021d0]
inc esi
cmp ebx, 0x66
ja case.0x48d3c5.1
movzx edx, byte [ebx + 0x48dea8]
jmp dword [edx*4 + 0x48de8c]
mov ecx, dword [0x6883d8]
cmp ecx, 0xffffffff
je 0x48d3df
cmp esi, ecx
jne 0x48d52b
test al, al
jbe 0x48d40e
mov edx, dword [0x6883d4]
mov eax, edi
sub eax, edx
cmp eax, 0x15e
jb 0x48d52b
mov byte [esp + 0x12], 1
mov dword [0x6883d4], edi
mov dword [0x6883d8], esi
jmp 0x48d52b
mov dword [0x6883d4], 0
mov dword [0x6883d8], 0xffffffff
jmp 0x48d52b
mov ecx, dword [0x6883e0]
cmp ecx, 0xffffffff
je 0x48d43a
cmp esi, ecx
jne 0x48d52b
test al, al
jbe 0x48d46a
mov edx, dword [0x6883dc]
mov ecx, edi
sub ecx, edx
cmp ecx, 0x15e
jb 0x48d52b
mov byte [esp + 0x13], 1
mov dword [0x6883dc], edi
mov dword [0x6883e0], esi
jmp 0x48d52b
mov dword [0x6883dc], 0
mov dword [0x6883e0], 0xffffffff
jmp 0x48d52b
mov ecx, dword [0x6883e8]
cmp ecx, 0xffffffff
je 0x48d496
cmp esi, ecx
jne 0x48d52b
test al, al
jbe 0x48d4bf
mov ecx, dword [0x6883e4]
mov edx, edi
sub edx, ecx
cmp edx, 0x15e
jb 0x48d52b
mov byte [esp + 0x14], 1
mov dword [0x6883e4], edi
mov dword [0x6883e8], esi
jmp 0x48d52b
mov dword [0x6883e4], 0
mov dword [0x6883e8], 0xffffffff
jmp 0x48d52b
cmp ebp, 0xffffffff
je 0x48d4de
cmp esi, ebp
jne 0x48d52b
test al, al
jbe 0x48d502
mov edx, dword [0x6883ec]
mov eax, edi
sub eax, edx
cmp eax, 0x15e
jb 0x48d52b
mov byte [esp + 0x15], 1
mov dword [0x6883ec], edi
mov ebp, esi
jmp 0x48d52b
mov dword [0x6883ec], 0
or ebp, 0xffffffff
jmp 0x48d52b
sub ecx, 8
je case.0x48d3c5.56
dec ecx
jne 0x48d52b
cmp al, 1
jne 0x48d52b
mov byte [esp + 0x17], al
jmp 0x48d52b
cmp al, 1
jne 0x48d52b
mov byte [esp + 0x16], al
inc ebx
cmp ebx, 0x6d
jl 0x48d3a5
xor edx, edx
mov dword [0x6883f0], ebp
mov dword [esp + 0x18], edx
jmp 0x48d550
mov edx, dword [esp + 0x18]
jmp 0x48d550
movsx ebp, dx
mov ebx, dword [ebp*4 + 0x6ac490]
xor eax, eax
cmp ebx, 0xffffffff
mov dword [esp + 0x20], eax
je 0x48d575
lea ecx, [ebx + ebx*8]
shl ecx, 6
mov ecx, dword [ecx + 0x6ab248]
mov dword [esp + 0x20], ecx
cmp ebx, 0xffffffff
mov dword [esp + 0x24], eax
je 0x48d58e
lea ecx, [ebx + ebx*8]
shl ecx, 6
mov ecx, dword [ecx + 0x6ab244]
mov dword [esp + 0x24], ecx
cmp ebx, 0xffffffff
mov dword [esp + 0x28], eax
je 0x48d5a7
lea ecx, [ebx + ebx*8]
shl ecx, 6
mov ecx, dword [ecx + 0x6ab24c]
mov dword [esp + 0x28], ecx
cmp ebx, 0xffffffff
mov dword [esp + 0x1c], eax
je 0x48d5d3
mov al, byte [0x6aada1]
test al, al
je 0x48d5c3
mov dword [esp + 0x1c], 0x6ac4a0
jmp 0x48d5d3
lea eax, [ebp + ebp*4]
shl eax, 5
add eax, 0x6ac210
mov dword [esp + 0x1c], eax
mov cx, word [edx*4 + 0x7023c6]
cmp cx, 0xffff
je 0x48d612
cmp ebx, 0xffffffff
je 0x48d612
mov al, byte [0x6aada1]
test al, al
je 0x48d5f6
mov eax, 0x6ac4a0
jmp 0x48d604
lea eax, [ebp + ebp*4]
shl eax, 5
add eax, 0x6ac210
je 0x48d612
movsx ecx, cx
cmp byte [ecx + eax], 1
jne 0x48d612
mov byte [esp + 0x16], 1
mov cx, word [edx*4 + 0x7023c8]
cmp cx, 0xffff
je 0x48d651
cmp ebx, 0xffffffff
je 0x48d651
mov al, byte [0x6aada1]
test al, al
je 0x48d635
mov eax, 0x6ac4a0
jmp 0x48d643
lea eax, [ebp + ebp*4]
shl eax, 5
add eax, 0x6ac210
je 0x48d651
movsx edx, cx
cmp byte [edx + eax], 1
jne 0x48d651
mov byte [esp + 0x17], 1
mov eax, dword [esp + 0x20]
xor ebp, ebp
test eax, eax
jle 0x48d814
mov edx, dword [esp + 0x18]
shl edx, 6
add edx, 0x7022c6
lea esp, [esp]
xor cl, cl
cmp ebx, 0xffffffff
je 0x48d69f
mov al, byte [0x6aada1]
test al, al
je 0x48d687
mov eax, 0x6ac4a0
jmp 0x48d699
movsx eax, word [esp + 0x18]
lea eax, [eax + eax*4]
shl eax, 5
add eax, 0x6ac210
je 0x48d69f
movsx ecx, bp
mov cl, byte [ecx + eax]
movsx eax, word [edx]
add eax, 0xffffffed
inc esi
cmp eax, 7
ja case.default.0x48d6af
jmp dword [eax*4 + 0x48df10]
mov eax, dword [0x6883d8]
cmp eax, 0xffffffff
je 0x48d6c8
cmp esi, eax
jne case.default.0x48d6af
test cl, cl
jbe 0x48d6f7
mov ecx, dword [0x6883d4]
mov eax, edi
sub eax, ecx
cmp eax, 0x15e
jb case.default.0x48d6af
mov byte [esp + 0x12], 1
mov dword [0x6883d4], edi
mov dword [0x6883d8], esi
jmp case.default.0x48d6af
mov dword [0x6883d4], 0
mov dword [0x6883d8], 0xffffffff
jmp case.default.0x48d6af
mov eax, dword [0x6883e0]
cmp eax, 0xffffffff
je 0x48d722
cmp esi, eax
jne case.default.0x48d6af
test cl, cl
jbe 0x48d751
mov eax, dword [0x6883dc]
mov ecx, edi
sub ecx, eax
cmp ecx, 0x15e
jb case.default.0x48d6af
mov byte [esp + 0x13], 1
mov dword [0x6883dc], edi
mov dword [0x6883e0], esi
jmp case.default.0x48d6af
mov dword [0x6883dc], 0
mov dword [0x6883e0], 0xffffffff
jmp case.default.0x48d6af
mov eax, dword [0x6883e8]
cmp eax, 0xffffffff
je 0x48d77c
cmp esi, eax
jne case.default.0x48d6af
test cl, cl
jbe 0x48d7a4
mov ecx, dword [0x6883e4]
mov eax, edi
sub eax, ecx
cmp eax, 0x15e
jb case.default.0x48d6af
mov byte [esp + 0x14], 1
mov dword [0x6883e4], edi
mov dword [0x6883e8], esi
jmp case.default.0x48d6af
mov dword [0x6883e4], 0
mov dword [0x6883e8], 0xffffffff
jmp case.default.0x48d6af
mov eax, dword [0x6883f0]
cmp eax, 0xffffffff
je 0x48d7c8
cmp esi, eax
jne case.default.0x48d6af
test cl, cl
jbe 0x48d7f0
mov eax, dword [0x6883ec]
mov ecx, edi
sub ecx, eax
cmp ecx, 0x15e
jb case.default.0x48d6af
mov byte [esp + 0x15], 1
mov dword [0x6883ec], edi
mov dword [0x6883f0], esi
jmp case.default.0x48d6af
mov dword [0x6883ec], 0
mov dword [0x6883f0], 0xffffffff
mov eax, dword [esp + 0x20]
inc ebp
add edx, 2
cmp ebp, eax
jl 0x48d670
mov eax, dword [esp + 0x24]
xor edx, edx
test eax, eax
jle 0x48d9f2
mov eax, dword [esp + 0x1c]
mov ebx, dword [0x6883f0]
mov ebp, dword [0x6883e8]
add eax, 0x20
mov dword [esp + 0x20], eax
lea esp, [esp]
mov ecx, dword [esp + 0x20]
movsx eax, word [ecx]
inc esi
test eax, eax
jge 0x48d867
mov ecx, dword [esp + 0x18]
shl ecx, 5
add ecx, edx
movsx ecx, word [ecx*4 + 0x7023d8]
cmp eax, 0xfffff800
setle al
jmp 0x48d886
jle case.default.0x48d89e
mov ecx, dword [esp + 0x18]
shl ecx, 5
add ecx, edx
movsx ecx, word [ecx*4 + 0x7023d6]
cmp eax, 0x800
setge al
cmp ecx, 0x7fff
je case.default.0x48d89e
add ecx, 0xffffffed
cmp ecx, 7
ja case.default.0x48d89e
jmp dword [ecx*4 + 0x48df30]
mov ecx, dword [0x6883d8]
cmp ecx, 0xffffffff
je 0x48d8b8
cmp esi, ecx
jne case.default.0x48d89e
test al, al
je 0x48d8e7
mov ecx, dword [0x6883d4]
mov eax, edi
sub eax, ecx
cmp eax, 0x15e
jb case.default.0x48d89e
mov byte [esp + 0x12], 1
mov dword [0x6883d4], edi
mov dword [0x6883d8], esi
jmp case.default.0x48d89e
mov dword [0x6883d4], 0
mov dword [0x6883d8], 0xffffffff
jmp case.default.0x48d89e
mov ecx, dword [0x6883e0]
cmp ecx, 0xffffffff
je 0x48d913
cmp esi, ecx
jne case.default.0x48d89e
test al, al
je 0x48d942
mov eax, dword [0x6883dc]
mov ecx, edi
sub ecx, eax
cmp ecx, 0x15e
jb case.default.0x48d89e
mov byte [esp + 0x13], 1
mov dword [0x6883dc], edi
mov dword [0x6883e0], esi
jmp case.default.0x48d89e
mov dword [0x6883dc], 0
mov dword [0x6883e0], 0xffffffff
jmp case.default.0x48d89e
cmp ebp, 0xffffffff
je 0x48d961
cmp esi, ebp
jne case.default.0x48d89e
test al, al
je 0x48d985
mov ecx, dword [0x6883e4]
mov eax, edi
sub eax, ecx
cmp eax, 0x15e
jb case.default.0x48d89e
mov byte [esp + 0x14], 1
mov dword [0x6883e4], edi
mov ebp, esi
jmp case.default.0x48d89e
mov dword [0x6883e4], 0
or ebp, 0xffffffff
jmp case.default.0x48d89e
cmp ebx, 0xffffffff
je 0x48d99d
cmp esi, ebx
jne case.default.0x48d89e
test al, al
je 0x48d9c1
mov eax, dword [0x6883ec]
mov ecx, edi
sub ecx, eax
cmp ecx, 0x15e
jb case.default.0x48d89e
mov byte [esp + 0x15], 1
mov dword [0x6883ec], edi
mov ebx, esi
jmp case.default.0x48d89e
mov dword [0x6883ec], 0
or ebx, 0xffffffff
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
inc edx
add ecx, 2
cmp edx, eax
mov dword [esp + 0x20], ecx
jl 0x48d840
mov dword [0x6883f0], ebx
mov dword [0x6883e8], ebp
mov ecx, dword [esp + 0x28]
test ecx, ecx
jle 0x48dbcc
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [0x6883f0]
mov ebp, dword [0x6883e8]
shl eax, 8
add eax, 0x7025d6
add edx, 0x60
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
mov dword [esp + 0x1c], edx
inc esi
xor edx, edx
mov dword [esp + 0x28], eax
jmp 0x48da40
movsx ecx, word [eax]
cmp ecx, 0x7fff
je case.default.0x48da5b
add ecx, 0xffffffed
cmp ecx, 7
ja case.default.0x48da5b
jmp dword [ecx*4 + 0x48df50]
mov eax, dword [0x6883d8]
cmp eax, 0xffffffff
je 0x48da74
cmp esi, eax
jne case.default.0x48da5b
cmp edx, dword [esp + 0x1c]
jne 0x48daa5
mov ecx, dword [0x6883d4]
mov eax, edi
sub eax, ecx
cmp eax, 0x15e
jb case.default.0x48da5b
mov byte [esp + 0x12], 1
mov dword [0x6883d4], edi
mov dword [0x6883d8], esi
jmp case.default.0x48da5b
mov dword [0x6883d4], 0
mov dword [0x6883d8], 0xffffffff
jmp case.default.0x48da5b
mov eax, dword [0x6883e0]
cmp eax, 0xffffffff
je 0x48dad0
cmp esi, eax
jne case.default.0x48da5b
cmp edx, dword [esp + 0x1c]
jne 0x48db01
mov eax, dword [0x6883dc]
mov ecx, edi
sub ecx, eax
cmp ecx, 0x15e
jb case.default.0x48da5b
mov byte [esp + 0x13], 1
mov dword [0x6883dc], edi
mov dword [0x6883e0], esi
jmp case.default.0x48da5b
mov dword [0x6883dc], 0
mov dword [0x6883e0], 0xffffffff
jmp case.default.0x48da5b
cmp ebp, 0xffffffff
je 0x48db20
cmp esi, ebp
jne case.default.0x48da5b
cmp edx, dword [esp + 0x1c]
jne 0x48db46
mov ecx, dword [0x6883e4]
mov eax, edi
sub eax, ecx
cmp eax, 0x15e
jb case.default.0x48da5b
mov byte [esp + 0x14], 1
mov dword [0x6883e4], edi
mov ebp, esi
jmp case.default.0x48da5b
mov dword [0x6883e4], 0
or ebp, 0xffffffff
jmp case.default.0x48da5b
cmp ebx, 0xffffffff
je 0x48db5e
cmp esi, ebx
jne case.default.0x48da5b
cmp edx, dword [esp + 0x1c]
jne 0x48db84
mov eax, dword [0x6883ec]
mov ecx, edi
sub ecx, eax
cmp ecx, 0x15e
jb case.default.0x48da5b
mov byte [esp + 0x15], 1
mov dword [0x6883ec], edi
mov ebx, esi
jmp case.default.0x48da5b
mov dword [0x6883ec], 0
or ebx, 0xffffffff
mov eax, dword [esp + 0x28]
inc edx
add eax, 2
cmp edx, 8
mov dword [esp + 0x28], eax
jl 0x48da40
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
add edx, 4
dec ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ecx
jne 0x48da25
mov dword [0x6883f0], ebx
mov dword [0x6883e8], ebp
mov eax, dword [esp + 0x18]
inc eax
cmp eax, 4
mov dword [esp + 0x18], eax
jl 0x48d543
mov al, byte [esp + 0x12]
test al, al
mov ebx, 3
je 0x48dc0e
mov al, byte [0x704b60]
test al, al
je 0x48dc0e
xor eax, eax
lea edi, [esp + 0x28]
mov word [esp + 0x28], bx
mov byte [esp + 0x2c], 8
mov byte [esp + 0x2d], 1
call fcn.004909c0
mov al, byte [esp + 0x13]
test al, al
je 0x48dc39
mov al, byte [0x704b60]
test al, al
je 0x48dc39
xor eax, eax
lea edi, [esp + 0x28]
mov word [esp + 0x28], bx
mov byte [esp + 0x2c], 9
mov byte [esp + 0x2d], 1
call fcn.004909c0
mov al, byte [esp + 0x14]
test al, al
je 0x48dc64
mov al, byte [0x704b60]
test al, al
je 0x48dc64
xor eax, eax
lea edi, [esp + 0x28]
mov word [esp + 0x28], bx
mov byte [esp + 0x2c], 0xa
mov byte [esp + 0x2d], 1
call fcn.004909c0
mov al, byte [esp + 0x15]
test al, al
je 0x48dc8f
mov al, byte [0x704b60]
test al, al
je 0x48dc8f
xor eax, eax
lea edi, [esp + 0x28]
mov word [esp + 0x28], bx
mov byte [esp + 0x2c], 0xb
mov byte [esp + 0x2d], 1
call fcn.004909c0
mov al, byte [esp + 0x16]
test al, al
je 0x48dcba
mov al, byte [0x704b60]
test al, al
je 0x48dcba
xor eax, eax
lea edi, [esp + 0x28]
mov word [esp + 0x28], bx
mov byte [esp + 0x2c], 0
mov byte [esp + 0x2d], 1
call fcn.004909c0
mov al, byte [esp + 0x17]
test al, al
je 0x48dce5
mov al, byte [0x704b60]
test al, al
je 0x48dce5
xor eax, eax
lea edi, [esp + 0x28]
mov word [esp + 0x28], bx
mov byte [esp + 0x2c], 0xd
mov byte [esp + 0x2d], 1
call fcn.004909c0
mov ecx, 0x51
call fcn.0048f1e0
test al, al
je 0x48dd1e
mov al, byte [0x704b60]
test al, al
je 0x48dd1e
mov ecx, 0x51
mov word [esp + 0x28], bx
mov byte [esp + 0x2c], bl
call fcn.0048f1e0
mov byte [esp + 0x2d], al
xor eax, eax
lea edi, [esp + 0x28]
call fcn.004909c0
mov ecx, 0x54
call fcn.0048f1e0
test al, al
je 0x48dd58
mov al, byte [0x704b60]
test al, al
je 0x48dd58
mov ecx, 0x54
mov word [esp + 0x28], bx
mov byte [esp + 0x2c], 2
call fcn.0048f1e0
mov byte [esp + 0x2d], al
xor eax, eax
lea edi, [esp + 0x28]
call fcn.004909c0
mov eax, dword [0x6aafac]
test eax, eax
je 0x48dd9d
mov al, byte [0x6aada1]
test al, al
jne 0x48dd9d
mov al, byte [0x6aafc0]
test al, al
je 0x48dd9d
mov cl, byte [0x704b60]
test cl, cl
je 0x48dd9d
mov byte [esp + 0x2d], al
mov ebp, 4
xor eax, eax
lea edi, [esp + 0x28]
mov word [esp + 0x28], bp
mov byte [esp + 0x2c], 0
call fcn.004909c0
jmp 0x48dda2
mov ebp, 4
call dword [sym.imp.user32.dll_GetDoubleClickTime]
lea edx, [esp + 0x28]
push edx
mov esi, eax
call dword [sym.imp.kernel32.dll_QueryPerformanceCounter]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
push 0
push 0x3e8
push eax
push ecx
call fcn.006292c0
mov ecx, dword [0x6a60a4]
push ecx
mov ecx, dword [0x6a60a0]
push ecx
push edx
push eax
call fcn.00634420
mov ecx, dword [0x704ac8]
test ecx, ecx
je 0x48de34
mov dl, byte [0x6aafc8]
test dl, dl
je 0x48de22
mov al, byte [0x704b60]
test al, al
je 0x48de16
xor eax, eax
lea edi, [esp + 0x28]
mov word [esp + 0x28], bp
mov byte [esp + 0x2c], bl
mov byte [esp + 0x2d], 1
call fcn.004909c0
mov dword [0x704ac8], 0
jmp 0x48de43
sub eax, ecx
cmp eax, esi
jb 0x48de43
mov dword [0x704ac8], 0
jmp 0x48de43
mov cl, byte [0x6aafc8]
test cl, cl
je 0x48de43
mov dword [0x704ac8], eax
mov eax, dword [0x6aafac]
test eax, eax
je 0x48de81
mov al, byte [0x6aada1]
test al, al
jne 0x48de81
mov al, byte [0x6aafc2]
test al, al
je 0x48de81
mov cl, byte [0x704b60]
test cl, cl
je 0x48de81
mov byte [esp + 0x2d], al
xor eax, eax
lea edi, [esp + 0x28]
mov word [esp + 0x28], bp
mov byte [esp + 0x2c], 2
call fcn.004909c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret