Function at 0x457450
Capabilities:
Check for time delay via gettickcount
Get memory capacity

Disassembly:
sub esp, 0xa0
push 0x64e180
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
cmp dword [0x64e1a4], 0xff
jle 0x45747a
push 0x64e1a0
call fcn.00452360
add esp, 4
mov eax, dword [0x64e1a0]
mov ecx, dword [0x64e1a4]
push ebx
push ebp
push esi
mov esi, dword [sym.imp.user32.dll_GetActiveWindow]
push edi
lea edi, [eax + ecx]
call esi
mov bl, byte [edi]
shr eax, 0x18
add bl, al
mov byte [edi], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x4574bc
push 0x64e1a0
call fcn.00452360
add esp, 4
mov edx, dword [0x64e1a0]
mov eax, dword [0x64e1a4]
lea edi, [edx + eax]
call esi
mov bl, byte [edi]
shr eax, 0x10
add bl, al
mov byte [edi], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x4574f4
push 0x64e1a0
call fcn.00452360
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [0x64e1a4]
lea edi, [ecx + edx]
call esi
mov bl, byte [edi]
shr eax, 8
add bl, al
mov byte [edi], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x45752d
push 0x64e1a0
call fcn.00452360
add esp, 4
mov eax, dword [0x64e1a0]
mov ecx, dword [0x64e1a4]
lea edi, [eax + ecx]
call esi
mov bl, byte [edi]
add bl, al
mov byte [edi], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457562
push 0x64e1a0
call fcn.00452360
add esp, 4
mov edx, dword [0x64e1a0]
mov eax, dword [0x64e1a4]
mov esi, dword [sym.imp.user32.dll_GetCapture]
lea edi, [edx + eax]
call esi
mov bl, byte [edi]
shr eax, 0x18
add bl, al
mov byte [edi], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x4575a0
push 0x64e1a0
call fcn.00452360
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [0x64e1a4]
lea edi, [ecx + edx]
call esi
mov bl, byte [edi]
shr eax, 0x10
add bl, al
mov byte [edi], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x4575d9
push 0x64e1a0
call fcn.00452360
add esp, 4
mov eax, dword [0x64e1a0]
mov ecx, dword [0x64e1a4]
lea edi, [eax + ecx]
call esi
mov bl, byte [edi]
shr eax, 8
add bl, al
mov byte [edi], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457611
push 0x64e1a0
call fcn.00452360
add esp, 4
mov edx, dword [0x64e1a0]
mov eax, dword [0x64e1a4]
lea edi, [edx + eax]
call esi
mov bl, byte [edi]
add bl, al
mov byte [edi], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457646
push 0x64e1a0
call fcn.00452360
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [0x64e1a4]
mov esi, dword [sym.imp.user32.dll_GetClipboardOwner]
lea edi, [ecx + edx]
call esi
mov bl, byte [edi]
shr eax, 0x18
add bl, al
mov byte [edi], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457685
push 0x64e1a0
call fcn.00452360
add esp, 4
mov eax, dword [0x64e1a0]
mov ecx, dword [0x64e1a4]
lea edi, [eax + ecx]
call esi
mov bl, byte [edi]
shr eax, 0x10
add bl, al
mov byte [edi], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x4576bd
push 0x64e1a0
call fcn.00452360
add esp, 4
mov edx, dword [0x64e1a0]
mov eax, dword [0x64e1a4]
lea edi, [edx + eax]
call esi
mov bl, byte [edi]
shr eax, 8
add bl, al
mov byte [edi], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x4576f5
push 0x64e1a0
call fcn.00452360
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [0x64e1a4]
lea edi, [ecx + edx]
call esi
mov bl, byte [edi]
add bl, al
mov byte [edi], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x45772b
push 0x64e1a0
call fcn.00452360
add esp, 4
mov eax, dword [0x64e1a0]
mov ecx, dword [0x64e1a4]
mov esi, dword [sym.imp.user32.dll_GetClipboardViewer]
lea edi, [eax + ecx]
call esi
mov bl, byte [edi]
shr eax, 0x18
add bl, al
mov byte [edi], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457769
push 0x64e1a0
call fcn.00452360
add esp, 4
mov edx, dword [0x64e1a0]
mov eax, dword [0x64e1a4]
lea edi, [edx + eax]
call esi
mov bl, byte [edi]
shr eax, 0x10
add bl, al
mov byte [edi], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x4577a1
push 0x64e1a0
call fcn.00452360
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [0x64e1a4]
lea edi, [ecx + edx]
call esi
mov bl, byte [edi]
shr eax, 8
add bl, al
mov byte [edi], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x4577da
push 0x64e1a0
call fcn.00452360
add esp, 4
mov eax, dword [0x64e1a0]
mov ecx, dword [0x64e1a4]
lea edi, [eax + ecx]
call esi
mov bl, byte [edi]
add bl, al
mov byte [edi], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x45780f
push 0x64e1a0
call fcn.00452360
add esp, 4
mov edx, dword [0x64e1a0]
mov eax, dword [0x64e1a4]
mov edi, dword [sym.imp.kernel32.dll_GetCurrentProcess]
lea esi, [edx + eax]
call edi
mov bl, byte [esi]
shr eax, 0x18
add bl, al
mov byte [esi], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x45784d
push 0x64e1a0
call fcn.00452360
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [0x64e1a4]
lea esi, [ecx + edx]
call edi
mov bl, byte [esi]
shr eax, 0x10
add bl, al
mov byte [esi], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457886
push 0x64e1a0
call fcn.00452360
add esp, 4
mov eax, dword [0x64e1a0]
mov ecx, dword [0x64e1a4]
lea esi, [eax + ecx]
call edi
mov bl, byte [esi]
shr eax, 8
add bl, al
mov byte [esi], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x4578be
push 0x64e1a0
call fcn.00452360
add esp, 4
mov edx, dword [0x64e1a0]
mov eax, dword [0x64e1a4]
lea esi, [edx + eax]
call edi
mov bl, byte [esi]
add bl, al
mov byte [esi], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x4578f3
push 0x64e1a0
call fcn.00452360
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [0x64e1a4]
mov esi, dword [sym.imp.kernel32.dll_GetCurrentProcessId]
lea edi, [ecx + edx]
call esi
mov bl, byte [edi]
shr eax, 0x18
add bl, al
mov byte [edi], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457932
push 0x64e1a0
call fcn.00452360
add esp, 4
mov eax, dword [0x64e1a0]
mov ecx, dword [0x64e1a4]
lea edi, [eax + ecx]
call esi
mov bl, byte [edi]
shr eax, 0x10
add bl, al
mov byte [edi], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x45796a
push 0x64e1a0
call fcn.00452360
add esp, 4
mov edx, dword [0x64e1a0]
mov eax, dword [0x64e1a4]
lea edi, [edx + eax]
call esi
mov bl, byte [edi]
shr eax, 8
add bl, al
mov byte [edi], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x4579a2
push 0x64e1a0
call fcn.00452360
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [0x64e1a4]
lea edi, [ecx + edx]
call esi
mov bl, byte [edi]
add bl, al
mov byte [edi], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x4579d8
push 0x64e1a0
call fcn.00452360
add esp, 4
mov eax, dword [0x64e1a0]
mov ecx, dword [0x64e1a4]
mov ebx, dword [sym.imp.kernel32.dll_GetCurrentThread]
lea esi, [eax + ecx]
call ebx
mov cl, byte [esi]
shr eax, 0x18
add cl, al
mov byte [esi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457a16
push 0x64e1a0
call fcn.00452360
add esp, 4
mov edx, dword [0x64e1a0]
mov eax, dword [0x64e1a4]
lea esi, [edx + eax]
call ebx
mov cl, byte [esi]
shr eax, 0x10
add cl, al
mov byte [esi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457a4e
push 0x64e1a0
call fcn.00452360
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [0x64e1a4]
lea esi, [ecx + edx]
call ebx
mov cl, byte [esi]
shr eax, 8
add cl, al
mov byte [esi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457a87
push 0x64e1a0
call fcn.00452360
add esp, 4
mov eax, dword [0x64e1a0]
mov ecx, dword [0x64e1a4]
lea esi, [eax + ecx]
call ebx
mov cl, byte [esi]
add cl, al
mov byte [esi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457abc
push 0x64e1a0
call fcn.00452360
add esp, 4
mov edx, dword [0x64e1a0]
mov eax, dword [0x64e1a4]
mov esi, dword [sym.imp.kernel32.dll_GetCurrentThreadId]
lea edi, [edx + eax]
call esi
mov cl, byte [edi]
shr eax, 0x18
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457afa
push 0x64e1a0
call fcn.00452360
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [0x64e1a4]
lea edi, [ecx + edx]
call esi
mov cl, byte [edi]
shr eax, 0x10
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457b33
push 0x64e1a0
call fcn.00452360
add esp, 4
mov eax, dword [0x64e1a0]
mov ecx, dword [0x64e1a4]
lea edi, [eax + ecx]
call esi
mov cl, byte [edi]
shr eax, 8
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457b6b
push 0x64e1a0
call fcn.00452360
add esp, 4
mov edx, dword [0x64e1a0]
mov eax, dword [0x64e1a4]
lea edi, [edx + eax]
call esi
mov cl, byte [edi]
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457ba0
push 0x64e1a0
call fcn.00452360
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [0x64e1a4]
mov ebp, dword [sym.imp.kernel32.dll_GetTickCount]
lea esi, [ecx + edx]
call ebp
mov cl, byte [esi]
shr eax, 0x18
add cl, al
mov byte [esi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457bdf
push 0x64e1a0
call fcn.00452360
add esp, 4
mov eax, dword [0x64e1a0]
mov ecx, dword [0x64e1a4]
lea esi, [eax + ecx]
call ebp
mov cl, byte [esi]
shr eax, 0x10
add cl, al
mov byte [esi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457c17
push 0x64e1a0
call fcn.00452360
add esp, 4
mov edx, dword [0x64e1a0]
mov eax, dword [0x64e1a4]
lea esi, [edx + eax]
call ebp
mov cl, byte [esi]
shr eax, 8
add cl, al
mov byte [esi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457c4f
push 0x64e1a0
call fcn.00452360
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [0x64e1a4]
lea esi, [ecx + edx]
call ebp
mov cl, byte [esi]
add cl, al
mov byte [esi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457c85
push 0x64e1a0
call fcn.00452360
add esp, 4
mov eax, dword [0x64e1a0]
mov ecx, dword [0x64e1a4]
mov esi, dword [sym.imp.user32.dll_GetDesktopWindow]
lea edi, [eax + ecx]
call esi
mov cl, byte [edi]
shr eax, 0x18
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457cc3
push 0x64e1a0
call fcn.00452360
add esp, 4
mov edx, dword [0x64e1a0]
mov eax, dword [0x64e1a4]
lea edi, [edx + eax]
call esi
mov cl, byte [edi]
shr eax, 0x10
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457cfb
push 0x64e1a0
call fcn.00452360
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [0x64e1a4]
lea edi, [ecx + edx]
call esi
mov cl, byte [edi]
shr eax, 8
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457d34
push 0x64e1a0
call fcn.00452360
add esp, 4
mov eax, dword [0x64e1a0]
mov ecx, dword [0x64e1a4]
lea edi, [eax + ecx]
call esi
mov cl, byte [edi]
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457d69
push 0x64e1a0
call fcn.00452360
add esp, 4
mov edx, dword [0x64e1a0]
mov eax, dword [0x64e1a4]
mov esi, dword [sym.imp.user32.dll_GetFocus]
lea edi, [edx + eax]
call esi
mov cl, byte [edi]
shr eax, 0x18
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457da7
push 0x64e1a0
call fcn.00452360
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [0x64e1a4]
lea edi, [ecx + edx]
call esi
mov cl, byte [edi]
shr eax, 0x10
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457de0
push 0x64e1a0
call fcn.00452360
add esp, 4
mov eax, dword [0x64e1a0]
mov ecx, dword [0x64e1a4]
lea edi, [eax + ecx]
call esi
mov cl, byte [edi]
shr eax, 8
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457e18
push 0x64e1a0
call fcn.00452360
add esp, 4
mov edx, dword [0x64e1a0]
mov eax, dword [0x64e1a4]
lea edi, [edx + eax]
call esi
mov cl, byte [edi]
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457e4d
push 0x64e1a0
call fcn.00452360
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [0x64e1a4]
mov edi, dword [sym.imp.user32.dll_GetInputState]
lea esi, [ecx + edx]
call edi
mov al, byte [esi]
xor ecx, ecx
mov cl, ah
add al, cl
mov byte [esi], al
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457e8d
push 0x64e1a0
call fcn.00452360
add esp, 4
mov edx, dword [0x64e1a0]
mov eax, dword [0x64e1a4]
lea esi, [edx + eax]
call edi
mov cl, byte [esi]
add cl, al
mov byte [esi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457ec2
push 0x64e1a0
call fcn.00452360
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [0x64e1a4]
mov esi, dword [sym.imp.user32.dll_GetMessagePos]
lea edi, [ecx + edx]
call esi
mov cl, byte [edi]
shr eax, 0x18
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457f01
push 0x64e1a0
call fcn.00452360
add esp, 4
mov eax, dword [0x64e1a0]
mov ecx, dword [0x64e1a4]
lea edi, [eax + ecx]
call esi
mov cl, byte [edi]
shr eax, 0x10
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457f39
push 0x64e1a0
call fcn.00452360
add esp, 4
mov edx, dword [0x64e1a0]
mov eax, dword [0x64e1a4]
lea edi, [edx + eax]
call esi
mov cl, byte [edi]
shr eax, 8
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457f71
push 0x64e1a0
call fcn.00452360
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [0x64e1a4]
lea edi, [ecx + edx]
call esi
mov cl, byte [edi]
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457fa7
push 0x64e1a0
call fcn.00452360
add esp, 4
mov eax, dword [0x64e1a0]
mov ecx, dword [0x64e1a4]
mov esi, dword [sym.imp.user32.dll_GetMessageTime]
lea edi, [eax + ecx]
call esi
mov cl, byte [edi]
shr eax, 0x18
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x457fe5
push 0x64e1a0
call fcn.00452360
add esp, 4
mov edx, dword [0x64e1a0]
mov eax, dword [0x64e1a4]
lea edi, [edx + eax]
call esi
mov cl, byte [edi]
shr eax, 0x10
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x45801d
push 0x64e1a0
call fcn.00452360
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [0x64e1a4]
lea edi, [ecx + edx]
call esi
mov cl, byte [edi]
shr eax, 8
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x458056
push 0x64e1a0
call fcn.00452360
add esp, 4
mov eax, dword [0x64e1a0]
mov ecx, dword [0x64e1a4]
lea edi, [eax + ecx]
call esi
mov cl, byte [edi]
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x45808b
push 0x64e1a0
call fcn.00452360
add esp, 4
mov edx, dword [0x64e1a0]
mov eax, dword [0x64e1a4]
mov esi, dword [sym.imp.user32.dll_GetOpenClipboardWindow]
lea edi, [edx + eax]
call esi
mov cl, byte [edi]
shr eax, 0x18
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x4580c9
push 0x64e1a0
call fcn.00452360
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [0x64e1a4]
lea edi, [ecx + edx]
call esi
mov cl, byte [edi]
shr eax, 0x10
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x458102
push 0x64e1a0
call fcn.00452360
add esp, 4
mov eax, dword [0x64e1a0]
mov ecx, dword [0x64e1a4]
lea edi, [eax + ecx]
call esi
mov cl, byte [edi]
shr eax, 8
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x45813a
push 0x64e1a0
call fcn.00452360
add esp, 4
mov edx, dword [0x64e1a0]
mov eax, dword [0x64e1a4]
lea edi, [edx + eax]
call esi
mov cl, byte [edi]
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x45816f
push 0x64e1a0
call fcn.00452360
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [0x64e1a4]
mov esi, dword [sym.imp.kernel32.dll_GetProcessHeap]
lea edi, [ecx + edx]
call esi
mov cl, byte [edi]
shr eax, 0x18
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x4581ae
push 0x64e1a0
call fcn.00452360
add esp, 4
mov eax, dword [0x64e1a0]
mov ecx, dword [0x64e1a4]
lea edi, [eax + ecx]
call esi
mov cl, byte [edi]
shr eax, 0x10
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x4581e6
push 0x64e1a0
call fcn.00452360
add esp, 4
mov edx, dword [0x64e1a0]
mov eax, dword [0x64e1a4]
lea edi, [edx + eax]
call esi
mov cl, byte [edi]
shr eax, 8
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x45821e
push 0x64e1a0
call fcn.00452360
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [0x64e1a4]
lea edi, [ecx + edx]
call esi
mov cl, byte [edi]
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x458254
push 0x64e1a0
call fcn.00452360
add esp, 4
mov eax, dword [0x64e1a0]
mov ecx, dword [0x64e1a4]
mov esi, dword [sym.imp.user32.dll_GetProcessWindowStation]
lea edi, [eax + ecx]
call esi
mov cl, byte [edi]
shr eax, 0x18
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x458292
push 0x64e1a0
call fcn.00452360
add esp, 4
mov edx, dword [0x64e1a0]
mov eax, dword [0x64e1a4]
lea edi, [edx + eax]
call esi
mov cl, byte [edi]
shr eax, 0x10
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x4582ca
push 0x64e1a0
call fcn.00452360
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [0x64e1a4]
lea edi, [ecx + edx]
call esi
mov cl, byte [edi]
shr eax, 8
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x458303
push 0x64e1a0
call fcn.00452360
add esp, 4
mov eax, dword [0x64e1a0]
mov ecx, dword [0x64e1a4]
lea edi, [eax + ecx]
call esi
mov cl, byte [edi]
add cl, al
mov byte [edi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x458338
push 0x64e1a0
call fcn.00452360
add esp, 4
mov edx, dword [0x64e1a0]
mov eax, dword [0x64e1a4]
mov edi, dword [sym.imp.user32.dll_GetQueueStatus]
push 0xbf
lea esi, [edx + eax]
call edi
mov cl, byte [esi]
shr eax, 0x18
add cl, al
mov byte [esi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x45837b
push 0x64e1a0
call fcn.00452360
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [0x64e1a4]
push 0xbf
lea esi, [ecx + edx]
call edi
mov cl, byte [esi]
shr eax, 0x10
add cl, al
mov byte [esi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x4583b9
push 0x64e1a0
call fcn.00452360
add esp, 4
mov eax, dword [0x64e1a0]
mov ecx, dword [0x64e1a4]
push 0xbf
lea esi, [eax + ecx]
call edi
mov cl, byte [esi]
shr eax, 8
add cl, al
mov byte [esi], cl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x4583f6
push 0x64e1a0
call fcn.00452360
add esp, 4
mov edx, dword [0x64e1a0]
mov eax, dword [0x64e1a4]
push 0xbf
lea esi, [edx + eax]
call edi
mov dl, byte [esi]
add dl, al
mov byte [esi], dl
mov ecx, dword [0x64e1a4]
inc ecx
mov dword [0x64e1a4], ecx
lea ecx, [esp + 0x38]
push ecx
call dword [sym.imp.user32.dll_GetCaretPos]
lea edx, [esp + 0x38]
push 8
push edx
call fcn.00452440
add esp, 8
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.user32.dll_GetCursorPos]
lea ecx, [esp + 0x38]
push 8
push ecx
call fcn.00452440
add esp, 8
lea edx, [esp + 0x4c]
mov dword [esp + 0x4c], 0x20
push edx
call dword [sym.imp.kernel32.dll_GlobalMemoryStatus]
lea eax, [esp + 0x4c]
push 0x20
push eax
call fcn.00452440
add esp, 8
call ebx
lea ecx, [esp + 0x28]
lea edx, [esp + 0x20]
push ecx
push edx
lea ecx, [esp + 0x20]
lea edx, [esp + 0x38]
push ecx
push edx
push eax
call dword [sym.imp.kernel32.dll_GetThreadTimes]
lea eax, [esp + 0x30]
push 8
push eax
call fcn.00452440
lea ecx, [esp + 0x20]
push 8
push ecx
call fcn.00452440
lea edx, [esp + 0x30]
push 8
push edx
call fcn.00452440
lea eax, [esp + 0x40]
push 8
push eax
call fcn.00452440
add esp, 0x20
call dword [sym.imp.kernel32.dll_GetCurrentProcess]
lea ecx, [esp + 0x28]
mov esi, eax
lea edx, [esp + 0x20]
push ecx
lea eax, [esp + 0x1c]
push edx
lea ecx, [esp + 0x38]
push eax
push ecx
push esi
call dword [sym.imp.kernel32.dll_GetProcessTimes]
lea edx, [esp + 0x30]
push 8
push edx
call fcn.00452440
push 8
lea eax, [esp + 0x24]
push eax
call fcn.00452440
lea ecx, [esp + 0x30]
push 8
push ecx
call fcn.00452440
lea edx, [esp + 0x40]
push 8
push edx
call fcn.00452440
add esp, 0x20
lea eax, [esp + 0x14]
lea ecx, [esp + 0x10]
push eax
push ecx
push esi
call dword [sym.imp.kernel32.dll_GetProcessWorkingSetSize]
mov eax, dword [0x64e1a4]
cmp eax, 0xff
jle 0x458549
push 0x64e1a0
call fcn.00452360
mov eax, dword [0x64e1a4]
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [esp + 0x10]
shr edx, 0x18
mov bl, byte [ecx + eax]
add bl, dl
mov byte [ecx + eax], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x458582
push 0x64e1a0
call fcn.00452360
mov eax, dword [0x64e1a4]
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [esp + 0x10]
shr edx, 0x10
mov bl, byte [ecx + eax]
add bl, dl
mov byte [ecx + eax], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x4585bb
push 0x64e1a0
call fcn.00452360
mov eax, dword [0x64e1a4]
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [esp + 0x10]
shr edx, 8
mov bl, byte [ecx + eax]
add bl, dl
mov byte [ecx + eax], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x4585f4
push 0x64e1a0
call fcn.00452360
mov eax, dword [0x64e1a4]
add esp, 4
mov ecx, dword [0x64e1a0]
mov dl, byte [esp + 0x10]
mov bl, byte [ecx + eax]
add bl, dl
mov byte [ecx + eax], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x45862a
push 0x64e1a0
call fcn.00452360
mov eax, dword [0x64e1a4]
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [esp + 0x14]
shr edx, 0x18
mov bl, byte [ecx + eax]
add bl, dl
mov byte [ecx + eax], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x458663
push 0x64e1a0
call fcn.00452360
mov eax, dword [0x64e1a4]
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [esp + 0x14]
shr edx, 0x10
mov bl, byte [ecx + eax]
add bl, dl
mov byte [ecx + eax], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x45869c
push 0x64e1a0
call fcn.00452360
mov eax, dword [0x64e1a4]
add esp, 4
mov ecx, dword [0x64e1a0]
mov edx, dword [esp + 0x14]
shr edx, 8
mov bl, byte [ecx + eax]
add bl, dl
mov byte [ecx + eax], bl
mov eax, dword [0x64e1a4]
inc eax
cmp eax, 0xff
mov dword [0x64e1a4], eax
jle 0x4586d5
push 0x64e1a0
call fcn.00452360
mov eax, dword [0x64e1a4]
add esp, 4
mov ecx, dword [0x64e1a0]
mov dl, byte [esp + 0x14]
mov bl, byte [ecx + eax]
add bl, dl
mov byte [ecx + eax], bl
mov ecx, dword [0x64e1a4]
mov eax, dword [0x63fb64]
inc ecx
test eax, eax
mov dword [0x64e1a4], ecx
jne 0x458729
lea eax, [esp + 0x6c]
mov dword [esp + 0x6c], 0x44
push eax
call dword [sym.imp.kernel32.dll_GetStartupInfoA]
lea ecx, [esp + 0x6c]
push 0x44
push ecx
call fcn.00452440
add esp, 8
mov dword [0x63fb64], 1
lea edx, [esp + 0x44]
push edx
call dword [sym.imp.kernel32.dll_QueryPerformanceCounter]
test eax, eax
je 0x458741
lea eax, [esp + 0x44]
push 8
push eax
jmp 0x45874e
call ebp
lea ecx, [esp + 0x40]
push 4
mov dword [esp + 0x44], eax
push ecx
call fcn.00452440
mov eax, dword [0x63fb68]
add esp, 8
inc eax
pop edi
pop esi
pop ebp
cmp eax, 3
mov dword [0x63fb68], eax
pop ebx
jl 0x458774
mov dword [0x64e1ac], 0
push 0x64e180
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
add esp, 0xa0
ret