Function at 0x478840
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x53f698
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 0x4788e9
push str.CcMemMapObjMossUrlSetting
mov edx, 0x1040
mov ecx, esi
call fcn.00475a40
test eax, eax
je 0x4788e1
mov byte [esi + 0x2c], bl
mov ecx, str.CcMemMapObjMossUrlSetting
mov ebx, esi
mov dword [esi + 0x28], eax
call fcn.0043fb50
mov bl, al
test bl, bl
jne 0x4788f8
call fcn.0043faa0
jmp 0x4788f0
mov eax, dword [esi + 4]
mov dword [esi + 0x30], eax
jmp 0x4788f0
mov dword [esi + 0x30], 1
test bl, bl
je 0x478a67
cmp dword [esi + 0x28], 0
je 0x478978
mov eax, dword [esi + 0x18]
test eax, eax
je 0x478910
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x478917
mov dword [esi + 0x14], 0xc
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x478951
xor edx, edx
lea ebx, [edi + 0x198]
mov word [ecx], dx
mov eax, dword [ebx + 4]
test eax, eax
je 0x47894f
push 0x410
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
jg 0x47894f
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 0x478988
mov eax, dword [esi + 0x18]
test eax, eax
je 0x478981
push 0
push 1
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
test eax, eax
jne 0x478988
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x14], eax
jmp 0x478988
mov dword [esi + 0x30], 1
jmp 0x478951
mov dword [esi + 0x14], 0xc
test bl, bl
je 0x478a67
mov esi, dword [ebp + 8]
test esi, esi
je 0x4789b8
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 0x4789b8
push eax
call dword [sym.imp.USER32.dll_SetCursor]
push esi
call fcn.00513860
call fcn.005141d0
mov edi, eax
xor bl, bl
call fcn.00473e20
test eax, eax
jne 0x4789ee
push esi
call fcn.00513750
push edi
call fcn.00514120
push str.ConnectionTest
lea eax, [esp + 0x14]
call fcn.004f4ed0
mov bl, al
jmp 0x4789fd
push 0
push 0x30
push 0xa421
push esi
call fcn.004439f0
test bl, bl
jne 0x478a33
test esi, esi
je 0x478a26
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 0x478a26
push eax
call dword [sym.imp.USER32.dll_SetCursor]
push 0
push esi
mov ecx, 0xa421
call fcn.00427dc0
mov eax, dword [esp + 0x28]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x478a44
push eax
call esi
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
je 0x478a50
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.00427dc0
jmp 0x478a50