Function at 0x470020
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x532e38
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x559024]
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 + 0x274]
mov dword [esp + 0x38], eax
xor bl, bl
cmp dword [esi + 0x28], eax
jne 0x4700c9
push str.CcMemMapObjMossUrlSetting
mov edx, 0x1040
mov ecx, esi
call fcn.0046c6a0
test eax, eax
je 0x4700c1
mov byte [esi + 0x2c], bl
mov ecx, str.CcMemMapObjMossUrlSetting
mov ebx, esi
mov dword [esi + 0x28], eax
call fcn.00437860
mov bl, al
test bl, bl
jne 0x4700d8
call fcn.0041fde0
jmp 0x4700d0
mov eax, dword [esi + 4]
mov dword [esi + 0x30], eax
jmp 0x4700d0
mov dword [esi + 0x30], 1
test bl, bl
je 0x470247
cmp dword [esi + 0x28], 0
je 0x470158
mov eax, dword [esi + 0x18]
test eax, eax
je 0x4700f0
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x4700f7
mov dword [esi + 0x14], 0xc
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x470131
xor edx, edx
lea ebx, [edi + 0x228]
mov word [ecx], dx
mov eax, dword [ebx + 4]
test eax, eax
je 0x47012f
push 0x410
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
jg 0x47012f
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 0x470168
mov eax, dword [esi + 0x18]
test eax, eax
je 0x470161
push 0
push 1
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
test eax, eax
jne 0x470168
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x14], eax
jmp 0x470168
mov dword [esi + 0x30], 1
jmp 0x470131
mov dword [esi + 0x14], 0xc
test bl, bl
je 0x470247
mov esi, dword [ebp + 8]
test esi, esi
je 0x470198
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 0x470198
push eax
call dword [sym.imp.USER32.dll_SetCursor]
push esi
call fcn.00508380
call fcn.00508d00
mov edi, eax
xor bl, bl
call fcn.0046a910
test eax, eax
jne 0x4701ce
push esi
call fcn.00508270
push edi
call fcn.00508c60
push str.ConnectionTest
lea eax, [esp + 0x14]
call fcn.004e8fc0
mov bl, al
jmp 0x4701dd
push 0
push 0x30
push 0xa421
push esi
call fcn.0043b6e0
test bl, bl
jne 0x470213
test esi, esi
je 0x470206
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 0x470206
push eax
call dword [sym.imp.USER32.dll_SetCursor]
push 0
push esi
mov ecx, 0xa421
call fcn.00420ee0
mov eax, dword [esp + 0x28]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x470224
push eax
call esi
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
je 0x470230
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.00420ee0
jmp 0x470230