Function at 0x5edfe0
Capabilities:
Check for time delay via gettickcount
Get keyboard layout

Disassembly:
push ebx
push esi
push edi
push ebp
push ecx
mov esi, eax
mov eax, dword [0x65a7a8]
mov eax, dword [eax]
mov eax, dword [eax + 0x1cc]
movzx ebx, byte [eax + 0x40]
test bl, bl
je 0x5ee017
mov edx, dword [0x65a7a8]
xor edx, edx
call fcn.00454214
mov eax, dword [0x65a7a8]
mov eax, dword [eax]
xor edx, edx
call fcn.006304e4
mov eax, dword [0x659f8c]
mov eax, dword [eax]
mov ebp, dword [eax + 0x1bc]
mov eax, dword [0x65a294]
mov byte [eax], 0
cmp esi, 1
jne 0x5ee07c
push 0
mov eax, dword [0x659f8c]
mov eax, dword [eax]
mov eax, dword [eax + 0x1bc]
push eax
call sub.user32.dll_ActivateKeyboardLayout
mov eax, 0x1e
mov edi, eax
dec edi
test edi, edi
jl 0x5ee084
inc edi
push 0
push 1
call sub.user32.dll_ActivateKeyboardLayout
push 0
call sub.user32.dll_GetKeyboardLayout
mov esi, eax
mov eax, dword [0x65a970]
mov eax, dword [eax]
mov edx, esi
call fcn.0061dc94
test al, al
je 0x5ee084
dec edi
jne 0x5ee053
jmp 0x5ee084
push 0
push esi
call sub.user32.dll_ActivateKeyboardLayout
push 0
call sub.user32.dll_GetKeyboardLayout
mov esi, eax
call fcn.00639ab0
test al, al
jne 0x5ee10e
mov eax, dword [0x65a7a8]
mov eax, dword [eax]
cmp byte [eax + 0x33d], 0
jne 0x5ee10e
call sub.user32.dll_GetForegroundWindow
call fcn.0063a454
test al, al
jne 0x5ee10e
push 0x171d7a
push esi
push 0x497
call sub.user32.dll_GetForegroundWindow
push eax
call sub.user32.dll_PostMessageA
call sub.kernel32.dll_GetTickCount_1
mov edi, eax
jmp 0x5ee102
mov eax, dword [0x65a294]
cmp byte [eax], 0
je 0x5ee0f6
mov eax, dword [0x65a7a8]
mov eax, dword [eax]
mov eax, dword [eax + 0x1cc]
mov edx, ebx
call fcn.00454214
jmp 0x5ee242
mov eax, dword [0x65a3f4]
mov eax, dword [eax]
call fcn.0048c808
call sub.kernel32.dll_GetTickCount_1
sub eax, edi
cmp eax, 0x64
jb 0x5ee0d3
mov eax, dword [0x65a294]
mov byte [eax], 1
push esi
push 0
push 0x50
call sub.user32.dll_GetForegroundWindow
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [0x65a7a8]
mov eax, dword [eax]
cmp byte [eax + 0x33d], 0
jne 0x5ee22e
call sub.user32.dll_GetForegroundWindow
call fcn.0063a454
test al, al
jne 0x5ee22e
call sub.kernel32.dll_GetTickCount_1
mov edi, eax
jmp 0x5ee193
test bl, bl
je 0x5ee178
push 0
call sub.user32.dll_GetForegroundWindow
call fcn.0063ab08
push eax
call sub.user32.dll_GetWindowThreadProcessId
push eax
call sub.user32.dll_GetKeyboardLayout
xor edx, edx
call fcn.00610dfc
mov eax, dword [0x659f8c]
mov eax, dword [eax]
cmp ebp, dword [eax + 0x1bc]
jne 0x5ee1a1
mov eax, dword [0x65a3f4]
mov eax, dword [eax]
call fcn.0048c808
call sub.kernel32.dll_GetTickCount_1
sub eax, edi
cmp eax, 0xc8
jb 0x5ee155
mov eax, dword [0x659f8c]
mov eax, dword [eax]
cmp ebp, dword [eax + 0x1bc]
jne 0x5ee22e
push 4
call sub.user32.dll_GetForegroundWindow
push eax
call sub.user32.dll_GetWindow
test eax, eax
je 0x5ee22e
push esi
push 0
push 0x50
push 4
call sub.user32.dll_GetForegroundWindow
push eax
call sub.user32.dll_GetWindow
push eax
call sub.user32.dll_SendMessageA
call sub.kernel32.dll_GetTickCount_1
mov edi, eax
jmp 0x5ee220
test bl, bl
je 0x5ee205
push 0
call sub.user32.dll_GetForegroundWindow
call fcn.0063ab08
push eax
call sub.user32.dll_GetWindowThreadProcessId
push eax
call sub.user32.dll_GetKeyboardLayout
xor edx, edx
call fcn.00610dfc
mov eax, dword [0x659f8c]
mov eax, dword [eax]
cmp ebp, dword [eax + 0x1bc]
jne 0x5ee22e
mov eax, dword [0x65a3f4]
mov eax, dword [eax]
call fcn.0048c808
call sub.kernel32.dll_GetTickCount_1
sub eax, edi
cmp eax, 0xc8
jb 0x5ee1e2
mov eax, dword [0x65a7a8]
mov eax, dword [eax]
mov eax, dword [eax + 0x1cc]
mov edx, ebx
call fcn.00454214
pop edx
pop ebp
pop edi
pop esi
pop ebx
ret