Function at 0x547500
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5f9120
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x70f200]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x60], eax
cmp dword [ebp + 8], 4
mov ebx, dword [ebp + 0x1c]
mov edi, dword [ebp + 0x18]
mov esi, dword [ebp + 0xc]
jb 0x547821
mov eax, dword [eax + 0x4c]
cmp dword [eax], 0x2f
jg 0x547821
push 1
lea ecx, [ebp - 0x58]
call fcn.005d0610
test esi, esi
mov eax, 0x1c20
mov ecx, edi
cmovne eax, esi
mov dword [ebp - 0x68], eax
call fcn.005d8c40
xor edx, edx
mov ecx, ebx
cmp eax, 3
cmovge edx, edi
mov dword [ebp - 0x5c], edx
call fcn.005d8c40
xor esi, esi
cmp eax, 3
cmovge esi, ebx
mov dword [ebp - 0x64], esi
test edx, edx
jne 0x54759a
test esi, esi
jne 0x54759a
mov ebx, dword [ebp + 0x10]
or ebx, 3
jmp 0x54759d
mov ebx, dword [ebp + 0x10]
xorps xmm0, xmm0
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x2c]
movq qword [ebp - 0x2c], xmm0
call fcn.005dc5e0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x20]
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
movq qword [ebp - 0x20], xmm0
call fcn.005dc5e0
cmp dword [ebp - 0x5c], 0
mov byte [ebp - 4], 1
je 0x5475ed
push 0
push 0
push 0x12c
lea ecx, [ebp - 0x2c]
call fcn.005db9a0
test esi, esi
je 0x547602
push 0
push 0
push 0x12c
lea ecx, [ebp - 0x20]
call fcn.005db9a0
xorps xmm1, xmm1
lea ecx, [ebp - 0x58]
call fcn.005d05a0
divsd xmm0, qword [0x6edbb8]
call fcn.005e9c20
mov esi, eax
cmp esi, dword [ebp - 0x68]
jae 0x5477f5
mov edi, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x60]
push 5
push 1
call fcn.005494d0
test eax, eax
jne 0x54781c
test bl, 0x81
je 0x54765f
mov ecx, dword [ebp + 8]
call fcn.005cc910
test al, al
jne 0x54765f
test bl, 1
jne 0x5477f5
cmp esi, 2
jae 0x5477f5
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_FindWindowExW]
mov esi, eax
test esi, esi
je 0x5477d2
mov eax, dword [ebp - 0x60]
mov eax, dword [eax + 0x4c]
mov edx, dword [eax]
test edx, edx
je 0x5476a0
xor ecx, ecx
test edx, edx
jle 0x5476a0
add eax, 8
nop dword [eax]
cmp esi, dword [eax]
je 0x5477bf
inc ecx
add eax, 4
cmp ecx, edx
jl 0x547690
test bl, 1
je 0x5476c3
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov eax, dword [ebp + 8]
cmp dword [ebp - 0x14], eax
jne 0x5477bf
test bl, 2
je 0x5476d7
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x5477bf
test bl, 4
je 0x5476eb
push esi
call dword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
je 0x5477bf
cmp dword [ebp - 0x5c], 0
je 0x54772e
lea ecx, [ebp - 0x2c]
call fcn.005dc380
push 0x104
call fcn.005dc190
push eax
push esi
call dword [sym.imp.USER32.dll_GetClassNameW]
test eax, eax
je 0x5477bf
push 0
push 1
push 1
push 0
push dword [ebp - 0x5c]
lea ecx, [ebp - 0x2c]
call fcn.005daa70
test eax, eax
je 0x5477bf
cmp dword [ebp - 0x64], 0
je 0x547769
lea ecx, [ebp - 0x20]
call fcn.005dc380
push 0x200
call fcn.005dc190
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
je 0x5477bf
push 0
push 1
push 1
push 0
push dword [ebp - 0x64]
lea ecx, [ebp - 0x20]
call fcn.005daa70
test eax, eax
je 0x5477bf
test bl, 0x78
je 0x5477f7
lea eax, [ebp - 0x3c]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
test eax, eax
je 0x5477f7
test bl, 8
je 0x547792
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x3c]
cmp eax, edi
jge 0x5477f7
jmp 0x5477bf
test bl, 0x10
je 0x54779f
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x3c]
jmp 0x5477bb
test bl, 0x20
je 0x5477b0
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x38]
cmp eax, edi
jge 0x5477f7
jmp 0x5477bf
test bl, 0x40
je 0x5477f7
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x38]
cmp eax, edi
jle 0x5477f7
push 2
push esi
call dword [sym.imp.USER32.dll_GetWindow]
mov esi, eax
test esi, esi
jne 0x547677
xorps xmm1, xmm1
lea ecx, [ebp - 0x58]
call fcn.005d05a0
divsd xmm0, qword [0x6edbb8]
call fcn.005e9c20
mov esi, eax
cmp esi, dword [ebp - 0x68]
jb 0x547628
xor esi, esi
mov edx, dword [ebp - 0x60]
mov ecx, dword [edx + 0x4c]
mov eax, dword [ecx]
mov dword [ecx + eax*4 + 8], esi
mov ecx, dword [edx + 0x4c]
inc dword [ecx]
lea ecx, [ebp - 0x20]
call fcn.005dc430
lea ecx, [ebp - 0x2c]
call fcn.005dc430
mov eax, esi
jmp 0x547823
or esi, 0xffffffff
jmp 0x547808
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041e1b5
mov esp, ebp
pop ebp
ret 0x18