Function at 0x442290
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd0
mov eax, dword [0x4ccbf8]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [sym.imp.USER32.dll_GetParent]
push ebx
mov ebx, dword [ebp + 8]
push edi
push ebx
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xd0], eax
call eax
mov edi, eax
mov dword [ebp - 0xb8], edi
test edi, edi
je 0x442a0b
mov eax, dword [0x4edef8]
test eax, eax
je 0x442317
mov ecx, dword [eax + 4]
test ecx, 0x40000000
je 0x442317
mov edx, dword [eax + 0x1f0c]
test edx, edx
je 0x4422f3
mov dword [0x4edefc], edx
mov ecx, dword [eax + 4]
test ecx, 0x40000000
je 0x442317
mov eax, dword [eax + 0x1f2c]
test eax, eax
je 0x442317
push 0x4a1824
push edi
call eax
mov edx, eax
mov dword [ebp - 0xbc], edx
jmp 0x44232a
push 0x4a1824
push edi
call fcn.004364d0
mov edx, eax
mov dword [ebp - 0xbc], eax
add esp, 8
test edx, edx
je 0x442a0b
push esi
mov esi, dword [edx + 0x11c]
test esi, esi
je 0x442a0a
mov eax, dword [esi + 0x90]
test eax, eax
je 0x4423be
cmp eax, ebx
je 0x4423be
cmp dword [ebp + 0xc], 2
je 0x4423d2
mov edi, dword [esi]
xor ecx, ecx
test edi, edi
jle 0x442a0a
mov esi, dword [esi + 4]
mov edx, esi
nop dword [eax]
mov eax, dword [edx]
cmp dword [eax], ebx
je 0x44238f
inc ecx
add edx, 4
cmp ecx, edi
jl 0x442370
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0047f41c
mov esp, ebp
pop ebp
ret
cmp ecx, edi
jge 0x442a0a
push dword [ebp + 0xc]
mov eax, dword [esi + ecx*4]
add eax, 0x88
push 8
push eax
call fcn.004223b0
add esp, 0xc
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0047f41c
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
cmp ecx, 2
jne 0x4425d6
cmp eax, ebx
je 0x442a0a
mov eax, dword [sym.imp.USER32.dll_ShowWindow]
mov dword [esi + 0x90], ebx
mov dword [ebp - 0xbc], eax
mov eax, dword [0x4edef8]
test eax, eax
je 0x44242e
mov ecx, dword [eax + 4]
test ecx, 0x40000000
je 0x44242e
mov edx, dword [eax + 0x1f0c]
test edx, edx
je 0x44240a
mov dword [0x4edefc], edx
mov ecx, dword [eax + 4]
test ecx, 0x40000000
je 0x44242e
mov eax, dword [eax + 0x1f2c]
test eax, eax
je 0x44242e
push 0x4a1824
push edi
call eax
mov edi, eax
mov dword [ebp - 0xcc], edi
jmp 0x442441
push 0x4a1824
push edi
call fcn.004364d0
mov edi, eax
mov dword [ebp - 0xcc], eax
add esp, 8
test edi, edi
je 0x4425a2
mov ebx, dword [edi + 0x11c]
test ebx, ebx
je 0x4425a2
mov ecx, dword [ebx]
xor eax, eax
mov dword [ebp - 0xc4], eax
test ecx, ecx
jle 0x442557
nop dword [eax]
lea esi, [eax*4]
mov eax, dword [ebx + 4]
mov dword [ebp - 0xc8], esi
mov ecx, dword [eax + esi]
mov eax, dword [ecx + 0x88]
add ecx, 0x88
and eax, 1
push eax
push 8
push ecx
call fcn.004223b0
mov eax, dword [ebx + 4]
add esp, 0xc
mov edx, dword [esi + eax]
mov eax, dword [ebp - 0xc0]
cmp eax, dword [edx]
je 0x4424f7
mov ecx, dword [edx + 0x88]
mov eax, ecx
and eax, 0xfffffffe
or ecx, 2
cmp dword [edi + 0x130], 0
push 0
cmove ecx, eax
mov dword [edx + 0x88], ecx
mov eax, dword [ebx + 4]
mov eax, dword [esi + eax]
push dword [eax]
call dword [ebp - 0xbc]
mov eax, dword [ebx + 4]
mov eax, dword [eax + esi]
mov eax, dword [eax + 0xa0]
test eax, eax
je 0x442540
push 0
push eax
call dword [ebp - 0xbc]
jmp 0x442540
mov ecx, 0x2c
lea edi, [ebp - 0xb4]
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xc8]
mov dword [edx + 0x44], 0
mov eax, dword [ebx + 4]
mov edi, dword [ebp - 0xcc]
mov eax, dword [eax + ecx]
mov dword [eax + 0x40], 0
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx]
mov dword [eax + 0x6c], 1
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx]
mov dword [eax + 0x68], 1
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebx]
inc eax
mov dword [ebp - 0xc4], eax
cmp eax, ecx
jl 0x442470
cmp dword [edi + 0x130], 0
jne 0x442572
push 0
push dword [ebp - 0xb8]
call fcn.0043f520
mov ecx, dword [ebx]
add esp, 8
xor edx, edx
test ecx, ecx
jle 0x4425a2
nop dword [eax + eax]
mov eax, dword [ebx + 4]
mov edi, dword [eax + edx*4]
mov eax, dword [ebp - 0xc0]
cmp eax, dword [edi]
jne 0x44259d
mov ecx, 0x2c
lea esi, [ebp - 0xb4]
rep movsd dword es:[edi], dword [esi]
inc edx
cmp edx, dword [ebx]
jl 0x442580
mov eax, dword [ebp - 0xb8]
push eax
mov dword [ebp - 0xc0], eax
call dword [ebp - 0xd0]
mov edi, eax
mov dword [ebp - 0xb8], eax
test edi, edi
jne 0x4423e3
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0047f41c
mov esp, ebp
pop ebp
ret
test eax, eax
je 0x44278c
mov ebx, dword [sym.imp.USER32.dll_ShowWindow]
mov dword [esi + 0x90], 0
mov dword [ebp - 0xc8], ebx
mov eax, dword [0x4edef8]
test eax, eax
je 0x442637
mov ecx, dword [eax + 4]
test ecx, 0x40000000
je 0x442637
mov edx, dword [eax + 0x1f0c]
test edx, edx
je 0x44261b
mov dword [0x4edefc], edx
mov ecx, dword [eax + 4]
test ecx, 0x40000000
je 0x442637
mov eax, dword [eax + 0x1f2c]
test eax, eax
je 0x442637
push 0x4a1824
push edi
call eax
jmp 0x442642
push 0x4a1824
push edi
call fcn.004364d0
add esp, 8
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x442764
mov esi, dword [eax + 0x11c]
test esi, esi
je 0x442764
xor edi, edi
cmp dword [esi], edi
jle 0x44270d
nop dword [eax + eax]
mov eax, dword [esi + 4]
mov ecx, dword [eax + edi*4]
mov eax, dword [ebp - 0xc0]
cmp eax, dword [ecx]
je 0x4426c9
mov ebx, dword [ebp - 0xc4]
mov eax, dword [ecx + 0x88]
mov edx, eax
and edx, 8
cmp dword [ebx + 0x130], 0
mov ebx, dword [ebp - 0xc8]
je 0x4426af
test edx, edx
jne 0x4426b3
or eax, 2
mov dword [ecx + 0x88], eax
jmp 0x4426e3
test edx, edx
je 0x4426be
or eax, 1
mov dword [ecx + 0x88], eax
jmp 0x442704
and eax, 0xfffffffe
mov dword [ecx + 0x88], eax
jmp 0x4426e3
cmp dword [ebp + 0xc], 0
jne 0x442704
and dword [ecx + 0x88], 0xfffffffe
mov eax, dword [esi + 4]
mov eax, dword [eax + edi*4]
and dword [eax + 0x88], 0xfffffff7
mov eax, dword [esi + 4]
push 0
mov eax, dword [eax + edi*4]
push dword [eax]
call ebx
mov eax, dword [esi + 4]
mov eax, dword [eax + edi*4]
mov eax, dword [eax + 0xa0]
test eax, eax
je 0x442704
push 0
push eax
call ebx
inc edi
cmp edi, dword [esi]
jl 0x442670
push 0
push dword [ebp - 0xb8]
call fcn.0043f520
xor edi, edi
add esp, 8
cmp dword [esi], edi
jle 0x44275e
mov eax, dword [esi + 4]
mov eax, dword [eax + edi*4]
test byte [eax + 0x88], 8
je 0x442759
push 5
push dword [eax]
call ebx
mov eax, dword [esi + 4]
mov eax, dword [eax + edi*4]
mov ecx, dword [eax + 0xa0]
test ecx, ecx
je 0x442759
mov eax, dword [eax + 0x88]
and al, 0x11
cmp al, 1
jne 0x442759
push 5
push ecx
call ebx
inc edi
cmp edi, dword [esi]
jl 0x442723
mov edi, dword [ebp - 0xb8]
push edi
call dword [ebp - 0xd0]
mov edi, eax
mov dword [ebp - 0xb8], eax
test edi, edi
jne 0x4425f4
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0047f41c
mov esp, ebp
pop ebp
ret
test ebx, ebx
jne 0x4428b7
mov ebx, dword [sym.imp.USER32.dll_ShowWindow]
xor edi, edi
cmp dword [esi], edi
jle 0x44283f
cmp dword [edx + 0x130], 0
je 0x4427c7
test ecx, ecx
jne 0x4427c7
mov eax, dword [esi + 4]
lea ebx, [edi*4]
mov eax, dword [eax + ebx]
or dword [eax + 0x88], 2
jmp 0x4427f4
cmp dword [ebp + 0xc], 0
lea ebx, [edi*4]
mov eax, dword [esi + 4]
mov ecx, dword [eax + ebx]
mov eax, dword [ecx + 0x88]
je 0x4427eb
or eax, 9
mov dword [ecx + 0x88], eax
jmp 0x44282d
and eax, 0xfffffff6
mov dword [ecx + 0x88], eax
mov eax, dword [esi + 4]
push 0
mov eax, dword [ebx + eax]
push dword [eax]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [esi + 4]
mov eax, dword [eax + ebx]
mov eax, dword [eax + 0xa0]
test eax, eax
je 0x442827
mov ebx, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push eax
call ebx
mov edx, dword [ebp - 0xbc]
jmp 0x442833
mov edx, dword [ebp - 0xbc]
mov ebx, dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebp + 0xc]
inc edi
cmp edi, dword [esi]
jl 0x4427a4
cmp dword [edx + 0x130], 0
je 0x442850
test ecx, ecx
je 0x442a0a
push 0
push dword [ebp - 0xb8]
call fcn.0043f520
add esp, 8
cmp dword [ebp + 0xc], 0
je 0x442a0a
xor edi, edi
cmp dword [esi], edi
jle 0x442a0a
mov eax, dword [esi + 4]
push 5
mov eax, dword [eax + edi*4]
push dword [eax]
call ebx
mov eax, dword [esi + 4]
mov eax, dword [eax + edi*4]
mov ecx, dword [eax + 0xa0]
test ecx, ecx
je 0x4428a1
mov eax, dword [eax + 0x88]
and al, 0x11
cmp al, 1
jne 0x4428a1
push 5
push ecx
call ebx
inc edi
cmp edi, dword [esi]
jl 0x442874
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0047f41c
mov esp, ebp
pop ebp
ret
push 0x4a1824
push ebx
call fcn.00436680
add esp, 8
test eax, eax
je 0x442a0a
xor ebx, ebx
cmp dword [esi], ebx
jle 0x442a0a
mov edx, dword [esi + 4]
mov ecx, dword [ebp - 0xc0]
mov eax, dword [edx]
cmp dword [eax], ecx
je 0x4428ff
inc ebx
add edx, 4
cmp ebx, dword [esi]
jl 0x4428e0
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0047f41c
mov esp, ebp
pop ebp
ret
cmp ebx, dword [esi]
jge 0x442a0a
mov eax, dword [ebp - 0xbc]
cmp dword [eax + 0x130], 0
je 0x442965
cmp dword [ebp + 0xc], 0
jne 0x442965
mov eax, dword [esi + 4]
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
push 0
mov eax, dword [eax + ebx*4]
or dword [eax + 0x88], 2
mov eax, dword [esi + 4]
mov eax, dword [eax + ebx*4]
push dword [eax]
call edi
mov eax, dword [esi + 4]
mov eax, dword [eax + ebx*4]
mov eax, dword [eax + 0xa0]
test eax, eax
je 0x442a0a
push 0
push eax
call edi
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0047f41c
mov esp, ebp
pop ebp
ret
cmp dword [ebp + 0xc], 0
mov eax, dword [esi + 4]
push 0
mov eax, dword [eax + ebx*4]
mov ecx, dword [eax + 0x88]
je 0x4429cf
or ecx, 9
push edi
mov dword [eax + 0x88], ecx
call fcn.0043f520
mov eax, dword [esi + 4]
add esp, 8
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [eax + ebx*4]
push 0
push dword [eax]
call edi
mov eax, dword [esi + 4]
push 5
mov eax, dword [eax + ebx*4]
push dword [eax]
call edi
mov eax, dword [esi + 4]
mov eax, dword [eax + ebx*4]
mov eax, dword [eax + 0xa0]
test eax, eax
je 0x442a0a
push 5
push eax
call edi
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0047f41c
mov esp, ebp
pop ebp
ret
and ecx, 0xfffffff6
mov dword [eax + 0x88], ecx
mov eax, dword [esi + 4]
mov eax, dword [eax + ebx*4]
push dword [eax]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [esi + 4]
push 0
mov eax, dword [eax + ebx*4]
mov eax, dword [eax + 0xa0]
test eax, eax
je 0x442a01
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push edi
call fcn.0043f520
add esp, 8
pop esi
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop ebx
call fcn.0047f41c
mov esp, ebp
pop ebp
ret