Function at 0x554440
Capabilities:
Hide graphical window

Disassembly:
push ebp
push edi
push esi
push ebx
mov ebx, ecx
sub esp, 0x2c
mov eax, dword [0x6211a4]
test eax, eax
je 0x5545b0
mov esi, dword [eax + 8]
test esi, esi
je 0x5545b0
mov edi, dword [ecx + 0x68]
test edi, edi
je 0x554a36
xor ebp, ebp
mov edi, dword [sym.imp.USER32.dll_GetWindow]
jmp 0x55448e
mov esi, dword [eax + 8]
test esi, esi
je 0x5544cb
mov ecx, dword [ebx + 0x68]
test ecx, ecx
je 0x5544cb
test dword [esi + 0x40], 0x4020
je 0x5544c1
mov eax, dword [esi + 0x68]
test eax, eax
je 0x5545a0
mov eax, dword [eax]
mov dword [esp + 4], 4
mov dword [esp], eax
call edi
mov edx, dword [ebx + 0x68]
sub esp, 8
cmp eax, dword [edx]
sete al
movzx eax, al
add ebp, eax
mov eax, dword [esi + 0x68]
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x554480
test ebp, ebp
je 0x5545b0
lea eax, [ebp*4]
cmp ebp, 0x1fc00000
mov edx, 0xffffffff
cmovg eax, edx
mov dword [esp], eax
call fcn.00606c50
mov ebp, eax
mov eax, dword [0x6211a4]
test eax, eax
je 0x554a5a
mov edi, dword [eax + 8]
mov esi, dword [ebx + 0x68]
test edi, edi
je 0x5545b5
test esi, esi
je 0x554a36
xor eax, eax
mov edx, esi
mov esi, eax
jmp 0x554527
mov edi, dword [eax + 8]
test edi, edi
je 0x554569
test dword [edi + 0x40], 0x4020
je 0x55455f
mov eax, dword [edi + 0x68]
test eax, eax
je 0x554a10
mov eax, dword [eax]
mov dword [esp + 4], 4
mov dword [esp], eax
call dword [sym.imp.USER32.dll_GetWindow]
mov edx, dword [ebx + 0x68]
sub esp, 8
cmp eax, dword [edx]
jne 0x55455f
mov dword [ebp + esi*4], edi
add esi, 1
mov eax, dword [edi + 0x68]
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x554520
or dword [ebx + 0x40], 2
mov dword [esp + 0x10], esi
mov esi, edx
mov eax, dword [0x6211a4]
cmp esi, eax
jne 0x55458a
jmp 0x554bfc
mov edx, dword [eax + 0x10]
cmp esi, edx
je 0x5545d0
mov eax, edx
test eax, eax
jne 0x554581
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
xor eax, eax
jmp 0x5544a4
mov esi, dword [ebx + 0x68]
xor ebp, ebp
or dword [ebx + 0x40], 2
test esi, esi
je 0x55458e
mov dword [esp + 0x10], 0
jmp 0x554573
add eax, 0x10
mov edx, dword [esi + 0x10]
mov dword [eax], edx
mov edx, dword [0x6211a4]
mov dword [ebx + 0x68], 0
test edx, edx
je 0x554c06
mov dword [esp + 0x14], esi
mov esi, edx
mov edi, dword [esi + 8]
mov ecx, edi
call fcn.0055ec60
cmp ebx, eax
je 0x554a20
mov esi, dword [esi + 0x10]
test esi, esi
jne 0x5545f3
cmp ebx, dword [0x621164]
mov esi, dword [esp + 0x14]
je 0x554b72
mov dword [esp], ebx
call fcn.004e2170
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
cmp eax, fcn.00555780
jne 0x554ab6
mov eax, dword [ebx + 4]
test eax, eax
je 0x554662
mov edx, dword [ebx + 0x68]
test edx, edx
je 0x554662
test byte [ebx + 0x40], 2
je 0x554993
mov dword [esp + 4], 0
mov eax, dword [edx]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_ShowWindow]
sub esp, 8
mov dword [esp], 0xf
mov ecx, ebx
call fcn.00543880
sub esp, 4
mov ecx, ebx
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00555110
sub esp, 8
call dword [sym.imp.USER32.dll_GetClipboardOwner]
mov edx, dword [esi]
cmp eax, edx
je 0x554c49
cmp edx, dword [0x61dc64]
je 0x554a7d
mov dword [esp], edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x8000
call dword [sym.imp.USER32.dll_PostMessageA]
mov edx, dword [esi + 0x18]
mov eax, dword [esi]
sub esp, 0x10
test edx, edx
mov dword [esp + 0x14], eax
je 0x554753
mov edi, dword [0x61cff4]
test edi, edi
je 0x554753
xor ecx, ecx
jmp 0x5546fb
mov eax, dword [edi + 0xc]
mov ecx, edi
test eax, eax
je 0x554753
mov edi, eax
cmp edx, dword [edi + 4]
jne 0x5546f0
mov eax, dword [edi + 8]
mov dword [esp + 0x1c], ecx
mov dword [esp], edx
mov dword [esp + 0x18], edx
mov dword [esp + 4], eax
call dword [sym.imp.GDI32.dll_RestoreDC]
sub esp, 8
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.USER32.dll_ReleaseDC]
sub esp, 8
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x554c5f
mov dword [ecx + 0xc], eax
mov dword [esp], edi
call fcn.00606c40
mov eax, dword [esi]
mov dword [esp + 0x14], eax
mov edi, dword [0x633120]
cmp edi, dword [esp + 0x14]
je 0x554ac9
mov eax, dword [esi + 0xc]
test eax, eax
je 0x554776
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_DeleteObject]
sub esp, 4
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edi, eax
mov eax, dword [esi]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_GetParent]
sub esp, 4
cmp edi, eax
je 0x554c14
mov eax, dword [esi]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_DestroyWindow]
sub esp, 4
mov eax, dword [esp + 0x10]
test eax, eax
je 0x5548fd
mov dword [esp + 0x14], esi
xor edi, edi
mov esi, ebp
mov ebp, ebx
mov ebx, eax
lea esi, [esi]
mov ecx, dword [esi + edi*4]
add edi, 1
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp edi, ebx
jl 0x5547c0
mov ebx, ebp
xor edi, edi
mov ebp, esi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x14], ebx
lea esi, [esi]
mov ebx, dword [ebp + edi*4]
mov eax, dword [ebx]
mov eax, dword [eax + 0x14]
cmp eax, fcn.00554fa0
jne 0x5548e0
mov eax, dword [0x621100]
test eax, eax
mov dword [ebx + 0x24], eax
je 0x554a42
mov dword [ebx + 0x38], 0x50
xor eax, eax
mov byte [ebx + 0x3c], al
mov dword [esp], ebx
call dword [0x61fe08]
mov eax, dword [ebx + 0x68]
test eax, eax
je 0x554a70
mov eax, dword [eax]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_IsIconic]
sub esp, 4
test eax, eax
jne 0x5549b0
mov ecx, dword [0x633070]
test ecx, ecx
je 0x5549cf
add edi, 1
cmp edi, dword [esp + 0x10]
jge 0x5548f1
mov ebx, dword [ebp]
mov eax, dword [ebx]
mov eax, dword [eax + 0x14]
cmp eax, fcn.00554fa0
jne 0x554a00
mov eax, dword [0x621100]
test eax, eax
mov dword [ebx + 0x24], eax
je 0x554a50
mov dword [ebx + 0x38], 0x50
xor eax, eax
mov byte [ebx + 0x3c], al
mov dword [esp], ebx
call dword [0x61fe08]
mov eax, dword [ebx + 0x68]
test eax, eax
je 0x554a62
mov eax, dword [eax]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_IsIconic]
sub esp, 4
test eax, eax
jne 0x5549e5
mov eax, dword [0x633070]
test eax, eax
jne 0x5547e0
mov eax, dword [ebx + 0x68]
mov eax, dword [eax]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_BringWindowToTop]
mov ebx, dword [ebp + edi*4]
sub esp, 4
mov eax, dword [ebx]
mov eax, dword [eax + 0x14]
cmp eax, fcn.00554fa0
je 0x5547f4
mov ecx, ebx
add edi, 1
call eax
cmp edi, dword [esp + 0x10]
jl 0x554855
mov dword [esp], ebp
mov ebx, dword [esp + 0x14]
call fcn.00606c30
test dword [ebx + 0x40], 0x4020
je 0x554980
mov eax, dword [0x6211a4]
test eax, eax
je 0x554980
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x554980
mov edx, dword [ebx + 0x68]
test edx, edx
je 0x554980
mov eax, dword [ebx]
mov eax, dword [eax + 0x14]
cmp eax, fcn.00554fa0
jne 0x554bf3
mov eax, dword [0x621100]
test eax, eax
mov dword [ebx + 0x24], eax
je 0x554c55
mov dword [ebx + 0x38], 0x50
xor eax, eax
mov byte [ebx + 0x3c], al
mov dword [esp], ebx
call dword [0x61fe08]
mov eax, dword [ebx + 0x68]
test eax, eax
je 0x554c69
mov eax, dword [eax]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_IsIconic]
sub esp, 4
test eax, eax
jne 0x554bdd
mov eax, dword [0x633070]
test eax, eax
je 0x554ba3
mov dword [esp], esi
call fcn.00606c40
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [eax + 4]
test byte [eax + 0x40], 2
je 0x554990
cmp byte [eax + 0x4c], 0xef
jbe 0x55464c
jmp 0x554662
mov eax, dword [ebx + 0x68]
mov eax, dword [eax]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_OpenIcon]
mov ecx, dword [0x633070]
sub esp, 4
test ecx, ecx
jne 0x554848
mov eax, dword [ebx + 0x68]
mov eax, dword [eax]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_BringWindowToTop]
sub esp, 4
jmp 0x554848
mov eax, dword [ebx + 0x68]
mov eax, dword [eax]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_OpenIcon]
sub esp, 4
jmp 0x5548ae
mov ecx, ebx
call eax
jmp 0x5547e0
xor eax, eax
jmp 0x55453d
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x18]
and dword [edi + 0x40], 0xfffffffd
mov esi, dword [0x6211a4]
jmp 0x554608
or dword [ebx + 0x40], 2
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, 1
jmp 0x55480d
mov eax, 1
jmp 0x554881
mov esi, dword [ebx + 0x68]
jmp 0x5545b5
mov dword [esp], ebx
call fcn.00540990
jmp 0x5547e0
mov dword [esp], ebx
call fcn.00540990
jmp 0x554848
mov eax, edx
call fcn.004f5180
mov eax, dword [0x6211a4]
test eax, eax
je 0x554aaf
mov eax, dword [eax + 8]
test eax, eax
je 0x554aaf
mov eax, dword [eax + 0x68]
test eax, eax
je 0x554c76
mov eax, dword [eax]
mov edx, dword [0x61dc64]
test edx, edx
je 0x554bb9
mov edx, dword [esi]
jmp 0x5546a8
mov dword [esp], 0xf
mov ecx, ebx
call eax
sub esp, 4
jmp 0x554673
mov ecx, dword [0x633098]
test ecx, ecx
je 0x554763
mov edx, dword [0x61cff4]
test edx, edx
je 0x554b59
xor eax, eax
mov dword [esp + 0x14], edi
mov edi, eax
jmp 0x554afb
mov eax, dword [edx + 0xc]
mov edi, edx
test eax, eax
je 0x554b59
mov edx, eax
cmp ecx, dword [edx + 4]
jne 0x554af0
mov eax, dword [edx + 8]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], edi
mov dword [esp], ecx
mov edi, dword [esp + 0x14]
mov dword [esp + 0x14], ecx
mov dword [esp + 4], eax
call dword [sym.imp.GDI32.dll_RestoreDC]
sub esp, 8
mov ecx, dword [esp + 0x14]
mov dword [esp], edi
mov dword [esp + 4], ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
sub esp, 8
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test eax, eax
mov eax, dword [edx + 0xc]
je 0x554c7d
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0xc], eax
mov dword [esp], edx
call fcn.00606c40
mov dword [0x633120], 0xffffffff
mov dword [0x633098], 0
jmp 0x554763
mov eax, dword [0x6211a4]
test eax, eax
je 0x554b97
nop
lea esi, [esi]
mov eax, dword [eax + 8]
test eax, eax
je 0x554b97
test byte [eax + 0x41], 0x40
jne 0x554b99
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x554b80
xor eax, eax
mov dword [0x621164], eax
jmp 0x55461c
mov eax, dword [ebx + 0x68]
mov eax, dword [eax]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_BringWindowToTop]
sub esp, 4
jmp 0x554980
mov byte [0x61e548], 1
mov dword [0x61dc64], eax
mov dword [esp], eax
call dword [sym.imp.USER32.dll_SetClipboardViewer]
mov edx, dword [esi]
sub esp, 4
mov dword [0x61e55c], eax
jmp 0x5546a8
mov eax, dword [ebx + 0x68]
mov eax, dword [eax]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_OpenIcon]
sub esp, 4
jmp 0x554973
mov ecx, ebx
call eax
jmp 0x554980
mov eax, 0x6211a4
jmp 0x5545d3
cmp ebx, dword [0x621164]
jne 0x55461c
jmp 0x554b97
mov edx, dword [sym.imp.USER32.dll_ShowWindow]
mov dword [esp + 4], 0
mov eax, dword [esi]
mov dword [esp + 0x14], edx
mov dword [esp], eax
call edx
sub esp, 8
mov dword [esp + 4], 8
mov dword [esp], edi
mov edx, dword [esp + 0x14]
call edx
sub esp, 8
jmp 0x554794
call fcn.004e6da0
mov edx, dword [esi]
jmp 0x55469c
mov eax, 1
jmp 0x554946
mov dword [0x61cff4], eax
jmp 0x554745
mov dword [esp], ebx
call fcn.00540990
jmp 0x554980
xor eax, eax
jmp 0x554aa1
mov dword [0x61cff4], eax
jmp 0x554b51