Function at 0x516350
Capabilities:
Get graphical window text

Disassembly:
sub esp, 0x24
or ecx, 0xffffffff
mov dword [esp + 4], 0x12
call fcn.0046e0d0
mov eax, dword [0x7bd078]
lea ecx, [esp + 8]
push eax
mov dword [esp + 0xc], vtable.CD.0
call dword [vtable.CD.0]
test al, al
jne 0x516388
mov eax, 7
add esp, 0x24
ret
push esi
push 0
mov edx, 0x516620
mov ecx, 0xe2
call fcn.005f7180
mov esi, eax
test esi, esi
mov dword [esp + 0xc], esi
je 0x5165f7
push ebx
push ebp
lea ecx, [esp + 0x10]
push edi
push ecx
push 8
push esi
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov edx, dword [0xb0de30]
mov ecx, esi
call fcn.0072bae0
mov ecx, esi
call fcn.005f7330
mov edx, dword [0xb0de30]
push edx
call dword [sym.imp.USER32.dll_SetFocus]
push 0x71a
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
test esi, esi
je 0x516467
mov eax, dword [0x83a6f0]
cmp eax, 0x320
jg 0x5163fc
xor ecx, ecx
jmp 0x516408
add eax, 0xfffffce0
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
mov eax, dword [0x83a6f4]
cmp eax, 0x258
jg 0x516418
xor eax, eax
jmp 0x516422
add eax, 0xfffffda8
cdq
sub eax, edx
sar eax, 1
push 0xd
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
push ecx
push 0
push esi
call dword [sym.imp.USER32.dll_SetWindowPos]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 1
push 0x4e3
push esi
call edi
cmp dword [0x83a6f0], 0x280
jne 0x516458
push str.Ra2ts_s
jmp 0x51645d
push str.Ra2ts_l
push 0
push 0x4e4
push esi
call edi
call fcn.005f7c20
test al, al
je 0x516478
mov dword [esp + 0x14], 7
mov al, byte [0x83a6ec]
test al, al
je 0x5164a0
mov dl, 1
xor ecx, ecx
mov byte [0x83a6ec], 0
call fcn.00514e00
mov edx, dword [0x821c74]
xor cl, cl
push 0
call fcn.004e01d0
mov ecx, dword [0x81a788]
call fcn.005303e0
test ax, ax
je 0x5165b4
mov ecx, dword [0x81a788]
call fcn.00530430
mov bx, ax
and ebx, 0xffff
test bh, 8
jne 0x5165b4
movsx ebp, bl
push ebp
call fcn.0076e1c1
add esp, 4
test eax, eax
je 0x5165e7
cmp bl, 0x7e
je 0x5165e7
lea eax, [esp + 0x12]
mov byte [esp + 0x12], bl
push eax
mov byte [esp + 0x17], 0
call fcn.004960f0
mov edi, 0xa292bc
or ecx, 0xffffffff
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
cmp esi, 0x1f
jl 0x516523
xor esi, esi
mov byte [0xa292bc], 0
push ebp
call fcn.0076df63
add esp, 4
mov byte [esi + 0xa292bc], al
xor esi, esi
mov edi, 0x7c6584
mov ecx, dword [edi]
push ecx
push 0xa292bc
call fcn.0076ec40
add esp, 8
test eax, eax
jne 0x51655b
add edi, 0x10
inc esi
cmp edi, 0x7c65c4
jl 0x516539
jmp 0x5165b4
shl esi, 4
mov ecx, 8
mov edi, 0xa292bc
mov esi, dword [esi + 0x7c6580]
cmp byte [esi], 0
sete dl
xor eax, eax
mov byte [esi], dl
rep stosd dword es:[edi], eax
push eax
mov eax, dword [0x821b68]
mov edx, 0x2000
push 0x3f800000
mov ecx, dword [eax + 0x5d4]
call fcn.00708810
mov dl, 1
xor ecx, ecx
mov byte [0x83a6ec], 0
call fcn.00514e00
mov edx, dword [0x821c74]
xor cl, cl
push 0
call fcn.004e01d0
cmp dword [esp + 0x14], 0x12
je 0x516467
mov ecx, dword [esp + 0x18]
call fcn.005f7250
lea ecx, [esp + 0x20]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
mov ecx, 0xa283a8
mov edx, dword [esp + 0x2e]
push edx
call fcn.00634710
pop edi
pop ebp
pop ebx
jmp 0x5165ff
mov ecx, 8
xor eax, eax
mov edi, 0xa292bc
rep stosd dword es:[edi], eax
jmp 0x5165b4
mov dword [esp + 8], 7
mov eax, dword [0xb0de30]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [esp + 8]
pop esi
add esp, 0x24
ret