Function at 0x405bc5
Capabilities:
Get graphical window text
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x268
mov eax, dword [0x4ccbf8]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
test esi, esi
je 0x405f3f
cmp dword [esi + 0x64], 0
je 0x405f3f
push ebx
push edi
mov edi, 0x12b
lea eax, [ebp - 0x25c]
push edi
push eax
push dword [esi + 0x64]
call dword [sym.imp.USER32.dll_GetClassNameA]
xor ebx, ebx
test byte [esi + 0x18], 2
je 0x405cee
push 0x12
lea eax, [ebp - 0x25c]
push str.HwndWrapper_VMware
push eax
call fcn.00486932
add esp, 0xc
test eax, eax
jne 0x405ce4
push dword [esi + 0x64]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x405ce4
push edi
lea eax, [ebp - 0x130]
push eax
push dword [esi + 0x64]
call dword [sym.imp.USER32.dll_GetWindowTextA]
push 0x15
lea eax, [ebp - 0x130]
push str.VMware_Horizon_Client
push eax
call fcn.00486932
add esp, 0xc
test eax, eax
je 0x405f38
push 0xd
lea eax, [ebp - 0x130]
push str.Hidden_Window
push eax
call fcn.00486932
add esp, 0xc
test eax, eax
je 0x405f38
push 0x1a
lea eax, [ebp - 0x130]
push str.SystemResourceNotifyWindow
push eax
call fcn.00486932
add esp, 0xc
test eax, eax
je 0x405f38
push dword [esi + 0x64]
call dword [sym.imp.USER32.dll_GetTopWindow]
test eax, eax
je 0x405f38
mov ecx, dword [esi + 0x10]
mov eax, 0x4b1aef
test ecx, ecx
cmovne eax, ecx
cmp byte [eax], bl
je 0x405ea2
push ebx
push ecx
lea eax, [ebp - 0x130]
push eax
call fcn.00422630
jmp 0x405e97
test byte [esi + 0x18], 2
jne 0x405f38
cmp dword [esi + 0x10], ebx
mov edi, 0x4b1aef
mov eax, edi
cmovne eax, dword [esi + 0x10]
cmp byte [eax], bl
je 0x405e7a
push 0x16
lea eax, [ebp - 0x25c]
push str.TscShellContainerClass
push eax
call fcn.00486932
add esp, 0xc
test eax, eax
jne 0x405e7a
push 0x12b
lea eax, [ebp - 0x130]
push eax
push dword [esi + 0x64]
call dword [sym.imp.USER32.dll_GetWindowTextA]
push dword [esi + 4]
call fcn.0048c9e8
mov edx, eax
mov dword [ebp - 0x260], edx
pop ecx
mov al, byte [edx]
test al, al
je 0x405da2
push 0x5f
pop ecx
cmp al, 0x5c
je 0x405d90
cmp al, 0x3a
je 0x405d79
cmp al, 0x3c
jne 0x405d61
mov cl, 0x28
jmp 0x405d90
cmp al, 0x3e
jne 0x405d69
mov cl, 0x29
jmp 0x405d90
cmp al, 0x22
jne 0x405d71
mov cl, 0x27
jmp 0x405d90
cmp al, 0x2f
je 0x405d90
cmp al, 0x7c
jne 0x405d7d
mov cl, 0x2d
jmp 0x405d90
cmp al, 0x2a
jne 0x405d85
mov cl, 0x23
jmp 0x405d90
movzx ecx, al
cmp al, 0x3f
push 0x5f
pop eax
cmove ecx, eax
mov byte [edx], cl
inc edx
push 0x5f
pop ecx
mov al, byte [edx]
test al, al
jne 0x405d51
mov edx, dword [ebp - 0x260]
test byte [esi + 0x18], 4
je 0x405e22
mov edx, dword [esi + 0x10]
test edx, edx
je 0x405dd1
mov bl, byte [edx]
test bl, bl
je 0x405dcf
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x405dba
sub ecx, edi
mov edi, 0x4b1aef
movsx ecx, byte [edx + ecx - 1]
jmp 0x405dd5
xor ebx, ebx
mov ecx, ebx
mov bl, byte [edx]
push 0
push str._s_s_s
cmp ecx, 0x2a
mov dword [ebp - 0x268], 0x4b29b0
mov eax, edi
cmovne eax, dword [ebp - 0x268]
cmp bl, 0x2a
push eax
cmovne edi, dword [ebp - 0x268]
xor ebx, ebx
push edx
push edi
push str._s_s_s
push ebx
push ebx
call fcn.0041ff80
add esp, 0x1c
push eax
lea eax, [ebp - 0x130]
push eax
call fcn.00422630
add esp, 0xc
jmp 0x405e49
mov eax, str._s____s
test edx, edx
push eax
push dword [esi + 0x10]
cmovne edi, edx
push edi
push eax
push ebx
push ebx
call fcn.0041ff80
add esp, 0x18
lea ecx, [ebp - 0x130]
mov edx, eax
call fcn.004059eb
neg eax
sbb edi, edi
inc edi
cmp dword [ebp - 0x260], 0
je 0x405e70
lea eax, [ebp - 0x260]
push eax
call fcn.0041f010
push dword [ebp - 0x260]
call fcn.0048690c
pop ecx
pop ecx
test edi, edi
je 0x405f38
jmp 0x405ea2
test byte [esi + 0x18], 2
jne 0x405f38
push 0x1b
lea eax, [ebp - 0x25c]
push str.Credential_Dialog_Xaml_Host
push eax
call fcn.00486932
add esp, 0xc
test eax, eax
jne 0x405f38
call fcn.00435f20
test eax, eax
je 0x405f04
call fcn.00435f20
cmp dword [eax], ebx
je 0x405f04
mov eax, dword [0x4edee0]
test eax, eax
je 0x405ec5
mov edi, dword [eax + 0x190]
jmp 0x405ecb
mov edi, dword [0x4edee4]
call fcn.00435f20
test eax, eax
je 0x405edd
call fcn.00435f20
mov eax, dword [eax]
jmp 0x405edf
mov eax, ebx
mov ecx, str.Disconnecting_session__s____s
push ecx
push dword [esi + 0x10]
push dword [esi + 4]
push ecx
push dword [0x4edee0]
push edi
push ebx
push 0x317
push str.D:MyProjectsProPilotTestMain.c
push ebx
call eax
add esp, 0x28
lea eax, [ebp - 0x264]
push eax
push dword [esi + 0x64]
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
push dword [ebp - 0x264]
push ebx
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
test esi, esi
je 0x405f38
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
pop edi
inc eax
pop ebx
jmp 0x405f41
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.0047f41c
leave
ret