Function at 0x47f577
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x144
push ebx
xor ebx, ebx
push esi
push ebx
push ebx
mov dword [ebp - 0x28], ebx
call sym.stub.exe_ts_resource_ex
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
pop ecx
cmp eax, ebx
pop ecx
mov dword [ebp - 0xc], eax
je 0x47f800
cmp byte [eax], bl
je 0x47f800
push edi
push 0x10
call sym.stub.exe__emalloc
mov esi, eax
mov dword [ebp - 0x2c], esi
and byte [esi + 9], bl
mov word [esi + 0xa], 1
mov edi, dword [ebp - 0xc]
push edi
call sub.MSVCRT.dll_strlen
push eax
push edi
mov dword [esi + 4], eax
call sym.stub.exe__estrndup
mov edi, dword [ebp + 0xc]
add esp, 0x10
cmp edi, ebx
mov dword [esi], eax
mov byte [esi + 8], 3
jne 0x47f615
lea eax, [ebp - 0xc]
push eax
push ebx
push esi
call sym.stub.exe_zend_is_callable
add esp, 0xc
test al, al
jne 0x47f660
push dword [ebp - 0xc]
push dword [ebp - 0x14]
call sym.stub.exe_get_active_function_name
pop ecx
push eax
push 0x5350c0
push 2
call sym.stub.exe_zend_error
add esp, 0x10
jmp 0x47f7e3
cmp byte [edi], 0
je 0x47f660
push 0x10
call sym.stub.exe__emalloc
mov dword [ebp - 4], eax
mov word [eax + 0xa], 1
mov eax, dword [ebp - 4]
push edi
and byte [eax + 9], 0
call sub.MSVCRT.dll_strlen
mov ecx, dword [ebp - 4]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 4]
push dword [eax + 4]
push edi
call sym.stub.exe__estrndup
mov ecx, dword [ebp - 4]
add esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 4]
mov byte [eax + 8], 3
lea eax, [ebp - 4]
mov dword [ebp + 8], eax
jmp 0x47f666
mov dword [ebp - 4], ebx
mov dword [ebp + 8], ebx
push 0x10
call sym.stub.exe__emalloc
mov ebx, sym.stub.exe_zval_used_for_init
mov edi, eax
mov esi, ebx
mov dword [ebp - 8], 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]
mov eax, dword [ebp - 8]
push 0x10
mov byte [eax + 8], 1
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0x10]
mov dword [ecx], eax
lea eax, [ebp - 8]
mov dword [ebp - 0x44], eax
call sym.stub.exe__emalloc
mov esi, ebx
mov edi, eax
mov dword [ebp - 0x24], eax
push 0x10
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x24]
mov byte [eax + 8], 1
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp + 0x18]
mov dword [ecx], eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x40], eax
call sym.stub.exe__emalloc
mov esi, ebx
mov edi, eax
mov dword [ebp - 0x18], eax
push 0x10
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x18]
mov byte [eax + 8], 1
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp + 0x14]
mov dword [ecx], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x3c], eax
call sym.stub.exe__emalloc
mov esi, ebx
mov edi, eax
mov dword [ebp - 0x1c], eax
push 0x10
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x1c]
mov byte [eax + 8], 1
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp + 0x1c]
mov dword [ecx], eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x38], eax
call sym.stub.exe__emalloc
mov esi, ebx
mov edi, eax
mov dword [ebp - 0x10], 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]
mov eax, dword [ebp - 0x10]
mov byte [eax + 8], 1
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0x20]
mov dword [ecx], eax
lea eax, [ebp - 0x10]
mov dword [ebp - 0x34], eax
push 0x10
call sym.stub.exe__emalloc
mov esi, ebx
mov edi, eax
mov dword [ebp - 0x20], 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]
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x14]
push esi
push 0
mov byte [eax + 8], 1
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp + 0x24]
push 0
mov dword [ecx], eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x30], eax
mov ecx, dword [sym.stub.exe_compiler_globals_id]
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x28]
push 6
push eax
push dword [ebp - 0x2c]
mov eax, dword [esi]
push dword [ebp + 8]
mov eax, dword [eax + ecx*4 - 4]
push dword [eax + 0x130]
call sym.stub.exe_call_user_function_ex
add esp, 0x3c
test eax, eax
je 0x47f7a1
push esi
call sym.stub.exe_get_active_function_name
push eax
push 0x5350a0
push 2
call sym.stub.exe_zend_error
add esp, 0x10
lea eax, [ebp - 0x28]
push eax
call sym.stub.exe__zval_ptr_dtor
push dword [ebp - 0x20]
call sym.stub.exe__efree
push dword [ebp - 0x10]
call sym.stub.exe__efree
push dword [ebp - 0x1c]
call sym.stub.exe__efree
push dword [ebp - 0x18]
call sym.stub.exe__efree
push dword [ebp - 0x24]
call sym.stub.exe__efree
push dword [ebp - 8]
call sym.stub.exe__efree
mov esi, dword [ebp - 0x2c]
add esp, 0x1c
push 1
pop ebx
push dword [ebp - 0xc]
call sym.stub.exe__efree
push dword [esi]
call sym.stub.exe__efree
push esi
call sym.stub.exe__efree
add esp, 0xc
mov eax, ebx
pop edi
jmp 0x47f84f
mov esi, dword [ebp + 0x10]
lea eax, [ebp - 0x144]
push 0x100
push eax
push dword [esi]
call dword [sym.imp.USER32.dll_GetWindowTextA]
test eax, eax
je 0x47f833
lea eax, [ebp - 0x144]
push eax
push dword [ebp - 0x14]
call sym.stub.exe_get_active_function_name
pop ecx
push eax
push 0x53506c
jmp 0x47f843
push esi
push dword [ebp - 0x14]
call sym.stub.exe_get_active_function_name
pop ecx
push eax
push 0x535038
push 2
call sym.stub.exe_zend_error
add esp, 0x10
xor eax, eax
pop esi
pop ebx
leave
ret