Function at 0x4310f0
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c23a0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xfd4
push ebx
push esi
push edi
xor esi, esi
mov dword [ebp - 0x10], esp
mov edi, ecx
push esi
mov dword [ebp - 0x40], edi
mov dword [ebp - 4], esi
call fcn.005ad351
mov eax, dword [edi + 0x90]
cmp eax, esi
jne 0x431134
lea eax, [edi + 0x94]
push eax
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x14], esi
mov word [ebp - 0x18], si
call fcn.00401ee0
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 1
cmp eax, esi
jne 0x431155
lea eax, [ebp - 0x18]
push 0x3a
push eax
call fcn.00591b7f
mov ebx, eax
add esp, 8
cmp ebx, esi
je 0x431293
add ebx, 2
push 0x3a
push ebx
call fcn.00591b7f
add esp, 8
test eax, eax
je 0x431293
push ebx
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x28], esi
mov word [ebp - 0x2c], si
call fcn.00401ee0
mov esi, dword [ebp - 0x30]
mov byte [ebp - 4], 2
test esi, esi
je 0x4311be
push esi
call fcn.00591712
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x4311be
cmp word [esi], 0x3a
jne 0x4311b9
mov word [esi], 0x2d
add esi, 2
jmp 0x4311aa
mov word [ebx], 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x4311cd
lea eax, [ebp - 0x18]
xor esi, esi
push eax
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x34], esi
mov word [ebp - 0x38], si
call fcn.00401ee0
mov ebx, dword [ebp - 0x30]
mov byte [ebp - 4], 3
cmp ebx, esi
jne 0x4311f4
lea ebx, [ebp - 0x2c]
cmp ebx, esi
je 0x43126d
push ebx
call fcn.00591712
add esp, 4
test eax, eax
je 0x43126d
mov eax, dword [ebp - 0x3c]
cmp eax, esi
je 0x431215
push eax
call fcn.00591712
add esp, 4
mov esi, eax
jmp 0x431217
xor esi, esi
push ebx
call fcn.00591712
add eax, esi
lea eax, [eax + eax + 2]
push eax
call fcn.005a9fe9
mov esi, eax
add esp, 8
test esi, esi
je 0x43126d
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x43124c
push eax
push esi
call fcn.005918aa
push ebx
push esi
call fcn.00591880
add esp, 0x10
jmp 0x431256
push ebx
push esi
call fcn.005918aa
add esp, 8
lea ecx, [ebp - 0x3c]
call fcn.00401070
push esi
mov dword [ebp - 0x3c], esi
call fcn.00591712
add esp, 4
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x3c]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00401ee0
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 2
call fcn.00401070
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.00401070
xor esi, esi
mov eax, dword [ebp - 0x1c]
cmp eax, esi
je 0x4313c5
push eax
mov esi, eax
call fcn.00591712
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x4312c0
cmp word [esi], 0x2a
jne 0x4312bb
mov word [esi], 0x2d
add esi, 2
jmp 0x4312ac
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4313c5
push eax
mov esi, eax
call fcn.00591712
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x4312ed
cmp word [esi], 0x3f
jne 0x4312e8
mov word [esi], 0x2d
add esi, 2
jmp 0x4312d9
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4313c5
push eax
mov esi, eax
call fcn.00591712
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x43131a
cmp word [esi], 0x7c
jne 0x431315
mov word [esi], 0x2d
add esi, 2
jmp 0x431306
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4313c5
push eax
mov esi, eax
call fcn.00591712
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x431347
cmp word [esi], 0x3c
jne 0x431342
mov word [esi], 0x2d
add esi, 2
jmp 0x431333
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4313c5
push eax
mov esi, eax
call fcn.00591712
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x431370
cmp word [esi], 0x3e
jne 0x43136b
mov word [esi], 0x2d
add esi, 2
jmp 0x43135c
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4313c5
push eax
mov esi, eax
call fcn.00591712
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x431399
cmp word [esi], 0x22
jne 0x431394
mov word [esi], 0x27
add esi, 2
jmp 0x431385
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4313c5
push eax
mov esi, eax
call fcn.00591712
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x4313c2
cmp word [esi], 0x2f
jne 0x4313bd
mov word [esi], 0x5c
add esi, 2
jmp 0x4313ae
mov eax, dword [ebp - 0x1c]
mov ecx, dword [0x691b70]
test ecx, ecx
jne 0x431809
test eax, eax
jne 0x4313da
lea eax, [ebp - 0x18]
push 0x202a
push eax
call fcn.00591b7f
add esp, 8
test eax, eax
jne 0x43140c
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x4313f6
lea eax, [ebp - 0x18]
push 0x202d
push eax
call fcn.00591b7f
add esp, 8
test eax, eax
je 0x4317ad
mov edx, 0x6694d8
test edx, edx
je 0x4315d2
mov eax, 0x69156c
test eax, eax
je 0x4315d2
push eax
push edx
call fcn.00591c1f
add esp, 8
test eax, eax
je 0x4315d2
mov ecx, dword [ebp - 0x1c]
push 0x6694d8
push ecx
call fcn.00591f37
add esp, 8
mov esi, eax
xor ebx, ebx
test esi, esi
je 0x431471
push 0x6694d8
inc ebx
call fcn.00591712
lea eax, [esi + eax*2]
push 0x6694d8
push eax
call fcn.00591f37
add esp, 0xc
mov esi, eax
jmp 0x43144d
test ebx, ebx
je 0x4315d2
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x30]
push edx
call fcn.00403af0
push 0x6694d8
mov byte [ebp - 4], 4
call fcn.00591712
push 0x69156c
mov esi, eax
call fcn.00591712
add esp, 8
cmp eax, esi
jbe 0x4314f6
lea ecx, [ebp - 0x1c]
call fcn.00401070
lea ecx, [ebp - 0x30]
call fcn.00401ed0
push eax
call fcn.00591712
push 0x6694d8
mov esi, eax
call fcn.00591712
push 0x69156c
mov edi, eax
call fcn.00591712
sub eax, edi
imul eax, ebx
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005a9fe9
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x1c], ebx
jne 0x4314f9
jmp 0x4315c6
mov ebx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x30]
call fcn.00401ed0
push 0x6694d8
push eax
mov dword [ebp - 0x20], eax
call fcn.00591f37
add esp, 8
test eax, eax
mov dword [ebp - 0x24], eax
je 0x431589
mov esi, dword [ebp - 0x20]
mov edi, ebx
sub eax, esi
push 0x69156c
sar eax, 1
shl eax, 1
mov ecx, eax
add ebx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00591712
mov ecx, eax
mov esi, 0x69156c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x69156c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00591712
push 0x6694d8
lea ebx, [ebx + eax*2]
call fcn.00591712
mov ecx, dword [ebp - 0x24]
push 0x6694d8
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x20], eax
call fcn.00591f37
add esp, 0x14
jmp 0x431512
mov esi, dword [ebp - 0x20]
push esi
call fcn.00591712
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x20]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00591712
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.00591712
add esp, 0xc
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.00401070
mov edx, 0x6694d4
test edx, edx
je 0x431798
mov eax, 0x69156c
test eax, eax
je 0x431798
push eax
push edx
call fcn.00591c1f
add esp, 8
test eax, eax
je 0x431798
mov ecx, dword [ebp - 0x1c]
push 0x6694d4
push ecx
call fcn.00591f37
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x431637
push 0x6694d4
inc edi
call fcn.00591712
lea eax, [esi + eax*2]
push 0x6694d4
push eax
call fcn.00591f37
add esp, 0xc
mov esi, eax
jmp 0x431613
test edi, edi
je 0x431798
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x30]
push edx
call fcn.00403af0
push 0x6694d4
mov byte [ebp - 4], 5
call fcn.00591712
push 0x69156c
mov esi, eax
call fcn.00591712
add esp, 8
cmp eax, esi
jbe 0x4316bc
lea ecx, [ebp - 0x1c]
call fcn.00401070
lea ecx, [ebp - 0x30]
call fcn.00401ed0
push eax
call fcn.00591712
push 0x6694d4
mov esi, eax
call fcn.00591712
push 0x69156c
mov ebx, eax
call fcn.00591712
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005a9fe9
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x1c], ebx
jne 0x4316bf
jmp 0x43178c
mov ebx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x30]
call fcn.00401ed0
push 0x6694d4
push eax
mov dword [ebp - 0x24], eax
call fcn.00591f37
add esp, 8
test eax, eax
mov dword [ebp - 0x20], eax
je 0x43174f
mov esi, dword [ebp - 0x24]
mov edi, ebx
sub eax, esi
push 0x69156c
sar eax, 1
shl eax, 1
mov ecx, eax
add ebx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00591712
mov ecx, eax
mov esi, 0x69156c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x69156c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00591712
push 0x6694d4
lea ebx, [ebx + eax*2]
call fcn.00591712
mov ecx, dword [ebp - 0x20]
push 0x6694d4
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.00591f37
add esp, 0x14
jmp 0x4316d8
mov esi, dword [ebp - 0x24]
push esi
call fcn.00591712
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x24]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00591712
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.00591712
add esp, 0xc
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.00401070
push 0x69156c
push 0x6694d0
lea ecx, [ebp - 0x1c]
call fcn.00431aa0
mov edi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x4317b7
lea eax, [ebp - 0x18]
push 0x200e
push eax
call fcn.00591b7f
add esp, 8
test eax, eax
je 0x4317db
push 0x69156c
push 0x6694cc
lea ecx, [ebp - 0x1c]
call fcn.00431aa0
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x4317e5
lea eax, [ebp - 0x18]
push 0x200f
push eax
call fcn.00591b7f
add esp, 8
test eax, eax
je 0x431809
push 0x69156c
push 0x6694c8
lea ecx, [ebp - 0x1c]
call fcn.00431aa0
mov eax, dword [edi + 0x70]
mov ecx, dword [edi + 0x68]
lea edx, [ebp - 0x1c]
push 0
push edx
push eax
call fcn.004688b0
cmp eax, 2
jne 0x431844
mov byte [edi + 0x428], 1
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0
call fcn.00401070
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x1c]
call fcn.00401ed0
mov ecx, dword [edi + 0x70]
push eax
call fcn.00561140
mov eax, dword [edi + 0x43c]
push 0x7d0
test eax, eax
je 0x431918
mov edx, dword [edi + 0x430]
lea ecx, [ebp - 0xfe0]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
je 0x43190c
mov eax, dword [0x68d01c]
mov dword [ebp - 0x20], eax
mov ebx, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0xfe0]
push 0xffffffffffffffff
push ecx
push 0
push 0xfde9
mov byte [ebp - 4], 6
call ebx
mov esi, eax
test esi, esi
jle 0x4318ea
push esi
lea ecx, [ebp - 0x20]
call fcn.005ae01a
push 0
push 0
push esi
push eax
lea edx, [ebp - 0xfe0]
push 0xffffffffffffffff
push edx
push 0
push 0xfde9
call ebx
mov eax, dword [edi + 0x70]
mov byte [eax + 0x2ee], 1
mov ecx, dword [ebp - 0x20]
push ecx
mov ecx, dword [edi + 0x70]
jmp 0x4318f9
mov ecx, dword [edi + 0x70]
mov eax, dword [ecx + 0x60]
test eax, eax
je 0x4318fe
push 0x691568
call fcn.0055c0d0
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 1
call fcn.005adc4d
jmp 0x431950
mov ecx, dword [edi + 0x70]
mov eax, dword [ecx + 0x60]
test eax, eax
je 0x431950
jmp 0x431946
mov eax, dword [edi + 0x430]
lea edx, [ebp - 0x810]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
test eax, eax
je 0x43193c
lea ecx, [ebp - 0x810]
push ecx
mov ecx, dword [edi + 0x70]
jmp 0x43194b
mov ecx, dword [edi + 0x70]
mov eax, dword [ecx + 0x60]
test eax, eax
je 0x431950
push 0x691568
call fcn.0055c0d0
mov edx, dword [edi + 0x70]
mov eax, dword [edx + 0x868]
test eax, eax
je 0x431978
cmp eax, 3
je 0x431978
mov eax, dword [edi + 0x6c]
push 0
push 0x2721
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [edi + 0x70]
mov ecx, dword [ecx + 0x3e4]
test ecx, ecx
je 0x4319a3
mov al, byte [ecx + 8]
test al, al
je 0x4319a3
test ecx, ecx
je 0x431996
mov edx, dword [ecx]
push 1
call dword [edx]
mov eax, dword [edi + 0x70]
mov dword [eax + 0x3e4], 0
mov ecx, dword [edi + 0x70]
mov edx, dword [ecx + 0x2e4]
push edx
call fcn.0055c260
mov ecx, edi
call fcn.004337f0
mov eax, dword [edi + 0x70]
mov ecx, dword [eax + 0x420]
push ecx
lea ecx, [eax + 0x20]
call fcn.0056d440
mov ecx, dword [edi + 0x70]
push 0
call fcn.00563840
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x431a15
mov edx, dword [edi + 0x70]
push 1
push 1
push edx
call fcn.0048db50
mov eax, dword [edi + 0x6c]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x431a15
mov ecx, dword [edi + 0x70]
mov eax, dword [edi + 0x6c]
mov edx, dword [ecx + 0x420]
push edx
push 0x144d
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov ecx, dword [0x691ca0]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x431a47
mov edx, dword [edi + 0x70]
mov ecx, dword [0x691ca0]
mov eax, dword [edx + 0x420]
push eax
push 0x1395
push 0x111
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
push 1
mov ecx, edi
call fcn.00431cc0
mov eax, dword [edi + 0x60]
push 0
test eax, eax
je 0x431a6c
push 0xc8
push 1
mov ecx, edi
call fcn.00422e00
jmp 0x431827
mov ecx, edi
call fcn.005a9d43
jmp 0x431827