Function at 0x522670
Capabilities:
Get graphical window text

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x62840d
push eax
mov dword fs:[0], esp
mov eax, dword [ecx + 0x2e0]
sub esp, 0x348
push ebx
xor ebx, ebx
push esi
push edi
cmp eax, ebx
push 0x104
je 0x5226bb
mov ecx, dword [ecx + 0x2d8]
lea eax, [esp + 0x4c]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
je 0x522ac9
jmp 0x52271a
mov eax, dword [ecx + 0x2d8]
lea edx, [esp + 0x254]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
test eax, eax
je 0x522ac9
lea ecx, [esp + 0x250]
push ebx
push ecx
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ebx
mov word [esp + 0x18], bx
call fcn.00402ce0
mov eax, dword [esp + 0xc]
cmp eax, ebx
jne 0x522703
lea eax, [esp + 0x10]
lea edx, [esp + 0x48]
push eax
push edx
call fcn.005e5369
add esp, 8
lea ecx, [esp + 0xc]
call fcn.00401070
cmp dword [0x6f6364], ebx
je 0x52291d
mov eax, dword [0x6f61d8]
cmp eax, ebx
jne 0x522734
mov eax, 0x6f61dc
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.005e5a05
lea ecx, [esp + 0x50]
add esp, 8
cmp eax, ecx
jne 0x52291d
mov eax, dword [0x6f61d8]
cmp eax, ebx
jne 0x52275c
mov eax, 0x6f61dc
push eax
call fcn.005e519b
add esp, 4
lea eax, [esp + eax*2 + 0x48]
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], ebx
push eax
mov dword [esp + 0x30], ebx
mov word [esp + 0x2c], bx
call fcn.004023c0
xor eax, eax
mov dword [esp + 0x35c], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], ebx
mov word [esp + 0x10], bx
mov edi, dword [esp + 0x24]
mov byte [esp + 0x35c], 1
cmp edi, ebx
jne 0x5227aa
lea edi, [esp + 0x28]
mov esi, dword [0x6f61e8]
cmp esi, ebx
jne 0x5227b9
mov esi, 0x6f61ec
mov edx, 0x6c5124
test edx, edx
je 0x5228e1
cmp esi, ebx
je 0x5228e1
cmp edi, ebx
je 0x5228e1
push ebp
push edx
lea ecx, [esp + 0x44]
call fcn.00402330
push esi
lea ecx, [esp + 0x38]
mov byte [esp + 0x364], 2
call fcn.0040e5b0
mov ebx, 3
push edi
lea ecx, [esp + 0x20]
mov byte [esp + 0x364], bl
call fcn.0040e5b0
lea ecx, [esp + 0x10]
mov byte [esp + 0x360], 4
call fcn.00401070
mov esi, dword [esp + 0x48]
lea ecx, [esp + 0x1c]
call fcn.004023b0
push eax
call fcn.005e519b
add esp, 4
lea ecx, [esp + 0x34]
mov edi, eax
call fcn.004023b0
push eax
call fcn.005e519b
add esi, edi
lea esi, [eax + esi + 3]
lea ebp, [esi + esi]
push ebp
call fcn.005fdccd
mov edi, eax
add esp, 8
test edi, edi
mov dword [esp + 0x10], edi
je 0x5228a8
mov ecx, ebp
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, ebx
rep stosb byte es:[edi], al
lea ecx, [esp + 0x1c]
call fcn.004023b0
push eax
lea ecx, [esp + 0x38]
call fcn.004023b0
push eax
lea ecx, [esp + 0x48]
call fcn.004023b0
push eax
mov eax, dword [esp + 0x1c]
push esi
push eax
call fcn.005e512b
mov ecx, dword [esp + 0x24]
push ecx
call fcn.005e519b
add esp, 0x18
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x360], bl
call fcn.00401070
lea ecx, [esp + 0x34]
mov byte [esp + 0x360], 2
call fcn.00401070
lea ecx, [esp + 0x40]
mov byte [esp + 0x360], 1
call fcn.00401070
mov eax, dword [esp + 0x10]
xor ebx, ebx
pop ebp
cmp eax, ebx
jne 0x5228e9
lea eax, [esp + 0x10]
lea edx, [esp + 0x48]
push eax
push edx
call fcn.005e5369
add esp, 8
lea ecx, [esp + 0xc]
mov byte [esp + 0x35c], 0
call fcn.00401070
or edi, 0xffffffff
lea ecx, [esp + 0x24]
mov dword [esp + 0x35c], edi
call fcn.00401070
jmp 0x522920
or edi, 0xffffffff
cmp dword [0x6f6368], ebx
je 0x5229cb
mov eax, dword [0x6f61b8]
cmp eax, ebx
jne 0x52293a
mov eax, 0x6f61bc
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.005e5a05
lea ecx, [esp + 0x50]
add esp, 8
cmp eax, ecx
jne 0x5229cb
mov eax, dword [0x6f61b8]
cmp eax, ebx
jne 0x52295e
mov eax, 0x6f61bc
push eax
call fcn.005e519b
add esp, 4
lea ecx, [esp + eax*2 + 0x48]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x2c], ebx
mov word [esp + 0x28], bx
mov eax, dword [0x6f61c8]
mov dword [esp + 0x35c], 5
cmp eax, ebx
jne 0x522991
mov eax, 0x6f61cc
push ecx
push eax
push 0x6c5124
lea ecx, [esp + 0x30]
call fcn.0040fbe0
mov eax, dword [esp + 0x24]
cmp eax, ebx
jne 0x5229ad
lea eax, [esp + 0x28]
lea edx, [esp + 0x48]
push eax
push edx
call fcn.005e5369
add esp, 8
lea ecx, [esp + 0x24]
mov dword [esp + 0x35c], edi
call fcn.00401070
lea eax, [esp + 0x48]
push 0x6c7020
push eax
call fcn.005e5a05
add esp, 8
test eax, eax
jne 0x522ab8
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], ebx
mov word [esp + 0x1c], bx
lea ecx, [esp + 0x18]
mov dword [esp + 0x35c], 6
push ecx
call fcn.004472d0
mov eax, dword [esp + 0x1c]
add esp, 4
cmp eax, ebx
jne 0x522a16
lea eax, [esp + 0x1c]
push eax
call fcn.005e519b
mov ecx, dword [esp + 0x1c]
add esp, 4
cmp ecx, ebx
mov edx, ecx
jne 0x522a2d
lea edx, [esp + 0x1c]
cmp word [edx + eax*2 - 2], 0x5c
mov edx, 0x6c5154
jne 0x522a3f
mov edx, 0x6f5cbc
cmp ecx, ebx
mov eax, ecx
jne 0x522a49
lea eax, [esp + 0x1c]
mov esi, dword [esp + 0x364]
lea ecx, [esp + 0x48]
push ecx
push edx
push eax
push 0x6c5c2c
mov ecx, esi
call fcn.00441c20
push 0x6c9450
mov ecx, esi
call fcn.004023b0
push eax
call fcn.005e5a05
add esp, 8
test eax, eax
je 0x522aa6
push 0x6c5154
push 0x6c9450
mov ecx, esi
call fcn.0043e0f0
push 0x6c9450
mov ecx, esi
call fcn.004023b0
push eax
call fcn.005e5a05
add esp, 8
test eax, eax
jne 0x522a7c
lea ecx, [esp + 0x18]
mov dword [esp + 0x35c], edi
call fcn.00401070
jmp 0x522ac9
mov ecx, dword [esp + 0x364]
lea edx, [esp + 0x48]
push edx
call fcn.004023c0
mov ecx, dword [esp + 0x354]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x354
ret 4