Function at 0x497fc0
Capabilities:
Check for unmoving mouse cursor

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x50b188
push eax
mov dword fs:[0], esp
sub esp, 0x5c
push esi
mov esi, ecx
mov eax, dword [esi + 0x54]
test eax, eax
jne 0x498017
test byte [0x652fc0], 4
je 0x498483
push str.zone_is_null__return__n
push 3
push str.CWingStateMachine::ProcessPacketByLWStateMachine
call fcn.004cb3a0
add esp, 0xc
pop esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x18
mov ecx, dword [eax + 0xdc]
push edi
lea ecx, [ecx + 0x10]
call fcn.004a5ce0
mov ecx, dword [esi + 0x54]
mov dword [ebp - 0x14], eax
mov ecx, dword [ecx + 0xdc]
add ecx, 0xcc
call fcn.004a5c20
mov ecx, dword [esi + 0x54]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ecx + 0xdc]
add ecx, 0x10
call fcn.004a5c20
mov ecx, dword [esi + 0x54]
push 0
push dword [ebp + 8]
mov dword [ebp - 0x28], eax
mov ecx, dword [ecx + 0xdc]
add ecx, 0x10
call fcn.004a5cf0
mov ecx, dword [esi + 0x54]
mov edi, eax
push 0
push dword [ebp + 0xc]
mov dword [ebp - 0x18], edi
mov ecx, dword [ecx + 0xdc]
add ecx, 0xcc
call fcn.004a5cf0
mov ecx, dword [esi + 0x54]
push 0
push 0
mov dword [ebp - 0x10], eax
call fcn.0049f9e0
mov ecx, dword [esi + 0x54]
and eax, 0x4000
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x48]
push eax
call fcn.00496190
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x38], ecx
lea ecx, [esi + 4]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0x14]
push edi
mov dword [esi + 0x40], 0
mov dword [esi + 0x34], 0
mov dword [ebp + 0x18], eax
call fcn.0044f6a0
test eax, eax
je 0x4980e4
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x20], eax
mov eax, dword [ebp + 0x18]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x58]
mov ecx, dword [0x658710]
cmp ecx, eax
je 0x498118
test byte [0x652fc0], 4
je 0x498110
push eax
push ecx
push str.LeftWingState:__d_____d_n
push 3
push str.CWingStateMachine::ProcessPacketByLWStateMachine
call fcn.004cb3a0
add esp, 0x14
mov eax, dword [esi + 0x58]
mov dword [0x658710], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
test ecx, ecx
jne 0x498125
xor eax, eax
jmp 0x498137
mov eax, dword [ecx]
lea edx, [ebp + 0xc]
push edx
push 0x10000312
push ecx
call dword [eax + 0xc]
mov eax, dword [ebp + 0xc]
shr eax, 0x10
test al, 1
jne 0x4982a5
mov ecx, dword [edi]
test ecx, ecx
jne 0x49814c
xor eax, eax
jmp 0x49815e
mov eax, dword [ecx]
lea edx, [ebp + 0xc]
push edx
push 0x10000312
push ecx
call dword [eax + 0xc]
mov eax, dword [ebp + 0xc]
shr eax, 0x10
test al, 1
je 0x4982a5
test byte [0x652fc0], 4
je 0x498191
mov ecx, edi
call fcn.00405f00
movzx eax, al
push eax
push str.Tap___d_n
push 3
push str.CWingStateMachine::ProcessPacketByLWStateMachine
call fcn.004cb3a0
add esp, 0x10
cmp dword [esi + 0xf4], 0
je 0x4982a5
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov eax, dword [esi + 0x54]
lea ecx, [esi + 4]
push dword [ebp - 0x18]
mov dword [ebp - 4], 0
mov edi, dword [eax]
call fcn.0044f900
mov ecx, eax
call fcn.00420970
mov ecx, dword [esi + 0x54]
push eax
mov eax, dword [edi + 0x38]
call eax
test eax, eax
je 0x4981e7
mov dword [ebp + 0xc], 0xd
jmp 0x498260
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov ecx, dword [esi + 0x54]
push eax
call fcn.00495ca0
mov edi, eax
test edi, edi
je 0x49826c
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov ecx, dword [edi]
lea eax, [ebp - 0x68]
push eax
push edi
call dword [ecx + 0xac]
push dword [ebp - 0x3c]
lea eax, [ebp - 0x68]
push dword [ebp - 0x40]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x498259
lea ecx, [esi + 4]
call fcn.0044f900
test eax, eax
je 0x49826c
mov ecx, dword [eax + 0x34]
test ecx, ecx
jne 0x498241
lea ecx, [eax + 0x40]
test ecx, ecx
je 0x49826c
mov ecx, dword [eax + 0x34]
test ecx, ecx
jne 0x49824b
lea ecx, [eax + 0x40]
mov eax, dword [ecx]
push 1
push 0
push 0
push ecx
call dword [eax + 0x28]
jmp 0x49826c
mov dword [ebp + 0xc], 0x1b
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 0x54]
call fcn.0049c3b0
mov ecx, dword [esi + 0x54]
lea eax, [ebp - 0x54]
push eax
call fcn.0049b210
mov ecx, esi
call fcn.00495600
lea ecx, [ebp - 0x54]
mov dword [esi + 0xf4], 0
mov dword [esi + 0xf0], 0
mov dword [ebp - 4], 0xffffffff
call fcn.00409120
mov edi, dword [ebp - 0x18]
mov ecx, dword [esi + 0x54]
push 0
push 0
call fcn.0049ec60
cmp dword [esi + 0x50], 0
mov dword [ebp + 0x18], eax
lea eax, [esi + 4]
jne 0x4982d4
push 0x7b
push str.g:checkpoints_tpdrvheadgit1_syntpenhCPluginZone.h
push str.m_pManagedPointingDevice
call fcn.004904e0
add esp, 0xc
lea eax, [esi + 4]
mov ecx, dword [edi]
mov eax, dword [eax + 0x4c]
mov dword [ebp + 0xc], eax
test ecx, ecx
jne 0x4982e4
xor edx, edx
jmp 0x498300
lea edx, [ebp - 0x24]
mov dword [ebp - 0x24], 0
mov eax, dword [ecx]
push edx
push 0x10000317
push ecx
call dword [eax + 0xc]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp + 0xc]
lea ecx, [eax + 0xe28]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x24]
call eax
cmp dword [ebp - 0x14], 3
mov dword [ebp - 0x30], eax
jne 0x49832a
mov ecx, dword [esi + 0x54]
mov dword [ebp + 0xc], 1
cmp dword [ecx + 0x108], 3
je 0x498331
mov dword [ebp + 0xc], 0
mov ecx, dword [edi]
test ecx, ecx
jne 0x49833c
mov dword [ebp - 0x1c], ecx
jmp 0x498354
mov eax, dword [ecx]
lea edx, [ebp - 0x34]
push edx
push 0x10000303
push ecx
call dword [eax + 0xc]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
test ecx, ecx
jne 0x49835e
xor eax, eax
jmp 0x498370
mov eax, dword [ecx]
lea edx, [ebp - 0x30]
push edx
push 0x10000303
push ecx
call dword [eax + 0xc]
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x1c], eax
lea eax, [esi + 4]
cmp dword [eax + 0x4c], 0
jne 0x498393
push 0x7b
push str.g:checkpoints_tpdrvheadgit1_syntpenhCPluginZone.h
push str.m_pManagedPointingDevice
call fcn.004904e0
add esp, 0xc
lea eax, [esi + 4]
mov ecx, dword [edi]
mov eax, dword [eax + 0x4c]
mov dword [ebp - 0x34], eax
test ecx, ecx
jne 0x4983a3
xor edx, edx
jmp 0x4983bf
lea edx, [ebp - 0x24]
mov dword [ebp - 0x24], 0
mov eax, dword [ecx]
push edx
push 0x10000317
push ecx
call dword [eax + 0xc]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
lea ecx, [eax + 0xe28]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [esi + 0x54]
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0x38]
call eax
mov ecx, dword [esi + 0x54]
push edi
mov dword [ebp - 0x30], eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x38]
call edx
mov edx, dword [0x652fc0]
mov dword [ebp - 0x34], eax
test dl, 4
je 0x49845d
mov ecx, dword [edi]
test ecx, ecx
jne 0x4983ff
mov dword [ebp - 0x24], ecx
jmp 0x498414
mov eax, dword [ecx]
lea edx, [ebp - 0x38]
push edx
push 0x1000030d
push ecx
call dword [eax + 0xc]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x24], eax
mov ecx, dword [edi]
test ecx, ecx
jne 0x49841e
xor eax, eax
jmp 0x498430
mov eax, dword [ecx]
lea edx, [ebp - 0x3c]
push edx
push 0x1000030c
push ecx
call dword [eax + 0xc]
mov eax, dword [ebp - 0x3c]
push dword [esi + 0xd0]
push dword [esi + 0xcc]
push dword [ebp - 0x1c]
push dword [ebp - 0x24]
push eax
push str.Delta__d__d___ulTime_d__lDestance__d__d__n
push 3
push str.CWingStateMachine::ProcessPacketByLWStateMachine
call fcn.004cb3a0
mov edx, dword [0x652fc0]
add esp, 0x20
cmp dword [ebp - 0x2c], 0
mov eax, dword [ebp - 0x28]
je 0x49846a
test eax, eax
jne 0x498494
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x49847a
test eax, eax
jne 0x49847a
cmp dword [ebp - 0x2c], eax
jne 0x498497
push edi
mov ecx, esi
call fcn.0049ae40
pop edi
pop esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x18
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0x58]
mov dword [ebp + 0xc], eax
cmp eax, 0xa
ja case.0x4984a6.8
jmp dword [eax*4 + 0x4999a8]
cmp dword [esi + 0x54], 0
je case.0x4984a6.8
mov dword [ebp - 0x20], 0
test ecx, ecx
je 0x4985eb
mov eax, dword [esi + 0x54]
push 0
push dword [ebp + 8]
mov ecx, dword [eax + 0xdc]
add ecx, 0x10
call fcn.004a5cf0
mov ecx, dword [esi + 0x54]
push 1
push dword [ebp + 8]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ecx + 0xdc]
add ecx, 0x10
call fcn.004a5cf0
mov ecx, dword [esi + 0x54]
push 2
push dword [ebp + 8]
mov dword [ebp - 0x18], eax
mov ecx, dword [ecx + 0xdc]
add ecx, 0x10
call fcn.004a5cf0
mov edx, dword [esi + 0x70]
mov dword [ebp + 8], eax
test edx, edx
jne 0x49851b
lea edx, [esi + 0x74]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
test ecx, ecx
jne 0x498527
lea ecx, [eax + 4]
mov eax, dword [edx]
push ecx
push edx
call dword [eax + 0x18]
mov ecx, dword [esi + 0x78]
test ecx, ecx
jne 0x498538
lea ecx, [esi + 0x7c]
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
test edx, edx
jne 0x498544
lea edx, [eax + 4]
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0x18]
mov ecx, dword [esi + 0x80]
test ecx, ecx
jne 0x49855b
lea ecx, [esi + 0x84]
mov eax, dword [ebp + 8]
mov edx, dword [eax]
test edx, edx
jne 0x498567
lea edx, [eax + 4]
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0x18]
mov ecx, dword [ebp - 0x1c]
call fcn.00408830
cmp eax, dword [esi + 0xe0]
jle 0x4987ed
mov ecx, dword [ebp - 0x1c]
call fcn.00408970
cmp eax, dword [esi + 0xd8]
jle 0x4987ed
mov ecx, dword [ebp - 0x18]
call fcn.00408830
cmp eax, dword [esi + 0xe0]
jle 0x4987ed
mov ecx, dword [ebp - 0x18]
call fcn.00408970
cmp eax, dword [esi + 0xd8]
jle 0x4987ed
mov ecx, dword [ebp + 8]
call fcn.00408830
cmp eax, dword [esi + 0xe0]
jle 0x4987ed
mov ecx, dword [ebp + 8]
call fcn.00408970
cmp eax, dword [esi + 0xd8]
jle 0x4987ed
jmp 0x4986ce
cmp dword [ebp - 0x14], 1
jne case.0x4984a6.8
cmp dword [ebp - 0x30], 0
je 0x498638
cmp dword [ebp - 0x34], 0
je 0x498617
push 1
lea ecx, [esi + 4]
call fcn.0044f900
mov ecx, eax
call fcn.0042e220
jmp 0x4986ce
cmp dword [ebp - 0x1c], 0x64
jae 0x498638
test dl, 4
je 0x498601
push str.fast_swipe__fgDown_in_zone_but_cur_is_not_in__treat_it_as_initTouch_n
push 3
push str.CWingStateMachine::ProcessPacketByLWStateMachine
call fcn.004cb3a0
add esp, 0xc
jmp 0x498601
push edi
lea ecx, [esi + 4]
call fcn.0044f900
mov ecx, eax
call fcn.00420970
mov ecx, eax
call fcn.00408970
mov ecx, dword [esi + 0xd4]
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x258
jge 0x4987ed
push edi
lea ecx, [esi + 4]
call fcn.0044f900
mov ecx, eax
call fcn.00420970
mov ecx, eax
call fcn.00408830
mov ecx, dword [esi + 0xdc]
sub ecx, eax
cmp ecx, 0x64
jle 0x4987ed
test byte [0x652fc0], 4
je 0x4986ae
push str.finger_down_in_TopEdge_zone_n
push 3
push str.CWingStateMachine::ProcessPacketByLWStateMachine
call fcn.004cb3a0
add esp, 0xc
call fcn.004661b0
test eax, eax
jne 0x4987ed
mov ecx, dword [esi + 0x54]
push 3
push 1
call fcn.0049bc80
mov dword [ebp - 0x20], 1
lea eax, [esi + 0xb0]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
push edi
mov ecx, esi
mov dword [esi + 0xc0], 0
mov dword [esi + 0xe8], 0
mov dword [esi + 0xec], 0
mov dword [esi + 0xf0], 0
call fcn.00497270
test eax, eax
je 0x49880e
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov ecx, dword [esi + 0x54]
push eax
call fcn.00495ca0
test eax, eax
je 0x49878a
mov ecx, esi
call fcn.0049a890
test byte [ebp + 0x18], 0x80
mov eax, dword [esi + 0x60]
mov dword [ebp + 0xc], eax
je case.0x4984a6.8
cmp dword [ebp - 0x20], 0
jne case.0x4984a6.8
cmp eax, 3
je 0x498755
cmp eax, 4
jne case.0x4984a6.8
mov ecx, dword [ebp - 0x10]
call fcn.004056b0
test al, al
je 0x4987ed
mov ecx, edi
call fcn.004056b0
test al, al
jne 0x4987ed
mov ecx, esi
call fcn.00497b00
mov ecx, dword [esi + 0x54]
push 3
push 0
call fcn.0049bc80
mov eax, 0xa
jmp case.0x4984a6.8
test byte [ebp + 0x18], 0x80
je 0x498854
cmp dword [ebp - 0x20], 0
jne 0x498854
mov ecx, dword [ebp - 0x10]
call fcn.004056b0
test al, al
jne 0x498854
mov ecx, edi
call fcn.004056b0
test al, al
je 0x498854
push edi
mov ecx, esi
mov dword [ebp + 0xc], 9
call fcn.00497e20
test byte [0x652fc0], 4
je 0x49902a
push str._ResumeState:_Trigger_LW_gesture_by_clicking__ewsIdle___ewsWaitingForUnClicking_n
push 3
push str.CWingStateMachine::ProcessPacketByLWStateMachine
call fcn.004cb3a0
add esp, 0xc
mov eax, dword [ebp + 0xc]
cmp dword [esi + 0x58], eax
je 0x498482
mov ecx, dword [ebp - 0xc]
mov dword [esi + 0x58], eax
pop edi
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x18
test byte [ebp + 0x18], 0x80
je 0x498854
cmp dword [ebp - 0x20], 0
jne 0x498854
mov ecx, dword [ebp - 0x10]
call fcn.004056b0
test al, al
jne 0x498854
mov ecx, edi
call fcn.004056b0
test al, al
je 0x498854
push edi
mov ecx, esi
mov dword [ebp + 0xc], 9
call fcn.00497e20
test byte [0x652fc0], 4
je 0x49902a
push str._Trigger_LW_gesture_by_clicking__ewsIdle___ewsWaitingForUnClicking_n
jmp 0x4987de
mov eax, 1
jmp case.0x4984a6.8
cmp dword [ebp - 0x14], 1
jne 0x498ce3
cmp dword [ebp - 0x30], 0
je 0x498c18
cmp dword [ebp - 0x34], 0
je 0x498c18
mov ecx, edi
call fcn.00432d20
add dword [esi + 0xcc], eax
mov ecx, edi
call fcn.00432ee0
add dword [esi + 0xd0], eax
mov eax, dword [ebp + 0x18]
test al, 0x10
je 0x498a39
push edi
mov ecx, esi
call fcn.00496db0
test eax, eax
jne 0x4988ba
push edi
mov ecx, esi
call fcn.00496680
test eax, eax
je 0x498a36
cmp dword [ebp - 0x1c], 0x1f4
jae 0x4987ed
mov ecx, dword [esi + 0x54]
call fcn.00497ae0
test eax, eax
je 0x498982
xor eax, eax
mov dword [esi + 0xc8], 0xffffffff
cmp dword [esi + 0xcc], eax
mov dword [esi + 0xd0], 0
setge al
mov dword [esi + 0xcc], 0
lea eax, [eax*2 - 1]
mov dword [esi + 0xc4], eax
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x40]
mov edi, dword [esi + 0x54]
push eax
call fcn.00408970
mov ecx, dword [ebp - 0x18]
push eax
call fcn.00408830
push eax
mov ecx, edi
call fcn.00497ba0
mov eax, dword [ebp - 0x48]
xor ecx, ecx
cmp dword [ebp - 0x20], ecx
mov dword [esi + 0xe8], 1
cmove eax, ecx
mov ecx, edi
mov dword [ebp - 0x40], eax
mov eax, dword [edi]
push 1
call dword [eax + 0xb0]
mov ecx, dword [esi + 0x54]
push 3
push 1
call fcn.0049bc80
mov ecx, dword [esi + 0x54]
lea eax, [ebp - 0x40]
push 1
push dword [ebp + 8]
push eax
call fcn.0049b2c0
mov eax, 6
mov dword [ebp + 0xc], eax
jmp 0x4989eb
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
lea eax, [ebp + 8]
mov dword [ebp - 4], 1
push eax
lea ecx, [ebp - 0x54]
mov dword [ebp + 8], 0x5b
call fcn.0049c3b0
lea eax, [ebp + 8]
mov dword [ebp + 8], 9
push eax
lea ecx, [ebp - 0x54]
call fcn.0049c3b0
mov ecx, dword [esi + 0x54]
lea eax, [ebp - 0x54]
push eax
call fcn.0049b210
lea ecx, [ebp - 0x54]
mov dword [ebp + 0xc], 0xb
mov dword [ebp - 4], 0xffffffff
call fcn.00409120
mov eax, 0xb
mov dword [esi + 0xe4], 0
mov dword [esi + 0xf0], 0
mov dword [esi + 0xf4], 0
test byte [0x652fc0], 4
je case.0x4984a6.8
push eax
push dword [esi + 0xe0]
push str._Trigger_gesture_by_H_swipe__m_lLoXTouchPad_d_ewsFirstTouchDown___ewsNextState__d__n
push 3
push str.CWingStateMachine::ProcessPacketByLWStateMachine
call fcn.004cb3a0
add esp, 0x14
jmp 0x4987ed
mov eax, dword [ebp + 0x18]
test al, 0x40
je 0x498b46
mov ecx, edi
call fcn.00432d20
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xa
jge 0x498b43
mov ecx, edi
call fcn.00432ee0
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xa
jge 0x498b43
mov ecx, dword [esi + 0x54]
push edi
call fcn.00403e00
mov ecx, eax
call fcn.00420970
mov ecx, eax
call fcn.00408510
mov ecx, dword [ebp - 0x18]
mov edi, eax
call fcn.00408510
sub eax, edi
cmp eax, 0x64
jbe 0x4987ed
mov ecx, dword [esi + 0x54]
test ecx, ecx
je 0x498b06
cmp dword [ecx + 0x3a8], 0
je 0x498aed
cmp dword [ebp - 0x20], 0
push 0
jne 0x498ab3
push 0
jmp 0x498ab8
push 0xffff
call fcn.00497be0
lea ecx, [esi + 4]
call fcn.0044f900
test eax, eax
je 0x498aed
mov ecx, dword [eax + 0x34]
test ecx, ecx
jne 0x498ad7
lea ecx, [eax + 0x40]
test ecx, ecx
je 0x498aed
mov ecx, dword [eax + 0x34]
test ecx, ecx
jne 0x498ae1
lea ecx, [eax + 0x40]
mov eax, dword [ecx]
push 0
push 0x32
push 0
push ecx
call dword [eax + 0x28]
mov ecx, dword [esi + 0x54]
push 1
mov eax, dword [ecx]
call dword [eax + 0xb0]
mov ecx, dword [esi + 0x54]
push 3
push 1
call fcn.0049bc80
mov dword [esi + 0xc0], 0
mov eax, 2
mov dword [esi + 0xd0], 0
mov dword [esi + 0xcc], 0
test byte [0x652fc0], 4
mov dword [ebp + 0xc], eax
je case.0x4984a6.8
push str.FgCnt1__in_LWZ__TimeOut__ewsFirstTouchDown___ewsFirstActivation_n
jmp 0x4987de
mov eax, dword [ebp + 0x18]
test al, 0x20
je 0x498bc0
mov ecx, edi
call fcn.00432d20
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xa
jge 0x498bbd
mov ecx, edi
call fcn.00432ee0
cmp eax, 0xfffffff6
jge 0x498bbd
mov ecx, dword [esi + 0x54]
push 1
mov eax, dword [ecx]
call dword [eax + 0xb0]
mov ecx, dword [esi + 0x54]
push 3
push 1
call fcn.0049bc80
mov dword [esi + 0xd0], 0
mov eax, 2
mov dword [esi + 0xcc], 0
mov dword [esi + 0xc0], 0
test byte [0x652fc0], 4
mov dword [ebp + 0xc], eax
je case.0x4984a6.8
push str.FgCnt1__in_LWZ__V_swipe__ewsFirstTouchDown___ewsFirstActivation_n
jmp 0x4987de
mov eax, dword [ebp + 0x18]
test al, al
jns 0x4987ed
mov ecx, dword [ebp - 0x10]
call fcn.004056b0
test al, al
jne 0x4987ed
mov ecx, edi
call fcn.004056b0
test al, al
je 0x4987ed
test byte [0x652fc0], 4
mov dword [ebp + 0xc], 9
je 0x498c0b
push str.FgCnt1__in_LWZ__clicking__ewsFirstTouchDown___ewsWaitingForUnClicking_n
push 3
push str.CWingStateMachine::ProcessPacketByLWStateMachine
call fcn.004cb3a0
add esp, 0xc
push edi
mov ecx, esi
call fcn.00497e20
jmp 0x4987ed
push dword [ebp - 0x10]
mov ecx, esi
push edi
call fcn.00497770
test eax, eax
je 0x4987ed
cmp dword [ebp - 0x1c], 0x1f4
jae 0x4987ed
cmp dword [esi + 0x54], 0
je 0x498cb1
test byte [0x652fc0], 4
je 0x498c5b
push str._FgCnt1__not_in_L_RWZ__send_a_WINZ_ewsFirstTouchDown___ewsWaitingForEndOfStroke_n
push 3
push str.CWingStateMachine::ProcessPacketByLWStateMachine
call fcn.004cb3a0
add esp, 0xc
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
lea eax, [ebp + 8]
mov dword [ebp - 4], 2
push eax
lea ecx, [ebp - 0x54]
mov dword [ebp + 8], 0x5b
call fcn.0049c3b0
lea eax, [ebp + 8]
mov dword [ebp + 8], 0x5a
push eax
lea ecx, [ebp - 0x54]
call fcn.0049c3b0
mov ecx, dword [esi + 0x54]
lea eax, [ebp - 0x54]
push eax
call fcn.0049b210
lea ecx, [ebp - 0x54]
call fcn.00409120
mov dword [esi + 0xc4], 0xffffffff
mov eax, 0xb
mov dword [esi + 0xc8], 1
mov dword [esi + 0xd0], 0
mov dword [esi + 0xcc], 0
jmp case.0x4984a6.8
test ecx, ecx
je case.0x4984a6.8
mov edi, dword [ebp + 8]
mov ecx, esi
push edi
call fcn.004972c0
xor edx, edx
mov dword [ebp - 0x3c], eax
mov dword [ebp + 0x18], edx
cmp dword [ebp - 0x14], edx
jle 0x498d50
lea edi, [esi + 0x90]
lea esp, [esp]
mov eax, dword [esi + 0x54]
push edx
push dword [ebp + 8]
mov ecx, dword [eax + 0xdc]
add ecx, 0x10
call fcn.004a5cf0
mov ecx, dword [edi]
test ecx, ecx
jne 0x498d2e
lea ecx, [edi + 4]
mov edx, dword [eax]
test edx, edx
jne 0x498d37
lea edx, [eax + 4]
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0x18]
mov edx, dword [ebp + 0x18]
add edi, 8
inc edx
mov dword [ebp + 0x18], edx
cmp edx, dword [ebp - 0x14]
jl 0x498d10
mov edi, dword [ebp + 8]
mov ecx, dword [esi + 0x54]
call fcn.00497ae0
test eax, eax
je 0x4987ed
cmp dword [ebp - 0x3c], 0
je 0x4987ed
mov eax, dword [esi + 0x54]
push 0
push edi
mov ecx, dword [eax + 0xdc]
add ecx, 0x10
call fcn.004a5cf0
mov ecx, dword [esi + 0x54]
push 1
push edi
mov dword [ebp + 0xc], eax
mov ecx, dword [ecx + 0xdc]
add ecx, 0x10
call fcn.004a5cf0
mov ecx, dword [esi + 0x54]
mov edi, eax
push 2
push dword [ebp + 8]
mov ecx, dword [ecx + 0xdc]
add ecx, 0x10
call fcn.004a5cf0
push eax
push edi
push dword [ebp + 0xc]
lea eax, [ebp - 0x48]
mov ecx, esi
push eax
call fcn.00495e10
push dword [ebp - 0x44]
lea eax, [ebp - 0x48]
mov ecx, esi
push dword [ebp - 0x48]
push eax
call fcn.004960b0
mov ecx, dword [esi + 0x54]
xor eax, eax
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x44], eax
mov dword [esi + 0xb8], edi
mov dword [esi + 0xbc], eax
mov dword [esi + 0xe8], 1
mov eax, dword [ecx]
push 1
call dword [eax + 0xb0]
mov ecx, dword [esi + 0x54]
push 3
push 1
call fcn.0049bc80
mov ecx, dword [esi + 0x54]
lea eax, [ebp - 0x48]
push 1
push dword [ebp + 8]
push eax
call fcn.0049b2c0
mov dword [esi + 0xf0], 0
mov eax, 6
mov dword [esi + 0xc4], 0xffffffff
mov dword [esi + 0xc8], 0xffffffff
mov dword [esi + 0xd0], 0
mov dword [esi + 0xcc], 0
test byte [0x652fc0], 4
mov dword [ebp + 0xc], eax
je case.0x4984a6.8
push 0
push edi
push str.FgCnt3__SendTouchInput___d__d__with_ewtfScreenPosMode__ewsFirstTouchDown___ewsWaitingForDragMotion_n
push 3
push str.CWingStateMachine::ProcessPacketByLWStateMachine
call fcn.004cb3a0
add esp, 0x14
jmp 0x4987ed
mov ecx, dword [ebp - 0x14]
cmp ecx, 1
jne 0x499034
mov ecx, edi
call fcn.00432d20
add dword [esi + 0xcc], eax
mov ecx, edi
call fcn.00432ee0
add dword [esi + 0xd0], eax
mov ecx, dword [ebp + 0x18]
test cl, 0x40
je 0x498f22
mov ecx, edi
call fcn.00432d20
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xa
jge 0x498f1f
mov ecx, edi
call fcn.00432ee0
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xa
jge 0x498f1f
mov ecx, dword [esi + 0x54]
push edi
call fcn.00403e00
mov ecx, eax
call fcn.00420970
mov ecx, eax
call fcn.00408510
mov ecx, dword [ebp - 0x18]
mov edi, eax
call fcn.00408510
sub eax, edi
cmp eax, 0x190
jbe 0x4987ed
push dword [ebp - 0x18]
mov ecx, esi
call fcn.00497e20
mov dword [esi + 0xd0], 0
mov eax, 3
mov dword [esi + 0xcc], 0
jmp case.0x4984a6.8
mov ecx, dword [ebp + 0x18]
test cl, 0x20
je 0x498f9c
mov eax, dword [esi + 0xcc]
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x32
jge 0x498f9c
mov eax, dword [esi + 0xd0]
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x64
jle 0x498f9c
lea ecx, [esi + 4]
call fcn.0044f900
test eax, eax
je 0x498f69
mov ecx, dword [eax + 0x34]
test ecx, ecx
jne 0x498f61
lea ecx, [eax + 0x40]
test ecx, ecx
je 0x498f69
push edi
mov ecx, esi
call fcn.00497e20
mov dword [esi + 0xd0], 0
mov eax, 3
mov dword [esi + 0xcc], 0
test byte [0x652fc0], 4
mov dword [ebp + 0xc], eax
je case.0x4984a6.8
push str.FgCnt1__V_motion__ewsFirstActivation___ewsWaitingForVertMotion_n
jmp 0x4987de
test cl, 0x10
je 0x498fec
push edi
mov ecx, esi
call fcn.00496db0
test eax, eax
je 0x498fe9
mov eax, 4
mov dword [esi + 0xec], 1
mov dword [esi + 0xd0], 0
mov dword [esi + 0xcc], 0
mov dword [ebp + 0xc], eax
test byte [0x652fc0], al
je case.0x4984a6.8
push str.FgCnt1__H_motion__ewsFirstActivation___ewsWaitingForHorzMotion_n
jmp 0x4987de
mov ecx, dword [ebp + 0x18]
test cl, cl
jns 0x4987ed
push edi
lea ecx, [esi + 4]
call fcn.0044f900
mov ecx, eax
call fcn.004210a0
mov ecx, eax
call fcn.004056b0
test al, al
jne 0x4987ed
mov ecx, edi
call fcn.004056b0
test al, al
je 0x4987ed
push edi
mov ecx, esi
call fcn.00497e20
mov eax, 9
jmp case.0x4984a6.8
cmp ecx, 3
jne case.0x4984a6.8
test dl, 4
je case.0x4984a6.8
push str.in_ewsFirstActivation__FgCnt3_n
jmp 0x4987de
mov ecx, dword [ebp - 0x14]
cmp ecx, 1
jne 0x4991e2
mov ecx, edi
call fcn.00432d20
add dword [esi + 0xcc], eax
mov ecx, edi
call fcn.00432ee0
add eax, dword [esi + 0xd0]
mov dword [esi + 0xd0], eax
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xc8
jle 0x4990fc
lea ecx, [esi + 4]
call fcn.0044f900
test eax, eax
je 0x4990de
mov ecx, dword [eax + 0x34]
test ecx, ecx
jne 0x4990a2
lea ecx, [eax + 0x40]
test ecx, ecx
je 0x4990de
cmp dword [esi + 0x54], 0
je 0x4990de
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov ecx, dword [esi + 0x54]
push eax
call fcn.00495ca0
test eax, eax
je 0x4990de
xor ecx, ecx
cmp dword [esi + 0xd0], ecx
setle cl
lea ecx, [ecx*2 - 1]
push ecx
push edi
mov dword [esi + 0xc8], ecx
mov ecx, dword [esi + 0x54]
push eax
call fcn.0049b9c0
mov dword [esi + 0xf0], 1
mov dword [esi + 0xd0], 0
mov dword [esi + 0xcc], 0
mov eax, dword [esi + 0xcc]
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x64
jle 0x499199
lea ecx, [esi + 4]
call fcn.0044f900
test eax, eax
je 0x49917b
mov ecx, dword [eax + 0x34]
test ecx, ecx
jne 0x49912a
lea ecx, [eax + 0x40]
test ecx, ecx
je 0x49917b
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov ecx, dword [esi + 0x54]
xorps xmm0, xmm0
push eax
movdqu xmmword [ebp - 0x58], xmm0
call fcn.00495ca0
test eax, eax
je 0x49917b
lea ecx, [ebp - 0x58]
push ecx
mov ecx, dword [esi + 0x54]
push eax
call fcn.00495bb0
test byte [0x652fc0], 4
je 0x49917b
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
push dword [ebp - 0x54]
push dword [ebp - 0x58]
push str.Focus_window_rect__left:_d__top:_d__right:_d__bottom:_d__n
push 3
push str.CWingStateMachine::ProcessPacketByLWStateMachine
call fcn.004cb3a0
add esp, 0x1c
mov eax, 4
mov dword [esi + 0xd0], 0
mov dword [esi + 0xcc], 0
mov dword [ebp + 0xc], eax
jmp 0x49919c
mov eax, dword [ebp + 0xc]
cmp dword [esi + 0xf4], 0
je case.0x4984a6.8
mov ecx, dword [ebp - 0x10]
call fcn.004056b0
test al, al
je 0x4987ed
mov ecx, edi
call fcn.004056b0
test al, al
jne 0x4987ed
mov ecx, esi
call fcn.00497b00
mov eax, dword [ebp + 0x18]
not al
movzx eax, al
shr eax, 7
or eax, 0xa
jmp case.0x4984a6.8
cmp ecx, 3
jne case.0x4984a6.8
test dl, 4
je case.0x4984a6.8
push str.in_ewsWaitingForVertMotion__FgCnt3_n
jmp 0x4987de
mov ecx, dword [ebp - 0x14]
cmp ecx, 1
jne 0x499340
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
call fcn.00408970
push eax
mov ecx, edi
call fcn.00408830
mov ecx, dword [esi + 0x54]
push eax
call fcn.00497ba0
mov ecx, edi
call fcn.00432d20
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xa
jge 0x49928d
mov ecx, dword [ebp - 0x10]
call fcn.00432d20
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xa
jge 0x49928d
mov ecx, edi
call fcn.00432ee0
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xa
jle 0x49928d
mov ecx, dword [ebp - 0x10]
call fcn.00432ee0
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xa
jle 0x49928d
mov eax, 3
mov dword [esi + 0xd0], 0
mov dword [esi + 0xcc], 0
mov dword [ebp + 0xc], eax
jmp 0x49919c
mov ecx, edi
call fcn.00432d20
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xa
jle 0x4992f4
mov ecx, dword [ebp - 0x10]
call fcn.00432d20
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xa
jle 0x4992f4
mov ecx, edi
call fcn.00432ee0
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xa
jge 0x4992f4
mov ecx, dword [ebp - 0x10]
call fcn.00432ee0
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xa
jge 0x4992f4
mov eax, 5
mov dword [esi + 0xd0], 0
mov dword [esi + 0xcc], 0
mov dword [ebp + 0xc], eax
jmp 0x49919c
mov ecx, dword [ebp - 0x40]
cmp ecx, 0x64
jle 0x499302
cmp dword [ebp - 0x20], 0
je 0x49931f
mov eax, dword [ebp - 0x48]
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x64
jle 0x499199
cmp dword [ebp - 0x20], 0
je 0x499199
mov eax, 5
mov dword [esi + 0xd0], 0
mov dword [esi + 0xcc], 0
mov dword [ebp + 0xc], eax
jmp 0x49919c
cmp ecx, 3
jne case.0x4984a6.8
test dl, 4
je case.0x4984a6.8
push str.in_ewsWaitingForHorzMotion__FgCnt3_n
jmp 0x4987de
mov ecx, dword [ebp - 0x14]
cmp ecx, 1
jne 0x4995a6
mov ecx, edi
call fcn.00432d20
add dword [esi + 0xcc], eax
mov ecx, edi
call fcn.00432ee0
mov ecx, eax
mov eax, dword [esi + 0xcc]
add ecx, dword [esi + 0xd0]
cdq
xor eax, edx
mov dword [esi + 0xd0], ecx
sub eax, edx
cmp eax, 0x32
jle 0x4987ed
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x32
jge 0x4987ed
lea ecx, [esi + 4]
call fcn.0044f900
test eax, eax
je 0x4987ed
mov ecx, dword [eax + 0x34]
test ecx, ecx
jne 0x4993d0
lea ecx, [eax + 0x40]
test ecx, ecx
je 0x4987ed
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
cmp dword [esi + 0xec], 0
je 0x499415
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
call fcn.00408970
push eax
mov ecx, edi
call fcn.00408830
mov ecx, dword [esi + 0x54]
push eax
call fcn.00497ba0
mov eax, dword [ebp - 0x48]
xor ecx, ecx
cmp dword [ebp - 0x20], ecx
mov dword [esi + 0xec], ecx
cmove eax, ecx
mov dword [ebp - 0x40], eax
jmp 0x49947e
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov ecx, dword [esi + 0x54]
xorps xmm0, xmm0
push eax
movdqu xmmword [ebp - 0x58], xmm0
call fcn.00495ca0
lea ecx, [ebp - 0x58]
push ecx
mov ecx, dword [esi + 0x54]
push eax
call fcn.00495bb0
test byte [0x652fc0], 4
je 0x499462
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
push dword [ebp - 0x54]
push dword [ebp - 0x58]
push str.Focus_window_rect__left:_d__top:_d__right:_d__bottom:_d__n
push 3
push str.CWingStateMachine::ProcessPacketByLWStateMachine
call fcn.004cb3a0
add esp, 0x1c
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x50]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x4c]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x3c], eax
mov ecx, dword [esi + 0x54]
call fcn.00497ae0
test eax, eax
je 0x499503
mov dword [esi + 0xe8], 1
test byte [0x652fc0], 4
je 0x4994b3
push 1
push str.LeftWing_Drag:__d_n
push 3
push str.CWingStateMachine::ProcessPacketByLWStateMachine
call fcn.004cb3a0
add esp, 0x10
mov ecx, dword [esi + 0x54]
push 1
mov eax, dword [ecx]
call dword [eax + 0xb0]
mov ecx, dword [esi + 0x54]
push 3
push 1
call fcn.0049bc80
mov ecx, dword [esi + 0x54]
lea eax, [ebp - 0x40]
push 1
push dword [ebp + 8]
push eax
call fcn.0049b2c0
test byte [0x652fc0], 4
mov dword [ebp + 0xc], 6
je 0x49954d
push str.in_ewsWaitingForAction__fgCnt1__SendTouchInput____ewsWaitingForDragMotion
push 3
push str.CWingStateMachine::ProcessPacketByLWStateMachine
call fcn.004cb3a0
add esp, 0xc
jmp 0x49954d
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
lea eax, [ebp + 8]
mov dword [ebp - 4], 3
push eax
lea ecx, [ebp - 0x54]
mov dword [ebp + 8], 0xd
call fcn.0049c3b0
mov ecx, dword [esi + 0x54]
lea eax, [ebp - 0x54]
push eax
call fcn.0049b210
lea ecx, [ebp - 0x54]
mov dword [ebp + 0xc], 0xb
call fcn.00409120
xor eax, eax
mov dword [esi + 0xe4], 0
cmp dword [esi + 0xcc], eax
mov dword [esi + 0xf0], 0
setge al
mov dword [esi + 0xf4], 0
mov dword [esi + 0xc8], 0xffffffff
mov dword [esi + 0xd0], 0
mov dword [esi + 0xcc], 0
lea eax, [eax*2 - 1]
mov dword [esi + 0xc4], eax
jmp 0x4987ed
cmp ecx, 3
jne case.0x4984a6.8
test dl, 4
je case.0x4984a6.8
push str.in_ewsWaitingForAction__FgCnt3_n
jmp 0x4987de
mov ecx, dword [ebp - 0x14]
cmp ecx, 1
jne 0x499842
test dl, 4
je 0x4995e7
push str.in_ewsWaitingForDragMotion_n
push 3
push str.CWingStateMachine::ProcessPacketByLWStateMachine
call fcn.004cb3a0
add esp, 0xc
mov eax, dword [ebp - 0x48]
xor ecx, ecx
cmp dword [ebp - 0x20], ecx
push ecx
push dword [ebp + 8]
cmove eax, ecx
mov dword [ebp - 0x44], ecx
mov ecx, dword [esi + 0x54]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x48]
push eax
call fcn.0049b2c0
mov ecx, edi
call fcn.00432d20
add dword [esi + 0xcc], eax
mov ecx, edi
call fcn.00432ee0
add dword [esi + 0xd0], eax
mov eax, dword [esi + 0xc8]
cmp eax, 0xffffffff
jne 0x499665
mov ecx, edi
call fcn.00432d20
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xa
jge 0x4996b4
mov ecx, dword [ebp - 0x10]
call fcn.00432d20
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xa
jge 0x4996b4
cmp dword [esi + 0xd0], 0xffffffce
jge 0x4996b4
mov dword [esi + 0xc8], 1
jmp 0x4996a0
cmp eax, 1
jne 0x4996b4
mov ecx, edi
call fcn.00432d20
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xa
jge 0x4996b4
mov ecx, dword [ebp - 0x10]
call fcn.00432d20
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xa
jge 0x4996b4
cmp dword [esi + 0xd0], 0x32
jle 0x4996b4
mov dword [esi + 0xc8], 0xffffffff
mov dword [esi + 0xcc], 0
mov dword [esi + 0xd0], 0
lea eax, [ebp - 0x48]
mov ecx, edi
push eax
call fcn.00408970
push eax
mov ecx, edi
call fcn.00408830
mov ecx, dword [esi + 0x54]
push eax
call fcn.00497ba0
cmp dword [esi + 0xe8], 0
je 0x4997d3
mov ecx, dword [esi + 0xe4]
mov eax, dword [ebp - 0x48]
test ecx, ecx
jne 0x499706
cmp eax, 0x64
jle 0x4996fe
mov dword [esi + 0xe4], 1
jmp 0x4997d3
test ecx, ecx
je 0x4997d3
cmp eax, 0x64
jg 0x4997d3
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
lea eax, [ebp + 8]
mov dword [ebp - 4], 4
push eax
lea ecx, [ebp - 0x54]
mov dword [esi + 0xec], 0
mov dword [esi + 0xe8], 0
mov dword [esi + 0xe4], 0
mov dword [esi + 0xf4], 0
mov dword [ebp + 8], 0x1b
call fcn.0049c3b0
mov ecx, dword [esi + 0x54]
lea eax, [ebp - 0x54]
push eax
call fcn.0049b210
mov ecx, dword [esi + 0x54]
call fcn.0049bc60
mov ecx, dword [esi + 0x54]
call fcn.0049a7d0
mov dword [esi + 0xc0], 0
mov dword [esi + 0xd0], 0
mov dword [esi + 0xcc], 0
test byte [0x652fc0], 4
mov dword [ebp + 0xc], 7
je 0x4997c4
push str.in_ewsWaitingForDragMotion__fgCnt1__sent_ESC_key____ewsWaitingForEndOfDragMotion
push 3
push str.CWingStateMachine::ProcessPacketByLWStateMachine
call fcn.004cb3a0
add esp, 0xc
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], 0xffffffff
call fcn.00409120
cmp dword [esi + 0xf4], 0
jne 0x4991a9
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov ecx, dword [esi + 0x54]
push eax
call fcn.00495ca0
test eax, eax
jne 0x4987ed
test byte [ebp + 0x18], 0x80
je 0x4987ed
mov ecx, dword [ebp - 0x10]
call fcn.004056b0
test al, al
jne 0x4987ed
mov ecx, edi
call fcn.004056b0
test al, al
je 0x4987ed
mov ecx, dword [esi + 0x54]
call fcn.0049bc60
mov ecx, dword [esi + 0x54]
call fcn.0049a7d0
push edi
mov ecx, esi
call fcn.00497e20
mov eax, 9
jmp case.0x4984a6.8
cmp ecx, 3
jne case.0x4984a6.8
mov eax, dword [esi + 0x54]
mov edi, dword [ebp + 8]
push 0
push edi
mov ecx, dword [eax + 0xdc]
add ecx, 0x10
call fcn.004a5cf0
mov ecx, dword [esi + 0x54]
push 1
push edi
mov dword [ebp + 0x18], eax
mov ecx, dword [ecx + 0xdc]
add ecx, 0x10
call fcn.004a5cf0
mov ecx, dword [esi + 0x54]
mov edi, eax
push 2
push dword [ebp + 8]
mov ecx, dword [ecx + 0xdc]
add ecx, 0x10
call fcn.004a5cf0
push eax
push edi
push dword [ebp + 0x18]
lea eax, [ebp - 0x40]
mov ecx, esi
push eax
call fcn.00495e10
test byte [0x652fc0], 4
mov eax, dword [esi + 0xb8]
mov dword [ebp + 0x18], eax
mov dword [ebp - 0x48], eax
mov eax, dword [esi + 0xbc]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x44], eax
je 0x4998f1
mov ecx, dword [ebp - 0x18]
call fcn.00408970
mov ecx, dword [ebp - 0x18]
push eax
call fcn.00408830
push eax
push dword [ebp - 0x3c]
push dword [ebp + 0x18]
push str.in_ewsWaitingForDragMotion__FgCnt3__sendInput_with_screenPos__d__d___pktPos__d__d___mode_ewtfTouchpadPosMode_ewtfXUsedInput__n
push 3
push str.CWingStateMachine::ProcessPacketByLWStateMachine
call fcn.004cb3a0
add esp, 0x1c
mov ecx, dword [esi + 0x54]
lea eax, [ebp - 0x48]
push 8
push dword [ebp + 8]
push eax
call fcn.0049b2c0
jmp 0x4987ed
cmp dword [ebp - 0x14], 1
jne case.0x4984a6.8
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov ecx, dword [esi + 0x54]
push eax
call fcn.00495ca0
test eax, eax
je 0x499931
mov ecx, dword [esi + 0x54]
call fcn.0049a7d0
jmp 0x4987ed
mov dword [esi + 0xc0], 0
mov eax, 2
mov dword [esi + 0xd0], 0
mov dword [esi + 0xcc], 0
jmp case.0x4984a6.8
mov ecx, dword [ebp - 0x10]
call fcn.004056b0
test al, al
je 0x4987ed
mov ecx, edi
call fcn.004056b0
test al, al
jne 0x4987ed
mov eax, 3
jmp case.0x4984a6.8
mov ecx, dword [ebp - 0x10]
call fcn.004056b0
test al, al
jne 0x4987ed
mov ecx, edi
call fcn.004056b0
test al, al
je 0x4987ed
jmp 0x499828