Function at 0x100291c0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x238
mov eax, dword [0x100804b8]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x238], eax
mov eax, dword [ebp + 0x14]
push edi
mov dword [ebp - 0x234], eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x10029205
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1004aab5
mov esp, ebp
pop ebp
ret 0x10
push 4
push edi
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push 0
push 0
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
je 0x10029512
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [sym.imp.USER32.dll_GetActiveWindow]
push edi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x10029510
call esi
cmp eax, ebx
jne 0x10029510
mov eax, dword [ebp - 0x22c]
cmp eax, 0x200
ja 0x1002934e
je 0x100292a0
cmp eax, 0xa0
je 0x100294e4
add eax, 0xffffff5f
cmp eax, 8
ja 0x100294bf
push edi
call fcn.10028da0
mov esi, eax
test esi, esi
je 0x100294b9
mov ecx, dword [esi]
push esi
call dword [ecx + 0x54]
push esi
mov dword [ebp - 0x230], eax
call fcn.10029730
jmp 0x100294b9
lea ecx, [ebp - 0x214]
call fcn.1003b0b0
mov ecx, dword [ebp - 0x224]
movsx eax, cx
shr ecx, 0x10
mov dword [ebp - 0x214], eax
movsx eax, cx
push edi
mov dword [ebp - 0x210], eax
call fcn.10028da0
mov esi, eax
lea eax, [ebp - 0x214]
push eax
push dword [ebp - 0x230]
call dword [sym.imp.USER32.dll_ClientToScreen]
push dword [ebp - 0x210]
push dword [ebp - 0x214]
push esi
call fcn.10028e60
mov ebx, eax
test ebx, ebx
jne 0x10029304
push esi
call fcn.10028f10
jmp 0x100294b6
lea eax, [ebp - 0x214]
push eax
mov eax, dword [ebx]
push ebx
call dword [eax + 0x54]
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [ebx]
lea ecx, [ebp - 0x214]
push ecx
push ebx
call dword [eax + 0x1b4]
test eax, eax
jne 0x10029337
push esi
call fcn.10028f10
jmp 0x100294b6
push dword [ebp - 0x234]
push dword [ebp - 0x238]
push eax
call fcn.10028fc0
jmp 0x100294b6
cmp eax, 0x209
jbe 0x100293de
cmp eax, 0x2a3
jne 0x100294bf
push 0x200
lea eax, [ebp - 0x204]
push 0
push eax
call fcn.1004bdc0
add esp, 0xc
lea eax, [ebp - 0x204]
push 0x100
push eax
push dword [ebp - 0x230]
call dword [sym.imp.USER32.dll_GetClassNameW]
push str.dulibMenuClass
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x100294bf
push 0xffffffffffffffeb
push dword [ebp - 0x230]
call dword [sym.imp.USER32.dll_GetWindowLongW]
test eax, eax
je 0x100294bf
add eax, 0x208
push eax
push dword [ebp - 0x230]
call sym.amui.dll_GetPluginByName
push eax
call fcn.10028f10
jmp 0x100294bf
lea ecx, [ebp - 0x20c]
call fcn.1003b0b0
mov ecx, dword [ebp - 0x224]
movsx eax, cx
shr ecx, 0x10
mov dword [ebp - 0x20c], eax
movsx eax, cx
push edi
mov dword [ebp - 0x208], eax
call fcn.10028da0
mov esi, eax
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x230]
call dword [sym.imp.USER32.dll_ClientToScreen]
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push esi
call fcn.10029550
mov ebx, eax
test ebx, ebx
jne 0x10029466
test esi, esi
je 0x100294b6
mov eax, dword [esi]
push esi
call dword [eax + 0x1b8]
test eax, eax
je 0x10029457
mov eax, dword [esi]
push esi
call dword [eax + 0x1b8]
push eax
call fcn.10029730
mov eax, dword [esi]
push esi
call dword [eax + 0x54]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x100294b6
mov ecx, dword [ebp - 0x224]
movsx eax, cx
mov dword [ebp - 0x20c], eax
shr ecx, 0x10
movsx eax, cx
push 1
mov dword [ebp - 0x208], eax
lea eax, [ebp - 0x20c]
push eax
push ebx
push dword [ebp - 0x230]
call dword [sym.imp.USER32.dll_MapWindowPoints]
movzx ecx, word [ebp - 0x208]
movzx eax, word [ebp - 0x20c]
shl ecx, 0x10
or ecx, eax
mov dword [ebp - 0x230], ebx
mov dword [ebp - 0x224], ecx
mov ebx, dword [ebp + 0xc]
mov esi, dword [sym.imp.USER32.dll_GetActiveWindow]
push edi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x10029510
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push edi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x10029510
call esi
cmp eax, ebx
jne 0x10029510
push 0
push 0
push 0
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
jne 0x10029234
pop esi
pop ebx
push edi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x10029524
push edi
call dword [sym.imp.USER32.dll_DestroyWindow]
cmp dword [ebp - 0x22c], 0x12
jne 0x10029539
push dword [ebp - 0x228]
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov ecx, dword [ebp - 4]
mov eax, 1
xor ecx, ebp
pop edi
call fcn.1004aab5
mov esp, ebp
pop ebp
ret 0x10