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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x69fc13
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x76f950]
xor eax, esp
push eax
lea eax, [esp + 0x20]
mov dword fs:[0], eax
mov esi, ecx
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov bl, byte [0x77b0b8]
mov edx, dword [0x77b0b4]
mov ecx, eax
xor bl, cl
xor byte [edx + 0x77b0c0], bl
xor bl, ch
mov dword [esp + 0x14], ecx
inc edx
and edx, 0xfff
inc edx
xor byte [edx + 0x77b0bf], bl
xor bl, byte [esp + 0x16]
and edx, 0xfff
movzx ecx, cl
xor byte [edx + 0x77b0c0], bl
xor bl, byte [esp + 0x17]
lea eax, [edx + 1]
mov dx, word [ebp + 8]
and eax, 0xfff
inc eax
xor byte [eax + 0x77b0bf], bl
and eax, 0xfff
and ecx, 1
add ecx, eax
and ecx, 0xfff
xor bl, dl
xor byte [ecx + 0x77b0c0], bl
lea eax, [ecx + 1]
and eax, 0xfff
xor bl, dh
xor byte [eax + 0x77b0c0], bl
inc eax
and eax, 0xfff
movzx ecx, dl
mov edx, dword [ebp + 0xc]
and ecx, 1
add ecx, eax
and ecx, 0xfff
xor bl, dl
xor byte [ecx + 0x77b0c0], bl
lea eax, [ecx + 1]
and eax, 0xfff
xor bl, dh
xor byte [eax + 0x77b0c0], bl
xor bl, byte [ebp + 0xe]
inc eax
and eax, 0xfff
xor byte [eax + 0x77b0c0], bl
xor bl, byte [ebp + 0xf]
lea ecx, [eax + 1]
and ecx, 0xfff
movzx eax, dl
xor byte [ecx + 0x77b0c0], bl
inc ecx
and eax, 1
and ecx, 0xfff
add eax, ecx
and eax, 0xfff
mov dword [0x77b0b4], eax
cmp dword [esi + 0xe0], 0
mov byte [0x77b0b8], bl
je 0x44ec4c
cmp byte [esi + 0x14f], 0
mov bx, word [ebp + 8]
je case.default.0x44ea0f
mov eax, 0x1c0
lea ecx, [eax + 1]
cmp bx, 0xd
je 0x44eadf
cmp bx, 0x20
je 0x44eadf
cmp bx, 0x1b
je 0x44eadf
cmp bx, ax
je 0x44eadf
cmp bx, cx
je 0x44eadf
movzx eax, bx
cmp eax, 0x1b5
jg 0x44ea5f
je case.0x44ea0f.37
sub eax, 0x25
cmp eax, 3
ja case.default.0x44ea0f
jmp dword [eax*4 + 0x44ec64]
cmp dword [esi + 0x150], 0
jne 0x44ec4c
cmp dword [esi + 0x154], 0
jne 0x44ec4c
push 0
push 0
push 0
push 1
mov ecx, esi
call fcn.0044ec80
call edi
add eax, 0x64
mov dword [esi + 0x15c], eax
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
sub eax, 0x1b6
je case.0x44ea0f.38
dec eax
je case.0x44ea0f.39
dec eax
jne case.default.0x44ea0f
cmp dword [esi + 0x150], 0
jne 0x44ec4c
cmp dword [esi + 0x154], 0
jne 0x44ec4c
push 1
push 0
push 0
push 0
jmp 0x44ea38
cmp dword [esi + 0x150], 0
jne 0x44ec4c
cmp dword [esi + 0x154], 0
jne 0x44ec4c
push 0
push 0
push 1
push 0
jmp 0x44ea38
cmp dword [esi + 0x150], 0
jne 0x44ec4c
cmp dword [esi + 0x154], 0
jne 0x44ec4c
push 0
push 1
push 0
push 0
jmp 0x44ea38
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [esp + 0x14]
push eax
push dword [esi + 0x38]
call dword [sym.imp.USER32.dll_ScreenToClient]
cmp dword [esp + 0x14], 0
jl 0x44ec4c
cmp dword [esp + 0x18], 0
jl 0x44ec4c
mov ecx, esi
call fcn.0044a610
cmp dword [esp + 0x14], eax
jge 0x44ec4c
mov ecx, esi
call fcn.0044a6b0
mov ecx, dword [esp + 0x18]
cmp ecx, eax
jge 0x44ec4c
cmp bx, 0xd
je 0x44eb48
cmp bx, 0x20
je 0x44eb48
mov eax, 0x1c0
cmp bx, ax
jne 0x44eb63
mov eax, dword [esi]
push ecx
push dword [esp + 0x18]
mov ecx, esi
push 0
push 0
mov byte [esi + 0x159], 1
call dword [eax + 0x2c]
mov ecx, dword [esp + 0x18]
cmp bx, 0x1b
je 0x44eb77
mov eax, 0x1c1
cmp bx, ax
jne 0x44ec4c
mov eax, dword [esi]
push ecx
push dword [esp + 0x18]
mov ecx, esi
push 0
push 0
mov byte [esi + 0x15a], 1
call dword [eax + 0x2c]
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push 0x14
call fcn.006341f8
mov edi, eax
add esp, 4
mov dword [esp + 0x14], edi
mov dword [esp + 0x28], 0
test edi, edi
je 0x44ebf4
mov ecx, dword [esi + 0xe0]
mov eax, dword [0x7956f0]
movzx edx, bx
mov dword [edi], vtable.tTVPBaseInputEvent.0
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov byte [esp + 0x28], 1
mov eax, dword [ebp + 0xc]
mov dword [edi], vtable.tTVPOnKeyDownInputEvent.0
mov dword [edi + 0xc], edx
mov dword [edi + 0x10], eax
mov byte [esp + 0x28], 0
jmp 0x44ebf6
xor edi, edi
mov dword [esp + 0x28], 0xffffffff
lea eax, [esp + 0x14]
push eax
mov dword [esp + 0x18], edi
call fcn.00405a40
cmp byte [0x77a66a], 0
jne 0x44ec4c
cmp dword [0x77a744], 0
mov byte [0x77a66a], 1
je 0x44ec4c
mov eax, dword [0x77a6c8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
sar eax, 2
test eax, eax
je 0x44ec4c
mov eax, dword [ecx]
push 0
push 0
push 0x8005
push dword [eax + 0x38]
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8