Function at 0x478970
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x53f8b8
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x575494]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov edi, ecx
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], vtable.CPipe.0
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x1c], 0x400
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], vtable.CEvent.0
mov dword [esp + 0x28], eax
lea esi, [edi + 0x1e4]
mov dword [esp + 0x38], eax
xor bl, bl
cmp dword [esi + 0x28], eax
jne 0x478a19
push 0x55620c
mov edx, 0x1040
mov ecx, esi
call fcn.00475be0
test eax, eax
je 0x478a11
mov byte [esi + 0x2c], bl
mov ecx, 0x55620c
mov ebx, esi
mov dword [esi + 0x28], eax
call fcn.0043fce0
mov bl, al
test bl, bl
jne 0x478a28
call fcn.0043fc30
jmp 0x478a20
mov eax, dword [esi + 4]
mov dword [esi + 0x30], eax
jmp 0x478a20
mov dword [esi + 0x30], 1
test bl, bl
je 0x478b97
cmp dword [esi + 0x28], 0
je 0x478aa8
mov eax, dword [esi + 0x18]
test eax, eax
je 0x478a40
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x478a47
mov dword [esi + 0x14], 0xc
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x478a81
xor edx, edx
lea ebx, [edi + 0x198]
mov word [ecx], dx
mov eax, dword [ebx + 4]
test eax, eax
je 0x478a7f
push 0x410
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
jg 0x478a7f
mov eax, dword [ebx]
mov edi, dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi + ebx], eax
mov bl, 1
cmp dword [esi + 0x28], 0
je 0x478ab8
mov eax, dword [esi + 0x18]
test eax, eax
je 0x478ab1
push 0
push 1
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
test eax, eax
jne 0x478ab8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x14], eax
jmp 0x478ab8
mov dword [esi + 0x30], 1
jmp 0x478a81
mov dword [esi + 0x14], 0xc
test bl, bl
je 0x478b97
mov esi, dword [ebp + 8]
test esi, esi
je 0x478ae8
push 0
push esi
call dword [sym.imp.USER32.dll_EnableWindow]
push 0x7f02
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
test eax, eax
je 0x478ae8
push eax
call dword [sym.imp.USER32.dll_SetCursor]
push esi
call fcn.00513990
call fcn.00514300
mov edi, eax
xor bl, bl
call fcn.004741f0
test eax, eax
jne 0x478b1e
push esi
call fcn.00513880
push edi
call fcn.00514250
push str.ConnectionTest
lea eax, [esp + 0x14]
call fcn.004f4e60
mov bl, al
jmp 0x478b2d
push 0
push 0x30
push 0xa421
push esi
call fcn.00443b80
test bl, bl
jne 0x478b63
test esi, esi
je 0x478b56
push 1
push esi
call dword [sym.imp.USER32.dll_EnableWindow]
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
test eax, eax
je 0x478b56
push eax
call dword [sym.imp.USER32.dll_SetCursor]
push 0
push esi
mov ecx, 0xa421
call fcn.00427ed0
mov eax, dword [esp + 0x28]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x478b74
push eax
call esi
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
je 0x478b80
push eax
call esi
mov al, bl
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebp + 8]
push 0
push ecx
mov ecx, 0xa43b
call fcn.00427ed0
jmp 0x478b80