Function at 0x40400b
Capabilities:
Enumerate gui resources
Find taskbar
Hide graphical window
Hide the windows taskbar

Disassembly:
push 0x120
mov eax, 0x50caa2
call fcn.004f41e2
cmp dword [ebp + 0xc], 0x110
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0xf4], ebx
mov dword [ebp - 0xf8], edi
jne 0x40404b
push edi
push 8
mov esi, edi
mov dword [edi], ebx
push ebx
mov dword [ebp - 0xfc], esi
call dword [sym.imp.USER32.dll_SetWindowLongW]
jmp 0x40405c
push 8
push ebx
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov esi, eax
mov dword [ebp - 0xfc], eax
test esi, esi
je 0x404a11
push edi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.004220a8
mov eax, dword [ebp + 0xc]
add esp, 0x10
dec eax
sub eax, 1
je 0x404a05
sub eax, 3
je 0x4047c4
sub eax, 0xb
je 0x4047b8
sub eax, 0x14
je 0x404656
sub eax, 0x2a
je 0x4045ca
sub eax, 0xc2
je 0x4041ac
sub eax, 1
je 0x4040da
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x404a11
push edi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.00439b75
test al, al
je 0x404a11
jmp 0x4041a4
mov ecx, dword [ebp + 0x10]
mov eax, ecx
shr eax, 0x10
test ax, ax
jne 0x404a11
movzx eax, cx
sub eax, 1
je 0x40419d
sub eax, 1
je 0x404194
sub eax, 6
je 0x404194
sub eax, 0xd
je 0x40419d
sub eax, 0x6db
jne 0x404a11
xor ebx, ebx
push ebx
push ebx
push 0x1009
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x81c
call fcn.004e1bc1
pop ecx
mov dword [ebp - 0xd4], eax
xor edi, edi
inc edi
mov dword [ebp - 4], edi
test eax, eax
je 0x404153
mov ecx, eax
call fcn.00403c60
jmp 0x404155
mov eax, ebx
push esi
push 0x403e17
mov dword [esi + 0x1c], eax
call dword [sym.imp.USER32.dll_EnumWindows]
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0xf8], eax
test eax, eax
je 0x40418a
mov ecx, eax
call fcn.00403d27
push 0x81c
push dword [ebp - 0xf8]
call fcn.004ef54a
pop ecx
pop ecx
mov dword [esi + 0x1c], ebx
mov eax, edi
jmp 0x404a13
mov ecx, esi
call fcn.0040506f
jmp 0x4041a4
mov ecx, esi
call fcn.0040588e
xor eax, eax
inc eax
jmp 0x404a13
mov ecx, dword [0x5a22a0]
call fcn.00415f40
push 5
push ebx
call fcn.0044002c
pop ecx
pop ecx
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x4041d7
push dword [esi + 0xc]
push dword [0x5a22a4]
push ebx
call fcn.004394ac
push 0xffffffffffffffec
push dword [0x5a22a4]
call dword [sym.imp.USER32.dll_GetWindowLongW]
xor edi, edi
test al, 8
je 0x4041fa
push 3
push edi
push edi
push edi
push edi
push 0xffffffffffffffff
push ebx
call dword [sym.imp.USER32.dll_SetWindowPos]
push dword [0x5a23e4]
mov esi, 0x80
push 1
push esi
push ebx
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
call ebx
push dword [0x5a23e8]
push edi
push esi
mov esi, dword [ebp - 0xf4]
push esi
call ebx
push dword [0x5a23e4]
push 0xfffffffffffffff2
push esi
call dword [sym.imp.USER32.dll_SetClassLongW]
mov eax, 0x501
cmp word [0x58115c], ax
sbb eax, eax
inc eax
push eax
push 0x965
push esi
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
call esi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 1
push 0xc06
push dword [ebp - 0xf4]
call dword [sym.imp.USER32.dll_CheckDlgButton]
push 0x6ee
push dword [ebp - 0xf4]
call esi
mov edx, eax
mov dword [ebp - 0x128], edi
mov eax, dword [ebp - 0xfc]
lea edi, [ebp - 0x120]
push 0x3c
pop esi
push 8
pop ecx
mov dword [eax + 4], edx
xor eax, eax
push 0x20
mov dword [ebp - 0x12c], 7
mov dword [ebp - 0x124], esi
rep stosd dword es:[edi], eax
push 0x20
mov edi, 0x1036
mov dword [ebp - 0xf8], edx
push edi
lea eax, [ebp - 0x90]
push edx
mov dword [ebp - 0x120], eax
call ebx
mov eax, 0x4400
push eax
push eax
push edi
push dword [ebp - 0xf8]
call ebx
mov eax, dword [ebp - 0xfc]
xor edi, edi
push edi
push 0x10
push 0x4b
cmp dword [eax + 0x20], edi
pop ecx
cmovne esi, ecx
mov ecx, dword [0x5a23f0]
push esi
call fcn.0046a75f
push 0x52303c
mov dword [ebp - 0x124], eax
lea eax, [ebp - 0x90]
push 0x40
push eax
call fcn.00401a0b
lea eax, [ebp - 0x12c]
mov esi, dword [ebp - 0xf8]
push eax
push edi
push 0x1061
push esi
call ebx
mov ecx, dword [0x5a23f0]
push edi
push 0x10
push 0x2d
call fcn.0046a75f
push str.Type
mov dword [ebp - 0x124], eax
lea eax, [ebp - 0x90]
push 0x40
push eax
mov dword [ebp - 0x128], 2
call fcn.00401a0b
lea eax, [ebp - 0x12c]
push eax
push 1
push 0x1061
push esi
call ebx
mov ecx, dword [0x5a23f0]
push edi
push 0x10
push 0xc8
call fcn.0046a75f
push str.Title
mov dword [ebp - 0x124], eax
lea eax, [ebp - 0x90]
push 0x40
push eax
mov dword [ebp - 0x128], edi
call fcn.00401a0b
lea eax, [ebp - 0x12c]
push eax
push 2
push 0x1061
push esi
call ebx
mov ecx, dword [0x5a23f0]
push edi
push 0x10
push 0x78
call fcn.0046a75f
push str.Image_name
mov dword [ebp - 0x124], eax
lea eax, [ebp - 0x90]
push 0x40
push eax
call fcn.00401a0b
lea eax, [ebp - 0x12c]
push eax
push 3
push 0x1061
push esi
call ebx
mov ecx, dword [0x5a23f0]
push edi
push 0x10
push 0xc8
call fcn.0046a75f
push str.Image_path
mov dword [ebp - 0x124], eax
lea eax, [ebp - 0x90]
push 0x40
push eax
call fcn.00401a0b
lea eax, [ebp - 0x12c]
push eax
push 4
push 0x1061
push esi
call ebx
mov ecx, dword [0x5a23f0]
push edi
push 0x10
push 0x5a
call fcn.0046a75f
push str.HWND
mov dword [ebp - 0x124], eax
lea eax, [ebp - 0x90]
push 0x40
push eax
call fcn.00401a0b
lea eax, [ebp - 0x12c]
push eax
push 5
push 0x1061
push esi
call ebx
mov ecx, dword [0x5a23f0]
push edi
push 0x10
push 0xc8
call fcn.0046a75f
push str.Class
mov dword [ebp - 0x124], eax
lea eax, [ebp - 0x90]
push 0x40
push eax
call fcn.00401a0b
lea eax, [ebp - 0x12c]
push eax
push 6
push 0x1061
push esi
call ebx
mov esi, 0x81c
push esi
call fcn.004e1bc1
pop ecx
mov dword [ebp - 0xd4], eax
mov dword [ebp - 4], edi
test eax, eax
je 0x4044bc
mov ecx, eax
call fcn.00403c60
jmp 0x4044be
mov eax, edi
mov ebx, dword [ebp - 0xfc]
or dword [ebp - 4], 0xffffffff
push str.CAttachDlg::AttachDlgEnumWin::Begin
mov dword [ebx + 0x1c], eax
call fcn.004d4bbc
pop ecx
push edi
push str.Shell_TrayWnd
push edi
push edi
call dword [sym.imp.USER32.dll_FindWindowExW]
lea ecx, [ebx + 0x24]
test eax, eax
je 0x4044f5
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
jmp 0x4044f7
mov dword [ecx], edi
push ebx
push 0x403e17
call dword [sym.imp.USER32.dll_EnumWindows]
push str.CAttachDlg::AttachDlgEnumWin::End
call fcn.004d4bbc
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0xfc], eax
pop ecx
test eax, eax
je 0x404530
mov ecx, eax
call fcn.00403d27
push esi
push dword [ebp - 0xfc]
call fcn.004ef54a
pop ecx
pop ecx
push edi
push edi
mov dword [ebx + 0x1c], edi
mov ebx, dword [ebp - 0xf4]
push 5
push ebx
call fcn.0040400b
lea eax, [ebp - 0xb0]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetWindowRect]
push dword [0x5a22a4]
lea esi, [ebp - 0xb0]
sub esp, 0x10
lea eax, [ebp - 0xf0]
mov edi, esp
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0041fad3
mov esi, eax
lea edi, [ebp - 0xc0]
mov eax, dword [ebp - 0xa4]
add esp, 0x18
sub eax, dword [ebp - 0xac]
movsd dword es:[edi], dword [esi]
push 0
push eax
mov eax, dword [ebp - 0xa8]
sub eax, dword [ebp - 0xb0]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push dword [ebp - 0xbc]
push dword [ebp - 0xc0]
push ebx
call dword [sym.imp.USER32.dll_MoveWindow]
push 1
push ebx
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [ebp - 0xf8]
call dword [sym.imp.USER32.dll_SetFocus]
jmp 0x404a11
test edi, edi
je 0x404a11
cmp dword [edi + 4], 0x6ee
jne 0x404a11
cmp dword [edi + 8], 0xfffffffd
jne 0x404a11
push 0
push 0x15
push 0x111
push ebx
call dword [sym.imp.USER32.dll_PostMessageW]
lea eax, [ebp - 0xd8]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0xc0]
push eax
push dword [0x5a22a4]
call dword [sym.imp.USER32.dll_GetWindowRect]
push dword [ebp - 0xd4]
lea eax, [ebp - 0xc0]
push dword [ebp - 0xd8]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x404a11
mov ecx, dword [0x5a22a0]
push 0
push 0x202
push 0x200
call fcn.0041b13a
jmp 0x404a11
xor eax, eax
lea edi, [ebp - 0xb0]
stosd dword es:[edi], eax
push 0x15
push ebx
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0xd0]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0xf0]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0xc0]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call ebx
mov esi, eax
lea eax, [ebp - 0xb0]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
mov edi, dword [sym.imp.USER32.dll_MapWindowPoints]
lea eax, [ebp - 0xb0]
push 2
push eax
push esi
push 0
call edi
push 0x965
push dword [ebp - 0xf4]
call ebx
mov esi, eax
lea eax, [ebp - 0xf0]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea eax, [ebp - 0xf0]
push eax
push esi
push 0
call edi
push 0xc06
push dword [ebp - 0xf4]
call ebx
mov esi, eax
lea eax, [ebp - 0xc0]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea eax, [ebp - 0xc0]
push eax
push esi
push 0
call edi
mov esi, dword [ebp - 0xf4]
push 0x6ee
push esi
call ebx
mov ebx, dword [sym.imp.USER32.dll_GetWindowRect]
lea ecx, [ebp - 0xd0]
push ecx
push eax
call ebx
push 2
lea eax, [ebp - 0xd0]
push eax
push esi
push 0
call edi
xor eax, eax
lea edi, [ebp - 0xa0]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0xe0]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0xa0]
push eax
push esi
call ebx
lea eax, [ebp - 0xe0]
push eax
push esi
call dword [sym.imp.USER32.dll_GetClientRect]
imul ecx, dword [ebp - 0xd0], 9
mov eax, dword [ebp - 0xa8]
mov edx, dword [ebp - 0xf8]
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0xa4]
sub eax, dword [ebp - 0xd8]
sub eax, dword [ebp - 0xa0]
add eax, dword [ebp - 0xb8]
add eax, dword [ebp - 0xe8]
add eax, dword [ebp - 0x98]
mov dword [edx + 0x18], eax
mov eax, dword [ebp - 0xcc]
lea eax, [eax + ecx*2]
imul eax, eax, 3
mov dword [edx + 0x1c], eax
jmp 0x404a11
mov ecx, esi
call fcn.0040506f
jmp 0x404a11
lea eax, [ebp - 0xb0]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetClientRect]
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0x6ee
push ebx
call esi
mov ebx, dword [sym.imp.USER32.dll_GetWindowRect]
lea ecx, [ebp - 0xd0]
push ecx
push eax
mov dword [ebp - 0xf8], eax
call ebx
mov edi, dword [sym.imp.USER32.dll_MapWindowPoints]
lea eax, [ebp - 0xd0]
push 2
push eax
push dword [ebp - 0xf4]
push 0
call edi
push 0x15
push dword [ebp - 0xf4]
call esi
mov esi, eax
lea eax, [ebp - 0xa0]
push eax
push esi
call ebx
push 2
lea eax, [ebp - 0xa0]
push eax
push esi
push 0
call edi
push 0x965
push dword [ebp - 0xf4]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
lea eax, [ebp - 0xf0]
push eax
push esi
mov dword [ebp - 0xfc], esi
call ebx
push 2
lea eax, [ebp - 0xf0]
push eax
push esi
push 0
call edi
push 0xc06
push dword [ebp - 0xf4]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
lea eax, [ebp - 0xc0]
push eax
push esi
mov dword [ebp - 0xd4], esi
call ebx
push 2
lea eax, [ebp - 0xc0]
push eax
push esi
push 0
call edi
mov edx, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xa4]
imul eax, edx, 3
push 0
mov dword [ebp - 0x100], esi
sub ecx, eax
lea eax, [esi + esi]
sub ecx, dword [ebp - 0x94]
push ecx
mov ecx, dword [ebp - 0xa8]
sub ecx, eax
push ecx
push edx
push esi
push dword [ebp - 0xf8]
mov ebx, dword [sym.imp.USER32.dll_MoveWindow]
call ebx
mov eax, dword [ebp - 0xa4]
sub eax, dword [ebp - 0x94]
sub eax, dword [ebp - 0xcc]
push 0
push dword [ebp - 0x94]
push dword [ebp - 0x98]
push eax
push esi
push 0x6f0
push dword [ebp - 0xf4]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call ebx
mov eax, dword [ebp - 0xa4]
mov edi, dword [ebp - 0xa8]
sub eax, dword [ebp - 0x94]
sub edi, dword [ebp - 0x98]
sub eax, dword [ebp - 0xcc]
sub edi, esi
push 0
push dword [ebp - 0x94]
push dword [ebp - 0x98]
push eax
push edi
push 2
push dword [ebp - 0xf4]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call ebx
mov ecx, dword [ebp - 0x98]
push 0
push dword [ebp - 0x94]
lea eax, [ecx + esi]
sub edi, eax
mov eax, dword [ebp - 0xa4]
sub eax, dword [ebp - 0x94]
sub eax, dword [ebp - 0xcc]
push ecx
push eax
push edi
push 0x15
push dword [ebp - 0xf4]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call ebx
mov ecx, dword [ebp - 0xe8]
push 0
push dword [ebp - 0xe4]
lea eax, [ecx + esi]
sub edi, eax
mov eax, dword [ebp - 0x94]
sub eax, dword [ebp - 0xe4]
cdq
sub eax, edx
mov esi, eax
sar esi, 1
sub esi, dword [ebp - 0x94]
sub esi, dword [ebp - 0xcc]
add esi, dword [ebp - 0xa4]
push ecx
push esi
push edi
push dword [ebp - 0xfc]
call ebx
sub edi, dword [ebp - 0xb8]
sub edi, dword [ebp - 0x100]
push 0
push dword [ebp - 0xb4]
push dword [ebp - 0xb8]
push esi
push edi
push dword [ebp - 0xd4]
call ebx
push 0x485
push 0
push 0
push dword [ebp - 0xf4]
call dword [sym.imp.USER32.dll_RedrawWindow]
jmp 0x404a11
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x404a11
call fcn.004397af
xor eax, eax
call fcn.004f418c
ret 0x10