Function at 0x1400981b0
Capabilities:
Check for unmoving mouse cursor
Log keystrokes via polling

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x198
mov qword [rsp + 0x180], 0xfffffffffffffffe
mov ebx, edx
mov rsi, rcx
and byte [rcx + 0x9b0], 0xfe
mov r8b, 1
movzx edx, r8b
movzx ecx, dl
call fcn.1400a9180
lea rcx, [rsi + 0xd0]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov rax, qword [rsi + 0xd0]
mov qword [rsi + 0xd8], rax
mov r14d, 1
test byte [rsi + 0x3cc], r14b
je 0x14009825d
mov ecx, r14d
call qword [sym.imp.USER32.dll_GetKeyState]
mov edi, 0x8000
test di, ax
jne 0x140098248
lea ecx, [r14 + 1]
call qword [sym.imp.USER32.dll_GetKeyState]
test di, ax
jne 0x140098248
xor eax, eax
jmp 0x14009824b
mov al, r14b
and byte [rsi + 0x458], 0xfe
and al, r14b
or byte [rsi + 0x458], al
jmp 0x140098264
and byte [rsi + 0x458], 0xfe
test byte [rsi + 0x458], r14b
je 0x14009827a
lea rcx, [rsi + 0x45c]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov eax, ebx
shr eax, 8
and al, r14b
movzx r15d, al
cmp byte [0x140260af9], 0
cmove r15d, r14d
mov dword [rsp + 0x50], r15d
mov rcx, qword [rsi + 0x40]
test rcx, rcx
je 0x1400982a5
call qword [sym.imp.USER32.dll_DestroyWindow]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x648]
mov rdi, rax
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + 0x298]
test al, al
jne 0x140098348
mov rdx, rsi
mov rcx, rdi
call fcn.14007be60
test al, al
jne 0x1400982e1
cmp qword [rsi + 0x3e8], 0
jne 0x140098348
movzx eax, byte [rsp + 0x78]
and al, 0xf8
mov qword [rsp + 0x80], rsi
and al, 0xfb
mov byte [rsp + 0x78], al
test al, 4
mov edx, dword [0x1402728c8]
cmovne edx, dword [0x1402728cc]
mov r9, rsi
lea r8, [rsp + 0x78]
mov rcx, qword [rsi + 0x3d8]
call qword [sym.imp.USER32.dll_SendMessageW]
movzx edx, byte [rsp + 0x78]
test dl, 2
je 0x14009832b
xor eax, eax
jmp 0x1400991d5
test r14b, dl
je 0x140098348
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x5c0]
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + 0x4a0]
movzx eax, byte [rsp + 0x68]
and al, 0xf8
mov qword [rsp + 0x70], rsi
or al, 4
mov byte [rsp + 0x68], al
test al, 4
mov edx, dword [0x1402728c8]
cmovne edx, dword [0x1402728cc]
mov r9, rsi
lea r8, [rsp + 0x68]
mov rcx, qword [rsi + 0x3d8]
call qword [sym.imp.USER32.dll_SendMessageW]
movzx edx, byte [rsp + 0x68]
test dl, 2
je 0x14009838f
xor eax, eax
jmp 0x1400991d5
test r14b, dl
je 0x1400983ac
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x5c0]
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + 0x4a0]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x298]
xor r13d, r13d
test al, al
jne 0x140098ae0
mov r12d, r13d
mov dword [rsp + 0x1e0], r13d
cmp qword [rsi + 0x9e8], r12
jle 0x140098ae0
nop dword [rax + rax]
mov edx, r12d
mov rcx, rsi
call fcn.1400818b0
mov r15, rax
cmp dword [rax + 0xc], 0
sete cl
test cl, cl
jne 0x140098a9e
mov rcx, rax
call fcn.140078bf0
mov ebp, eax
lea ecx, [rax - 0xf000]
cmp ecx, 0x1ef
ja 0x140098a9e
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rsp + 0x140]
call fcn.14002fb80
mov dword [rsp + 0x140], 0x2c
lea rdx, [rsp + 0x140]
mov rcx, qword [r15 + 0xd8]
call qword [sym.imp.USER32.dll_GetWindowPlacement]
mov edx, 0xfffffff0
mov rcx, qword [r15 + 0xd8]
call qword [sym.imp.USER32.dll_GetWindowLongPtrW]
mov rdi, rax
mov edx, 0xffffffec
mov rcx, qword [r15 + 0xd8]
call qword [sym.imp.USER32.dll_GetWindowLongPtrW]
mov r11, rax
xor bl, bl
cmp ebp, 0xf030
ja 0x14009851e
cmp ebp, 0xf030
je 0x1400984f1
mov ecx, ebp
sub ecx, 0xf000
je 0x1400984c4
sub ecx, 0x10
je 0x1400984c4
cmp ecx, 0x10
jne 0x140098a9e
bt rdi, 0x11
jae 0x140098611
cmp dword [rsp + 0x148], 2
je 0x140098611
mov bl, 1
jmp 0x140098611
mov eax, dword [rsp + 0x148]
cmp eax, 2
je 0x140098611
cmp eax, 3
je 0x140098611
cmp byte [0x1402728a4], 0
jne 0x140098611
mov bl, 1
jmp 0x140098611
bt rdi, 0x10
jae 0x140098611
cmp dword [rsp + 0x148], 3
je 0x140098611
cmp byte [0x1402728a4], 0
jne 0x140098611
mov bl, 1
jmp 0x140098611
mov eax, ebp
sub eax, 0xf060
je 0x140098572
sub eax, 0xc0
je 0x140098549
cmp eax, 0x60
jne 0x140098a9e
bt r11, 0xa
jae 0x140098611
mov bl, 1
jmp 0x140098611
test rdi, 0x30000
je 0x140098611
mov eax, dword [rsp + 0x148]
cmp eax, 3
je 0x14009856b
cmp eax, 2
jne 0x140098611
mov bl, 1
jmp 0x140098611
mov bl, 1
xor edx, edx
mov rcx, qword [r15 + 0xd8]
call qword [sym.imp.USER32.dll_GetSystemMenu]
xor ecx, ecx
mov qword [rsp + 0xf0], rcx
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], rcx
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x128], rcx
mov qword [rsp + 0x130], rcx
mov dword [rsp + 0xf0], 0x48
mov dword [rsp + 0xf4], r14d
test rax, rax
je 0x140098611
lea r9, [rsp + 0xf0]
xor r8d, r8d
mov edx, 0xf060
mov rcx, rax
call qword [sym.imp.USER32.dll_GetMenuItemInfoW]
test eax, eax
je 0x140098611
test byte [rsp + 0xfc], 3
movzx ebx, bl
cmovne ebx, r13d
lea rcx, [0x1402726f8]
call fcn.1400558f0
mov rcx, rax
mov rdx, qword [rsi + 0x3d8]
call fcn.14005ae50
mov rdi, rax
lea rcx, [0x1402726f8]
call fcn.1400558f0
mov rcx, rax
mov r8d, ebp
mov rdx, rdi
call fcn.140055b40
mov r13, rax
test rax, rax
jne 0x14009868c
lea rcx, [0x1402726f8]
call fcn.1400558f0
mov rcx, rax
mov rdx, qword [rsi + 0x3d8]
call fcn.14005ae50
mov rdi, rax
lea rcx, [0x1402726f8]
call fcn.1400558f0
mov rcx, rax
mov r8d, ebp
mov rdx, rdi
call fcn.140055b10
mov r13, rax
mov rax, qword [r13]
movzx edx, bl
mov rcx, r13
call qword [rax + 0x60]
cmp dword [r15 + 0xc], 0
sete al
test al, al
jne 0x1400986ba
and byte [r15 + 0xbd], 0xbf
and bl, 1
shl bl, 6
or byte [r15 + 0xbd], bl
mov r14, qword [r15 + 0xd8]
xor edx, edx
mov rcx, r14
call qword [sym.imp.USER32.dll_GetSystemMenu]
mov rdi, rax
test rax, rax
je 0x140098a8f
xor eax, eax
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe0], rax
mov dword [rsp + 0xa0], 0x48
mov dword [rsp + 0xa4], 0x3f
mov dword [rsp + 0xe0], 0x400
call fcn.140008c24
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x140098ad0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x40], rbx
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, 0x400
or eax, ecx
jge 0x140098792
mov edx, 0x400
lea rcx, [rsp + 0x40]
call fcn.140004ec0
mov rbx, qword [rsp + 0x40]
mov qword [rsp + 0xd8], rbx
test rbx, rbx
je 0x140098a56
lea r9, [rsp + 0xa0]
xor r8d, r8d
mov edx, ebp
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetMenuItemInfoW]
test eax, eax
je 0x140098a25
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.14002fac8
test eax, eax
js 0x140098aba
cmp eax, dword [rbx - 0xc]
jg 0x140098aba
mov dword [rbx - 0x10], eax
cdqe
xor ecx, ecx
mov word [rbx + rax*2], cx
lea r8, [0x1401dd700]
lea rdx, [0x1401df7c0]
lea rcx, [rsp + 0x40]
call fcn.140001080
lea r8, [0x1401dd700]
lea rdx, [0x1401e8268]
lea rcx, [rsp + 0x40]
call fcn.140001080
lea rcx, [rsp + 0x40]
call fcn.14004e2c0
lea rcx, [rsp + 0x40]
call fcn.14004e3e0
mov rbx, qword [rsp + 0x40]
cmp dword [rbx - 0x10], 0
je 0x140098a51
mov edx, 9
mov rcx, rbx
call fcn.140033490
mov rdi, rax
test rax, rax
je 0x140098923
sub rdi, rbx
sar rdi, 1
test edi, edi
js 0x140098923
mov r8d, dword [rbx - 0x10]
sub r8d, edi
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x40]
call fcn.140006510
nop
lea r12, [r13 + 0x40]
mov rdx, rax
mov rcx, r12
call fcn.140004ac0
nop
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400988b0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, r12
call fcn.14004e2c0
mov rcx, r12
call fcn.14004e3e0
mov r8d, edi
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x40]
call fcn.140001620
nop
lea rbp, [r13 + 0x20]
mov rdx, rax
mov rcx, rbp
call fcn.140004ac0
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140098909
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, rbp
call fcn.14004e2c0
mov rcx, rbp
call fcn.14004e3e0
mov rbx, qword [rsp + 0x40]
jmp 0x1400989b0
lea rbp, [r13 + 0x20]
lea rcx, [rbx - 0x18]
mov rdi, qword [rbp]
sub rdi, 0x18
cmp rcx, rdi
je 0x140098986
cmp dword [rdi + 0x10], 0
jl 0x140098977
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x140098977
call fcn.1400049b0
mov rbx, rax
or ecx, 0xffffffff
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x140098968
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbx + 0x18]
mov qword [rbp], rax
mov rbx, qword [rsp + 0x40]
jmp 0x140098986
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
mov rcx, rbp
call fcn.140005080
lea r12, [r13 + 0x40]
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [0x1401dd700]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [0x1401dd700]
mov rcx, r12
call fcn.140005080
cmp dword [r13 + 0x10], 0xf060
jne 0x140098a00
mov rcx, r14
call fcn.1400125b0
test rax, rax
je 0x140098a00
lea rdx, str.CMDIChildWnd
mov rcx, rax
call fcn.14001b150
test eax, eax
je 0x140098a00
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, str.CtrlF4
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, str.CtrlF4
mov rcx, r12
call fcn.140005080
mov rdx, qword [rbp]
mov rcx, r15
call fcn.140095140
mov rdx, qword [r12]
mov rcx, r15
call fcn.1400920d0
mov r12d, dword [rsp + 0x1e0]
xor r13d, r13d
jmp 0x140098a59
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.14002fac8
test eax, eax
js 0x140098ac5
cmp eax, dword [rbx - 0xc]
jg 0x140098ac5
mov dword [rbx - 0x10], eax
cdqe
xor r13d, r13d
mov word [rbx + rax*2], r13w
jmp 0x140098a59
xor r13d, r13d
jmp 0x140098a59
xor r13d, r13d
bt dword [rsp + 0xac], 0xc
jae 0x140098a6c
or byte [r15 + 0xbe], 8
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140098a98
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r14d, 1
jmp 0x140098a9e
xor r13d, r13d
lea r14d, [r13 + 1]
jmp 0x140098a9e
mov r14d, 1
inc r12d
mov dword [rsp + 0x1e0], r12d
movsxd rax, r12d
cmp rax, qword [rsi + 0x9e8]
jge 0x140098adb
jmp 0x1400983e0
mov ecx, 0x80070057
call fcn.1400052e0
int3
mov ecx, 0x80070057
call fcn.1400052e0
nop
mov ecx, 0x80004005
call fcn.1400052e0
int3
mov r15d, dword [rsp + 0x50]
mov rcx, qword [rsi + 0x3d8]
call fcn.14001256c
mov r14, rax
movzx ebx, byte [rsi + 0x3cc]
and bl, 1
movzx ebp, byte [rsi + 0x3cc]
shr bpl, 2
and bpl, 1
mov edi, dword [rsi + 0x3d4]
and edi, 0x30000
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + 0x4a8]
and bpl, 1
shl bpl, 2
movzx eax, byte [rsi + 0x3cc]
and al, 0xfa
or bpl, al
and bl, 1
or bpl, bl
mov byte [rsi + 0x3cc], bpl
or edi, dword [rsp + 0x1e8]
mov dword [rsi + 0x3d4], edi
mov r12, qword [rsp + 0x208]
mov qword [rsi + 0xe8], r12
mov rax, qword [rsp + 0x210]
mov qword [rsi + 0xf0], rax
movzx r13d, byte [rsp + 0x218]
mov byte [rsi + 0xf8], r13b
test bpl, 1
jne 0x140098bc2
mov rax, qword [rsi + 0x3e8]
test byte [rax + 0x3cc], 8
je 0x140098c03
test bpl, 4
je 0x140098bb5
and bpl, 0xfb
or bpl, 8
mov byte [rsi + 0x3cc], bpl
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x5c0]
jmp 0x140098c03
or bpl, 8
mov byte [rsi + 0x3cc], bpl
jmp 0x140098c03
test r15b, r15b
je 0x140098bf7
test bpl, 4
je 0x140098bea
and bpl, 0xfb
or bpl, 8
mov byte [rsi + 0x3cc], bpl
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x5c0]
jmp 0x140098c03
or bpl, 8
mov byte [rsi + 0x3cc], bpl
jmp 0x140098c03
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x5c0]
mov ecx, dword [rsp + 0x1f0]
mov dword [rsi + 0xc8], ecx
mov dword [rsi + 0xc0], ecx
mov eax, dword [rsp + 0x1f8]
mov dword [rsi + 0xcc], eax
mov dword [rsi + 0xc4], eax
cmp ecx, 0xffff8300
jl 0x140098c38
cmp eax, 0xffff8300
jge 0x140098c5d
mov r15d, dword [rsp + 0x1e8]
bt r15d, 0x14
jb 0x140098c65
lea rcx, [rsi + 0xc0]
call qword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
jne 0x140098c65
jmp 0x1400991d5
mov r15d, dword [rsp + 0x1e8]
mov rdx, qword [rsp + 0x200]
test rdx, rdx
je 0x140098c8b
lea rbp, [rsi + 0xb0]
mov rcx, rbp
call qword [sym.imp.USER32.dll_CopyRect]
or byte [rsi + 0xe0], 1
jmp 0x140098cc6
and byte [rsi + 0xe0], 0xfe
mov ecx, dword [rsi + 0xc0]
lea rbp, [rsi + 0xb0]
lea eax, [rcx - 3]
mov dword [rbp], eax
lea eax, [rcx + 3]
mov dword [rsi + 0xb8], eax
mov ecx, dword [rsi + 0xc4]
lea eax, [rcx - 3]
mov dword [rsi + 0xb4], eax
lea eax, [rcx + 3]
mov dword [rsi + 0xbc], eax
and byte [rsi + 0xe0], 0xfd
movzx eax, byte [rsi + 0xe0]
test al, 1
je 0x140098d28
mov ecx, r15d
and ecx, 0x30
cmp ecx, 0x10
je 0x140098d20
cmp ecx, 0x20
jne 0x140098d28
lea rcx, [rsi + 0xa8]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rdi, qword [rax]
xor ecx, ecx
mov rdx, rcx
test r13b, r13b
cmovne rdx, r12
mov rcx, rax
call qword [rdi + 0x350]
and byte [rsi + 0xe0], 0xfd
and al, 1
add al, al
or byte [rsi + 0xe0], al
jmp 0x140098d28
or al, 2
mov byte [rsi + 0xe0], al
mov rax, qword [rsi]
lea rdx, [rsp + 0x48]
mov rcx, rsi
call qword [rax + 0x618]
test byte [rsi + 0xe0], 1
je 0x140098e87
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x280]
test al, al
je 0x140098da8
test byte [rsi + 0x3cc], 1
jne 0x140098da8
mov rax, qword [rsi + 0x3e8]
test rax, rax
je 0x140098da8
nop dword [rax + rax]
test byte [rax + 0x3cc], 1
jne 0x140098d87
mov rax, qword [rax + 0x3e8]
test rax, rax
jne 0x140098d70
jmp 0x140098da8
mov ecx, dword [rax + 0x3d4]
and ecx, 0xf
cmp ecx, 4
je 0x140098d9a
cmp ecx, 6
jne 0x140098da8
and dword [rsi + 0x3d4], 0xfffffff3
or dword [rsi + 0x3d4], 3
mov ecx, dword [rsi + 0x3d4]
and ecx, 0xf
mov eax, ecx
sub eax, 1
je 0x140098e6f
sub eax, 2
je 0x140098e54
sub eax, 1
je 0x140098e3d
cmp eax, 2
jne 0x140098ded
mov eax, dword [rbp]
mov dword [rsi + 0xc0], eax
mov eax, dword [rsi + 0xb4]
sub eax, dword [rsp + 0x4c]
mov dword [rsi + 0xc4], eax
jmp 0x140098e87
cmp ecx, 3
jne 0x140098dfe
mov eax, dword [rsp + 0x48]
sub dword [rsi + 0xc0], eax
jmp 0x140098e14
cmp ecx, 2
jne 0x140098e14
mov eax, dword [rsp + 0x48]
cdq
sub eax, edx
sar eax, 1
neg eax
add dword [rsi + 0xc0], eax
cmp ecx, 6
jne 0x140098e25
mov eax, dword [rsp + 0x4c]
sub dword [rsi + 0xc4], eax
jmp 0x140098e87
cmp ecx, 5
jne 0x140098e87
mov eax, dword [rsp + 0x4c]
cdq
sub eax, edx
sar eax, 1
neg eax
add dword [rsi + 0xc4], eax
jmp 0x140098e87
mov eax, dword [rbp]
mov dword [rsi + 0xc0], eax
mov eax, dword [rsi + 0xbc]
mov dword [rsi + 0xc4], eax
jmp 0x140098e87
mov eax, dword [rbp]
sub eax, dword [rsp + 0x48]
mov dword [rsi + 0xc0], eax
mov eax, dword [rsi + 0xb4]
mov dword [rsi + 0xc4], eax
jmp 0x140098e87
mov eax, dword [rsi + 0xb8]
mov dword [rsi + 0xc0], eax
mov eax, dword [rsi + 0xb4]
mov dword [rsi + 0xc4], eax
mov rax, qword [rsi]
mov rdx, r14
mov rcx, rsi
call qword [rax + 0x490]
test al, al
jne 0x140098ea1
xor eax, eax
jmp 0x1400991d5
test r15b, 0x40
je 0x140098ef6
mov rax, qword [rsi]
mov edx, 0xffffff9b
mov rcx, rsi
call qword [rax + 0x628]
mov edx, eax
test eax, eax
js 0x140098efb
mov rdi, qword [rsi + 0x40]
mov rax, qword [rsi]
xor r14d, r14d
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
call qword [rax + 0x540]
mov rcx, rdi
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x140098efe
jmp 0x1400991d5
xor r14d, r14d
jmp 0x140098efe
xor r14d, r14d
mov rbx, qword [rsi + 0x40]
bt r15d, 0xf
jb 0x140098f5d
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x298]
test al, al
jne 0x140098f5d
mov eax, dword [0x1402728b8]
mov dword [rsi + 0xfc], eax
cmp byte [0x140274730], 0
je 0x140098f35
mov dword [rsi + 0xfc], r14d
mov dword [rsi + 0x100], 2
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x2a8]
mov rcx, rbx
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x140098f64
jmp 0x1400991d5
mov dword [rsi + 0xfc], r14d
cmp dword [rsi + 0xfc], 0
jne 0x140098f9e
mov dword [rsi + 0xfc], 0xffffffff
mov dword [rsi + 0x100], 2
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x2a8]
mov rcx, rbx
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1400991d5
lea rdi, [rsi + 0x9b8]
test rdi, rdi
je 0x14009902f
cmp qword [rdi + 8], 0
je 0x14009902f
mov qword [rsp + 0x60], r14
lea rbp, vtable.CRgn.0
mov qword [rsp + 0x58], rbp
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.GDI32.dll_CreateRectRgn]
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.14000c9e8
test rdi, rdi
jne 0x140098fed
mov rdx, r14
jmp 0x140098ff1
mov rdx, qword [rdi + 8]
mov r9d, 5
xor r8d, r8d
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.GDI32.dll_CombineRgn]
lea rcx, [rsp + 0x58]
call fcn.14000ca24
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_SetWindowRgn]
nop
mov qword [rsp + 0x58], rbp
lea rcx, [rsp + 0x58]
call fcn.14000cc4c
test byte [0x14027327d], 4
jne 0x140099047
mov r8b, 1
movzx edx, r8b
movzx ecx, dl
call fcn.1400a9180
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x278]
movzx r13d, al
xor r12b, r12b
mov rax, qword [0x140273768]
test r13b, r13b
jne 0x140099089
movzx ecx, byte [0x14027327d]
test cl, 4
je 0x1400990a0
test rax, rax
je 0x1400990a0
mov edx, dword [rsi + 0xfc]
test edx, edx
je 0x140099086
cmp edx, 0xffffffff
jne 0x1400990a0
mov r12b, 1
mov r9d, 2
mov r8b, 1
xor edx, edx
mov rcx, qword [rsi + 0x40]
call rax
mov cl, byte [0x14027327d]
test cl, 0x20
je 0x140099104
lea rcx, [0x140273678]
call fcn.1400c8550
test eax, eax
je 0x140099104
lea rdx, [rsp + 0x170]
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_GetWindowRect]
xor edx, edx
lea rcx, [rsp + 0x170]
call fcn.1400a80e0
mov rbp, rax
test rax, rax
je 0x140099104
lea rdi, [rsi + 0x378]
test rdi, rdi
je 0x1400990f9
cmp qword [rdi + 8], 0
je 0x1400990f9
mov rcx, rdi
call fcn.14000ca68
mov rdx, rbp
mov rcx, rdi
call fcn.14000c9e8
mov dword [rsp + 0x30], 0x57
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x140271070]
mov rcx, rsi
call fcn.14000a8a8
test r13b, r13b
jne 0x14009914f
test r12b, r12b
jne 0x14009914f
test byte [0x14027327d], 4
jne 0x140099173
mov r8b, 1
movzx edx, r8b
movzx ecx, dl
call fcn.1400a9180
jmp 0x140099173
mov r8b, 1
movzx edx, r8b
movzx ecx, dl
call fcn.1400a9180
mov r9d, 2
mov r8b, 0xff
xor edx, edx
mov rcx, qword [rsi + 0x40]
call qword [0x140273768]
mov rcx, rbx
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1400991d5
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x298]
test al, al
jne 0x14009919c
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x598]
movzx ecx, byte [rsi + 0x3cc]
test cl, 1
je 0x1400991d0
test cl, 8
jne 0x1400991d0
test cl, 4
je 0x1400991d0
mov r8d, dword [0x140260b34]
test r8d, r8d
jle 0x1400991d0
xor r9d, r9d
mov edx, 0x2a3
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_SetTimer]
mov eax, 1
add rsp, 0x198
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret