Function at 0x102c7b0
Capabilities:
Check for unmoving mouse cursor
Hide graphical window
Log keystrokes via polling

Disassembly:
mov eax, 0x1082487
call fcn.0105c800
sub esp, 0xbc
mov ecx, dword [ebp + 0x10]
or dword [ebp - 0x10], 0xffffffff
and dword [ebp - 0x28], 0
and byte [ebp - 0x11], 0
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, 0x201
cmp ecx, edi
ja 0x102ce82
cmp ecx, edi
je 0x102cd57
mov eax, 0x111
cmp ecx, eax
ja 0x102cc6d
je 0x102cc24
push 2
mov eax, ecx
pop ebx
sub eax, ebx
je 0x102cb9b
sub eax, 4
je 0x102cacf
sub eax, 9
je 0x102ca8e
dec eax
je 0x102c973
sub eax, 0xf0
je 0x102c868
dec eax
jne 0x102d42f
mov ecx, esi
cmp byte [ecx + 0x28], 0x24
sete al
test al, al
je 0x102c852
lea eax, [ebp - 0x10]
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push 0x101
jmp 0x102cfbf
lea edx, [ebp - 0x10]
mov eax, dword [ecx]
push edx
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push 0x101
jmp 0x102cfdd
mov edi, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
cmp edi, 0x1b
jne 0x102c88b
cmp byte [esi + 0xf4], 0
jne 0x102c88b
push 0
push 0
push 0x10
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_PostMessageA]
push 0x11
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ah, 0x80
je 0x102c8d8
push edi
call fcn.01026d1c
mov ecx, eax
call fcn.010265e9
mov esi, eax
test esi, esi
je 0x102c8b8
call fcn.01026d1c
mov edx, dword [eax]
push esi
mov ecx, eax
call dword [edx + 0x10]
cmp dword [ebp - 0x10], 0xffffffff
je 0x102c8c4
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0x14
call fcn.0106f8c8
test al, al
je 0x102c938
mov esi, dword [esi + 8]
test esi, esi
je 0x102c8b8
mov esi, dword [esi]
push str.GrannyBox
push esi
call fcn.0105d410
pop ecx
test eax, eax
pop ecx
jne 0x102c8b8
push 0xffffffffffffff9b
push str.smkeydownfromgrannybox
lea ecx, [ebp + 0xc]
call fcn.010087b8
push edi
lea ecx, [ebp + 0xc]
mov dword [ebp - 4], ebx
call fcn.0100920b
push 0
push 0
push str.smcommsys
push dword [ebp + 0xc]
call fcn.01027489
or dword [ebp - 4], 0xffffffff
add esp, 0x10
lea ecx, [ebp + 0xc]
call fcn.01001190
jmp 0x102c8b8
cmp byte [esi + 0x28], 0x24
sete al
test al, al
je 0x102c95a
lea eax, [ebp - 0x10]
push eax
push dword [ebp + 0x18]
push edi
push 0x100
push dword [ebp + 0xc]
mov ecx, esi
jmp 0x102cfc2
mov eax, dword [esi]
lea ecx, [ebp - 0x10]
push ecx
push dword [ebp + 0x18]
push edi
push 0x100
push dword [ebp + 0xc]
mov ecx, esi
jmp 0x102cfe0
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x128]
test ecx, ecx
je 0x102c988
mov eax, dword [ecx]
call dword [eax + 0x88]
cmp byte [esi + 0xfb], 0
je 0x102ca69
cmp dword [esi + 8], 0
je 0x102ca69
lea eax, [ebp - 0x38]
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetWindowRect]
test eax, eax
je 0x102ca69
mov eax, dword [0x1098824]
mov dword [ebp + 0x14], eax
push dword [ebp - 0x38]
and dword [ebp - 4], 0
lea ecx, [ebp + 0x14]
call fcn.0100920b
mov edi, 0x1098bc0
mov ebx, eax
mov eax, edi
test eax, eax
je 0x102c9e1
push edi
call fcn.0105c0e0
pop ecx
jmp 0x102c9e3
xor eax, eax
push edi
push eax
mov ecx, ebx
call fcn.01008a89
push dword [ebp - 0x34]
mov ecx, ebx
call fcn.0100920b
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp dword [eax - 8], 0
jne 0x102ca0b
mov eax, dword [0x1098824]
mov dword [ebp + 0x18], eax
jmp 0x102ca1a
mov dword [ebp + 0x18], eax
mov ecx, dword [eax - 0xc]
cmp ecx, 0xffffffff
je 0x102ca1a
inc ecx
mov dword [eax - 0xc], ecx
mov edi, 0x109c394
mov byte [ebp - 4], 1
mov eax, edi
test eax, eax
je 0x102ca32
push edi
call fcn.0105c0e0
pop ecx
jmp 0x102ca34
xor eax, eax
push edi
push eax
lea ecx, [ebp + 0x18]
call fcn.01008a89
push dword [ebp + 0x14]
mov eax, dword [0x10a41bc]
push dword [ebp + 0x18]
mov ecx, dword [eax + 4]
call fcn.01011c48
and byte [ebp - 4], 0
lea ecx, [ebp + 0x18]
call fcn.01001190
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x14]
call fcn.01001190
mov eax, dword [esi]
lea edi, [esi + 0xf8]
mov ecx, esi
mov byte [edi], 1
call dword [eax + 0x14]
push dword [ebp + 0xc]
and byte [edi], 0
call dword [sym.imp.USER32.dll_DestroyWindow]
and dword [esi + 4], 0
jmp 0x102c8b8
lea eax, [ebp - 0x88]
push eax
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_BeginPaint]
lea edx, [ebp - 0x10]
mov ecx, dword [ebp + 8]
push edx
lea edx, [ebp - 0x88]
mov eax, dword [ecx]
push edx
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0xc]
call dword [eax + 0x54]
lea eax, [ebp - 0x88]
push eax
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_EndPaint]
jmp 0x102cc5e
mov edi, dword [ebp + 0x14]
xor ebx, ebx
push ebx
push dword [ebp + 0x18]
push edi
push 6
push dword [ebp + 0xc]
call fcn.01043a22
mov esi, dword [ebp + 8]
add esp, 0x14
cmp byte [esi + 0x28], 0x24
sete al
test al, al
je 0x102cb0a
lea eax, [ebp - 0x10]
mov ecx, esi
push eax
push dword [ebp + 0x18]
push edi
push 6
push dword [ebp + 0xc]
call fcn.0102d58f
jmp 0x102cb1e
lea ecx, [ebp - 0x10]
mov eax, dword [esi]
push ecx
mov ecx, esi
push dword [ebp + 0x18]
push edi
push 6
push dword [ebp + 0xc]
call dword [eax + 0x28]
cmp di, bx
je 0x102cb32
push ebx
push 0x102c797
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_EnumChildWindows]
mov eax, dword [esi + 8]
cmp eax, ebx
je 0x102cb8e
mov eax, dword [eax]
push str.GrannyBox
push eax
call fcn.0105d410
pop ecx
test eax, eax
pop ecx
jne 0x102cb8e
cmp di, bx
je 0x102cb69
push ebx
push str.gotfocus
push str.smcommsys
push str.smgrannyboxgotfocus
call fcn.01027489
add esp, 0x10
cmp di, 1
jne 0x102cb77
push dword [0x1087520]
jmp 0x102cb82
cmp di, bx
jne 0x102cb8e
push dword [0x1087524]
call fcn.01026d1c
mov ecx, eax
call fcn.01025d29
push ebx
mov ecx, esi
call fcn.0102dfec
jmp 0x102d489
mov edi, dword [ebp + 8]
mov esi, dword [edi + 0xc]
test esi, esi
je 0x102cbb2
cmp byte [esi + 0x28], 0x1a
sete al
test al, al
je 0x102cbb2
xor esi, esi
push 0
push 0xffffffffffffffeb
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_SetWindowLongA]
cmp byte [0x109c354], 0
je 0x102cbe5
test esi, esi
jne 0x102cbe5
mov eax, dword [edi + 0x28]
shr eax, 0x17
and al, 1
mov byte [ebp + 0xf], al
jne 0x102cbe5
push esi
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x102c8b8
mov eax, dword [edi + 8]
test eax, eax
je 0x102c8b8
mov eax, dword [eax]
push str.GrannyBox
push eax
call fcn.0105d920
pop ecx
test eax, eax
pop ecx
jne 0x102c8b8
call fcn.0106f8c8
test al, al
je 0x102c8b8
push str.smquit
call fcn.010444fb
pop ecx
jmp 0x102c8b8
mov ecx, dword [ebp + 8]
or dword [ebp - 0x10], 0xffffffff
cmp byte [ecx + 0x28], 0x24
sete dl
test dl, dl
je 0x102cc4b
lea edx, [ebp - 0x10]
push edx
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push eax
push dword [ebp + 0xc]
call fcn.0102d58f
jmp 0x102cc5e
lea esi, [ebp - 0x10]
mov edx, dword [ecx]
push esi
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push eax
push dword [ebp + 0xc]
call dword [edx + 0x28]
cmp dword [ebp - 0x10], 0xffffffff
jne 0x102c8be
jmp 0x102d489
cmp ecx, 0x112
je 0x102cd2a
cmp ecx, 0x113
je 0x102d3d3
cmp ecx, 0x132
jbe 0x102d42f
cmp ecx, 0x136
jbe 0x102ccb2
cmp ecx, 0x138
je 0x102ccb2
cmp ecx, 0x200
je 0x102d0d6
jmp 0x102d42f
or dword [ebp - 0x10], 0xffffffff
cmp byte [esi + 0x28], 0x24
sete al
test al, al
je 0x102ccda
lea eax, [ebp - 0x10]
mov ecx, esi
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.0102d58f
jmp 0x102cd05
mov edi, dword [ebp + 0x18]
push 0xffffffffffffffeb
push edi
mov dword [ebp + 0xc], edi
call dword [sym.imp.USER32.dll_GetWindowLongA]
test eax, eax
je 0x102cd05
cmp dword [eax + 4], edi
jne 0x102cd05
lea ecx, [ebp - 0x10]
mov edx, dword [eax]
push ecx
push edi
push dword [ebp + 0x14]
mov ecx, eax
push dword [ebp + 0x10]
push edi
call dword [edx + 0x28]
cmp dword [ebp - 0x10], 0xffffffff
jne 0x102d433
push 1
push dword [ebp + 0x14]
call dword [sym.imp.GDI32.dll_SetBkMode]
push 5
call dword [sym.imp.GDI32.dll_GetStockObject]
mov dword [ebp - 0x28], eax
jmp 0x102d433
cmp dword [ebp + 0x14], 0xf020
jne 0x102cd43
push str.MINIMIZE
call fcn.01037e40
pop ecx
jmp 0x102d489
cmp dword [ebp + 0x14], 0xf030
jne 0x102d489
push str.MAXIMIZE
jmp 0x102cd38
mov esi, dword [ebp + 0x18]
lea eax, [ebp - 0x30]
push eax
shr esi, 0x10
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x10], 0xffffffff
mov ebx, dword [ebp + 8]
mov dword [0x10a43f0], eax
mov eax, dword [ebp - 0x2c]
mov dword [0x10a43f4], eax
jne 0x102ce41
lea ecx, [ebp - 0x10]
mov eax, dword [ebx]
push ecx
mov ecx, ebx
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push edi
push dword [ebp + 0xc]
call dword [eax + 0x7c]
movzx eax, word [ebp + 0x18]
mov edi, dword [sym.imp.USER32.dll_PtInRect]
push esi
push eax
lea eax, [ebx + 0x90]
push eax
call edi
test eax, eax
je 0x102ce15
xor esi, esi
cmp dword [ebx + 0xc], esi
jne 0x102ce03
lea ecx, [ebp - 0xc8]
call fcn.01026e6c
push esi
push esi
push 0x1088df0
push esi
push esi
lea ecx, [ebp - 0xc8]
mov dword [ebp - 4], 3
call fcn.01026ed2
call fcn.01026d1c
mov edx, dword [eax]
lea ecx, [ebp - 0xc8]
push ecx
mov ecx, eax
call dword [edx + 0x10]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xc8]
call fcn.01026faa
jmp 0x102ce10
push esi
push esi
push 0x10
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_PostMessageA]
mov dword [ebp - 0x10], esi
jmp 0x102ce41
movzx eax, word [ebp + 0x18]
push esi
push eax
lea eax, [ebx + 0xa0]
push eax
call edi
test eax, eax
je 0x102ce41
push 0
push 0xf020
push 0x112
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_PostMessageA]
and dword [ebp - 0x10], 0
cmp byte [ebx + 0xf3], 0
je 0x102ce6a
call dword [sym.imp.USER32.dll_GetCapture]
cmp eax, dword [ebx + 4]
jne 0x102ce6a
push 0
push 0
push 0x10
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_PostMessageA]
call dword [sym.imp.USER32.dll_ReleaseCapture]
cmp dword [ebp - 0x10], 0xffffffff
jne 0x102ce74
mov byte [ebp - 0x11], 1
push 0
mov ecx, ebx
call fcn.0102dfec
jmp 0x102d47f
mov eax, 0x466
cmp ecx, eax
ja 0x102d08e
je 0x102d06d
mov eax, ecx
mov edi, 0x202
sub eax, edi
je 0x102cfe8
dec eax
je 0x102cfa2
dec eax
je 0x102cf32
sub eax, 0x10b
je 0x102ced9
dec eax
dec eax
je 0x102ced9
sub eax, 0x154
jne 0x102d42f
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.0102fa90
pop ecx
jmp 0x102d3d0
cmp byte [esi + 0x28], 0x24
sete al
test al, al
je 0x102cefd
lea eax, [ebp - 0x10]
mov ecx, esi
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.0102d58f
jmp 0x102cf14
lea ecx, [ebp - 0x10]
mov eax, dword [esi]
push ecx
mov ecx, esi
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call dword [eax + 0x28]
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.01043a22
add esp, 0x14
mov dword [ebp - 0x10], eax
jmp 0x102d433
mov esi, dword [ebp + 8]
cmp byte [esi + 0xf3], 0
je 0x102cf6d
call dword [sym.imp.USER32.dll_GetCapture]
cmp eax, dword [esi + 4]
jne 0x102cf6d
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
push 0
push 0
push 0x10
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_PostMessageA]
call dword [sym.imp.USER32.dll_ReleaseCapture]
jmp 0x102c8b8
cmp byte [esi + 0x28], 0x24
sete al
test al, al
je 0x102cf8c
lea eax, [ebp - 0x10]
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push 0x204
jmp 0x102c950
lea ecx, [ebp - 0x10]
mov eax, dword [esi]
push ecx
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push 0x204
jmp 0x102c969
mov ecx, dword [ebp + 8]
cmp byte [ecx + 0x28], 0x24
sete al
test al, al
je 0x102cfcc
lea eax, [ebp - 0x10]
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push 0x203
push dword [ebp + 0xc]
call fcn.0102d58f
jmp 0x102c8b8
lea edx, [ebp - 0x10]
mov eax, dword [ecx]
push edx
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push 0x203
push dword [ebp + 0xc]
call dword [eax + 0x28]
jmp 0x102c8b8
mov esi, dword [ebp + 8]
cmp byte [esi + 0x28], 0x24
sete al
test al, al
je 0x102d00d
lea eax, [ebp - 0x10]
mov ecx, esi
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push edi
push dword [ebp + 0xc]
call fcn.0102d58f
jmp 0x102d054
mov eax, dword [esi + 8]
test eax, eax
je 0x102d03f
mov eax, dword [eax]
push str.GrannyBox
push eax
call fcn.0105d410
pop ecx
test eax, eax
pop ecx
jne 0x102d03f
push eax
push str.gotfocus
push str.smcommsys
push str.smgrannyboxgotfocus
call fcn.01027489
add esp, 0x10
lea ecx, [ebp - 0x10]
mov eax, dword [esi]
push ecx
mov ecx, esi
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push edi
push dword [ebp + 0xc]
call dword [eax + 0x28]
cmp byte [esi + 0xf3], 0
jne 0x102c8b8
mov ecx, esi
call fcn.0102d6d5
jmp 0x102c8b8
push 0
call fcn.0102fab0
pop ecx
push 5
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_ShowWindow]
push 1
mov ecx, esi
call fcn.0102e036
jmp 0x102d43c
cmp ecx, 0x469
jb 0x102d42f
cmp ecx, 0x46a
jbe 0x102d3d3
cmp ecx, 0x8001
je 0x102d3c6
cmp ecx, 0x8002
je 0x102d43c
cmp ecx, 0x8003
je 0x102d3a9
cmp ecx, 0x8004
jne 0x102d42f
cmp dword [esi + 0xe8], 1
jne 0x102d2f9
and byte [ebp - 0x13], 0
and byte [ebp - 0x12], 0
and byte [ebp - 0x14], 0
and byte [ebp + 0xb], 0
lea eax, [ebp - 0x20]
xor edi, edi
push eax
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x2c], edi
call dword [sym.imp.USER32.dll_GetCursorPos]
cmp byte [esi + 0xf2], 0
je 0x102d233
lea eax, [ebp - 0x48]
push eax
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_GetWindowRect]
test eax, eax
je 0x102d233
push 0x10a4408
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x102d233
cmp dword [esi + 0xcc], 2
jne 0x102d161
mov eax, dword [esi + 0x124]
mov eax, dword [eax + 8]
cmp eax, edi
je 0x102d161
add eax, 0xc
push eax
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.USER32.dll_CopyRect]
mov ecx, dword [ebp - 0x44]
mov edx, dword [0x10a440c]
sub ecx, edx
mov edi, dword [ebp - 0x48]
mov eax, dword [0x10a4408]
mov dword [ebp - 0x18], ecx
mov ecx, dword [0x10a4410]
sub edi, eax
sub ecx, dword [ebp - 0x40]
mov dword [ebp - 0x24], ecx
mov ecx, dword [0x10a4414]
sub ecx, dword [ebp - 0x3c]
cmp edi, 0xfffffff6
mov dword [ebp - 0x2c], ecx
jle 0x102d1b4
cmp edi, 0x19
jge 0x102d1b4
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [0x10a43f0]
jge 0x102d1b7
mov ecx, dword [esi + 0xc0]
mov byte [ebp + 0xb], 1
add ecx, eax
jmp 0x102d1b7
mov ecx, dword [ebp - 0x20]
cmp dword [ebp - 0x18], 0xfffffff6
mov ebx, dword [0x10a43f4]
jle 0x102d1de
cmp dword [ebp - 0x18], 0x19
jge 0x102d1de
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
jge 0x102d1e1
mov eax, dword [esi + 0xc4]
mov byte [ebp - 0x14], 1
add eax, edx
jmp 0x102d1e1
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x24], 0xfffffff6
jle 0x102d20b
cmp dword [ebp - 0x24], 0x19
jge 0x102d20b
cmp ecx, dword [0x10a43f0]
jle 0x102d20b
mov ecx, dword [esi + 0xc0]
mov byte [ebp - 0x12], 1
sub ecx, dword [ebp - 0x40]
add ecx, dword [ebp - 0x48]
add ecx, dword [0x10a4410]
cmp dword [ebp - 0x2c], 0xfffffff6
jle 0x102d239
cmp dword [ebp - 0x2c], 0x19
jge 0x102d239
cmp eax, ebx
jle 0x102d239
mov eax, dword [esi + 0xc4]
mov byte [ebp - 0x13], 1
sub eax, dword [ebp - 0x3c]
add eax, dword [ebp - 0x44]
add eax, dword [0x10a4414]
jmp 0x102d239
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov dword [0x10a43f0], ecx
mov dword [0x10a43f4], eax
sub eax, dword [esi + 0xc4]
sub ecx, dword [esi + 0xc0]
xor ebx, ebx
push 1
push ebx
push ebx
push eax
push ecx
push ebx
mov dword [ebp - 0x20], ecx
push dword [ebp + 0xc]
mov dword [ebp - 0x1c], eax
call dword [sym.imp.USER32.dll_SetWindowPos]
cmp byte [esi + 0x110], bl
jne 0x102d2a9
mov eax, dword [esi + 8]
cmp eax, ebx
je 0x102d2a9
mov eax, dword [eax]
push str.GrannyBox
push eax
call fcn.0105d410
pop ecx
test eax, eax
pop ecx
jne 0x102d2a9
push ebx
push str.windowmoved
push str.smcommsys
push str.smtriggersensor
call fcn.01027489
add esp, 0x10
mov byte [esi + 0x110], 1
cmp byte [esi + 0xf2], 0
je 0x102d2eb
cmp byte [ebp + 0xb], 0
je 0x102d2be
add dword [esi + 0xc0], edi
cmp byte [ebp - 0x14], 0
je 0x102d2cd
mov eax, dword [ebp - 0x18]
add dword [esi + 0xc4], eax
cmp byte [ebp - 0x12], 0
je 0x102d2dc
mov eax, dword [ebp - 0x24]
sub dword [esi + 0xc0], eax
cmp byte [ebp - 0x13], 0
je 0x102d2eb
mov eax, dword [ebp - 0x2c]
sub dword [esi + 0xc4], eax
push 0xffffffffffffffff
mov ecx, esi
call fcn.0102dfec
jmp 0x102d433
cmp byte [esi + 0x28], 0x24
sete al
test al, al
je 0x102d31d
lea eax, [ebp - 0x10]
mov ecx, esi
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.0102d58f
jmp 0x102d334
lea ecx, [ebp - 0x10]
mov eax, dword [esi]
push ecx
mov ecx, esi
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call dword [eax + 0x28]
cmp dword [ebp - 0x10], 0xffffffff
jne 0x102d433
call fcn.01026d1c
xor edi, edi
cmp dword [eax + 0x68], edi
jg 0x102d35e
call fcn.01026d1c
cmp dword [eax + 0x6c], edi
jne 0x102d35e
call fcn.01026d1c
push dword [eax + 0x24]
jmp 0x102d39e
call fcn.01026d1c
cmp dword [eax + 0x68], edi
jle 0x102d388
call dword [sym.imp.USER32.dll_GetCursor]
mov edi, eax
call fcn.01026d1c
cmp edi, dword [eax + 0x20]
je 0x102d42f
call fcn.01026d1c
push dword [eax + 0x20]
jmp 0x102d39e
call fcn.01026d1c
cmp dword [eax + 0x6c], edi
je 0x102d42f
call fcn.01026d1c
push dword [eax + 0x6c]
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x102d42f
push 0
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
mov ecx, esi
call fcn.0102e036
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x14]
jmp 0x102d43c
push str.play_button
call fcn.0102239c
pop ecx
jmp 0x102d43c
mov eax, dword [ebp + 0x14]
or dword [ebp - 0x10], 0xffffffff
cmp eax, dword [esi + 0x130]
jne 0x102d3ee
push dword [ebp + 0xc]
mov ecx, esi
call fcn.0102d5f3
jmp 0x102d429
cmp byte [esi + 0x28], 0x24
sete al
test al, al
je 0x102d412
lea eax, [ebp - 0x10]
mov ecx, esi
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.0102d58f
jmp 0x102d429
lea ecx, [ebp - 0x10]
mov eax, dword [esi]
push ecx
mov ecx, esi
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call dword [eax + 0x28]
cmp dword [ebp - 0x10], 0xffffffff
jne 0x102d433
mov byte [ebp - 0x11], 1
cmp dword [ebp + 0x10], 0x400
jb 0x102d47f
or dword [ebp - 0x10], 0xffffffff
cmp byte [esi + 0x28], 0x24
sete al
test al, al
je 0x102d464
lea eax, [ebp - 0x10]
mov ecx, esi
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.0102d58f
jmp 0x102d47b
lea ecx, [ebp - 0x10]
mov eax, dword [esi]
push ecx
mov ecx, esi
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call dword [eax + 0x28]
and byte [ebp - 0x11], 0
cmp byte [ebp - 0x11], 0
je 0x102c8b8
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_DefWindowProcA]
jmp 0x102c8c7