Function at 0x1004e730
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b1ce0
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov edi, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x2c], eax
cmp dword [edi + 0x14], 0x10
mov ebx, dword [edi + 0x10]
jb 0x1004e773
mov ecx, dword [edi]
jmp 0x1004e775
mov ecx, edi
mov eax, 0x14
mov edx, str.inputmethod.blinking
cmp ebx, eax
cmovb eax, ebx
push eax
call fcn.100110c0
add esp, 4
test eax, eax
jne 0x1004e7a5
cmp ebx, 0x14
jae 0x1004e79b
or eax, 0xffffffff
jmp 0x1004e7a3
xor eax, eax
cmp ebx, 0x14
setne al
test eax, eax
sete al
test al, al
je 0x1004e94a
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x28]
push 1
push 0x100c0db8
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
call fcn.10003740
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 1
push eax
push dword [ebp - 0x2c]
lea eax, [ebp - 0x38]
push eax
call fcn.1009b340
add esp, 0xc
cmp dword [ebp - 0x14], 0x10
jb 0x1004e816
push dword [ebp - 0x28]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ebx, dword [ebp - 0x34]
mov eax, 0x2aaaaaab
mov edi, dword [ebp - 0x38]
mov ecx, ebx
sub ecx, edi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jb 0x1004e915
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov byte [esi + 0x1071], 1
call ebx
mov dword [esi + 0x1074], eax
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0x14], 0x10
jb 0x1004e85a
mov eax, dword [eax]
mov edi, dword [sym.imp.MSVCR120.dll_atoi]
push eax
call edi
mov ecx, dword [ebp - 0x38]
add esp, 4
add ecx, 0x18
mov dword [ebp - 0x40], eax
cmp dword [ecx + 0x14], 0x10
jb 0x1004e877
mov ecx, dword [ecx]
push ecx
call edi
mov ecx, dword [esi + 0xec8]
add esp, 4
mov dword [ebp - 0x3c], eax
cmp ecx, 0x5a
je 0x1004e8a1
cmp ecx, 0x10e
je 0x1004e8a1
mov edi, dword [esi + 0xf3c]
mov eax, dword [esi + 0xf40]
jmp 0x1004e8ad
mov edi, dword [esi + 0xf40]
mov eax, dword [esi + 0xf3c]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x20]
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0x40]
cdq
idiv edi
mov ecx, eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x3c]
cdq
idiv dword [ebp - 0x2c]
cmp dword [esi + 0x1080], ecx
jne 0x1004e8ea
cmp dword [esi + 0x1084], eax
je 0x1004e8f4
add dword [esi + 0x108c], 0x100
mov dword [esi + 0x1080], ecx
mov dword [esi + 0x1084], eax
call ebx
mov ecx, esi
mov dword [esi + 0x1088], eax
call fcn.1004e990
mov ebx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
test edi, edi
je 0x1004e961
push ebx
push edi
call fcn.100154a0
push dword [ebp - 0x38]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
jmp 0x1004e961
mov edx, str.inputmethod.end_blink
mov ecx, edi
call fcn.10011a60
test al, al
je 0x1004e961
mov byte [esi + 0x1071], 0
mov ecx, esi
call fcn.1004ea80
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100ab974
mov esp, ebp
pop ebp
ret 8