Function at 0x438650
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5f42a0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xfd4
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x10], esp
mov esi, ecx
push ebx
mov dword [ebp - 0x40], esi
mov dword [ebp - 4], ebx
call fcn.005dec56
mov eax, dword [esi + 0x90]
cmp eax, ebx
jne 0x438694
lea eax, [esi + 0x94]
push eax
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], ebx
mov word [ebp - 0x18], bx
call fcn.00401f50
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 1
cmp eax, ebx
jne 0x4386b5
lea eax, [ebp - 0x18]
push 0x3a
push eax
call fcn.005c338f
mov edi, eax
add esp, 8
cmp edi, ebx
je 0x4387ed
add edi, 2
push 0x3a
push edi
call fcn.005c338f
add esp, 8
test eax, eax
je 0x4387ed
push edi
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x28], ebx
mov word [ebp - 0x2c], bx
call fcn.00401f50
mov esi, dword [ebp - 0x30]
mov byte [ebp - 4], 2
cmp esi, ebx
je 0x43871e
push esi
call fcn.005c2f1a
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x43871e
cmp word [esi], 0x3a
jne 0x438719
mov word [esi], 0x2d
add esi, 2
jmp 0x43870a
mov word [edi], bx
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
jne 0x43872b
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x34], ebx
mov word [ebp - 0x38], bx
call fcn.00401f50
mov edi, dword [ebp - 0x30]
mov byte [ebp - 4], 3
cmp edi, ebx
jne 0x438750
lea edi, [ebp - 0x2c]
cmp edi, ebx
je 0x4387c9
push edi
call fcn.005c2f1a
add esp, 4
test eax, eax
je 0x4387c9
mov eax, dword [ebp - 0x3c]
cmp eax, ebx
je 0x438771
push eax
call fcn.005c2f1a
add esp, 4
mov esi, eax
jmp 0x438773
xor esi, esi
push edi
call fcn.005c2f1a
add eax, esi
lea eax, [eax + eax + 2]
push eax
call fcn.005db95d
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x4387c9
mov eax, dword [ebp - 0x3c]
cmp eax, ebx
je 0x4387a8
push eax
push esi
call fcn.005c30ba
push edi
push esi
call fcn.005c3090
add esp, 0x10
jmp 0x4387b2
push edi
push esi
call fcn.005c30ba
add esp, 8
lea ecx, [ebp - 0x3c]
call fcn.00401070
push esi
mov dword [ebp - 0x3c], esi
call fcn.005c2f1a
add esp, 4
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x3c]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00401f50
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 2
call fcn.00401070
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.00401070
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x43891f
push eax
mov esi, eax
call fcn.005c2f1a
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x43881a
cmp word [esi], 0x2a
jne 0x438815
mov word [esi], 0x2d
add esi, 2
jmp 0x438806
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x43891f
push eax
mov esi, eax
call fcn.005c2f1a
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x438847
cmp word [esi], 0x3f
jne 0x438842
mov word [esi], 0x2d
add esi, 2
jmp 0x438833
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x43891f
push eax
mov esi, eax
call fcn.005c2f1a
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x438874
cmp word [esi], 0x7c
jne 0x43886f
mov word [esi], 0x2d
add esi, 2
jmp 0x438860
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x43891f
push eax
mov esi, eax
call fcn.005c2f1a
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x4388a1
cmp word [esi], 0x3c
jne 0x43889c
mov word [esi], 0x2d
add esi, 2
jmp 0x43888d
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x43891f
push eax
mov esi, eax
call fcn.005c2f1a
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x4388ca
cmp word [esi], 0x3e
jne 0x4388c5
mov word [esi], 0x2d
add esi, 2
jmp 0x4388b6
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x43891f
push eax
mov esi, eax
call fcn.005c2f1a
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x4388f3
cmp word [esi], 0x22
jne 0x4388ee
mov word [esi], 0x27
add esi, 2
jmp 0x4388df
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x43891f
push eax
mov esi, eax
call fcn.005c2f1a
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x43891c
cmp word [esi], 0x2f
jne 0x438917
mov word [esi], 0x5c
add esi, 2
jmp 0x438908
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x438926
lea eax, [ebp - 0x18]
push 0x6a1c28
push eax
call fcn.005c3775
add esp, 8
test eax, eax
je 0x438b03
mov edx, 0x6a1c28
test edx, edx
je 0x43891c
mov eax, 0x69e054
test eax, eax
je 0x43891c
push eax
push edx
call fcn.005c342f
add esp, 8
test eax, eax
je 0x43891c
mov ecx, dword [ebp - 0x1c]
push 0x6a1c28
push ecx
call fcn.005c3775
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x438995
push 0x6a1c28
inc edi
call fcn.005c2f1a
lea eax, [esi + eax*2]
push 0x6a1c28
push eax
call fcn.005c3775
add esp, 0xc
mov esi, eax
jmp 0x438971
test edi, edi
je 0x43891c
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x30]
push edx
call fcn.0040d680
push 0x69e054
mov byte [ebp - 4], 4
call fcn.005c2f1a
push 0x6a1c28
mov esi, eax
call fcn.005c2f1a
add esp, 8
cmp esi, eax
jbe 0x438a22
lea ecx, [ebp - 0x1c]
call fcn.00401070
mov esi, dword [ebp - 0x30]
test esi, esi
jne 0x4389d8
lea esi, [ebp - 0x2c]
push 0x69e054
call fcn.005c2f1a
push 0x6a1c28
mov ebx, eax
call fcn.005c2f1a
sub ebx, eax
push esi
imul ebx, edi
call fcn.005c2f1a
add ebx, eax
lea eax, [ebx + ebx + 2]
push eax
call fcn.005db95d
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x1c], ebx
jne 0x438a25
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.00401070
jmp 0x43891c
mov ebx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x30]
call fcn.00401f40
push 0x6a1c28
push eax
mov dword [ebp - 0x20], eax
call fcn.005c3775
add esp, 8
test eax, eax
mov dword [ebp - 0x24], eax
je 0x438ab5
mov esi, dword [ebp - 0x20]
mov edi, ebx
sub eax, esi
push 0x69e054
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.005c2f1a
mov ecx, eax
mov esi, 0x69e054
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x69e054
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
push 0x6a1c28
lea ebx, [ebx + eax*2]
call fcn.005c2f1a
mov ecx, dword [ebp - 0x24]
push 0x6a1c28
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x20], eax
call fcn.005c3775
add esp, 0x14
jmp 0x438a3e
mov esi, dword [ebp - 0x20]
push esi
call fcn.005c2f1a
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.005c2f1a
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.005c2f1a
add esp, 0xc
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 1
call fcn.00401070
jmp 0x43891c
mov eax, dword [0x6cce54]
test eax, eax
jne 0x438d92
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x438b1a
lea eax, [ebp - 0x18]
push 0x202a
push eax
call fcn.005c338f
add esp, 8
test eax, eax
jne 0x438b4c
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x438b36
lea eax, [ebp - 0x18]
push 0x202d
push eax
call fcn.005c338f
add esp, 8
test eax, eax
je 0x438d36
mov edx, 0x6a1c24
test edx, edx
je 0x438d12
mov eax, 0x6cc7bc
test eax, eax
je 0x438d12
push eax
push edx
call fcn.005c342f
add esp, 8
test eax, eax
je 0x438d12
mov ecx, dword [ebp - 0x1c]
push 0x6a1c24
push ecx
call fcn.005c3775
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x438bb1
push 0x6a1c24
inc edi
call fcn.005c2f1a
lea esi, [esi + eax*2]
push 0x6a1c24
push esi
call fcn.005c3775
add esp, 0xc
mov esi, eax
jmp 0x438b8d
test edi, edi
je 0x438d12
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x30]
push edx
call fcn.0040d680
push 0x6a1c24
mov byte [ebp - 4], 5
call fcn.005c2f1a
push 0x6cc7bc
mov esi, eax
call fcn.005c2f1a
add esp, 8
cmp eax, esi
jbe 0x438c36
lea ecx, [ebp - 0x1c]
call fcn.00401070
lea ecx, [ebp - 0x30]
call fcn.00401f40
push eax
call fcn.005c2f1a
push 0x6a1c24
mov esi, eax
call fcn.005c2f1a
push 0x6cc7bc
mov ebx, eax
call fcn.005c2f1a
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005db95d
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x1c], ebx
jne 0x438c39
jmp 0x438d06
mov ebx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x30]
call fcn.00401f40
push 0x6a1c24
push eax
mov dword [ebp - 0x24], eax
call fcn.005c3775
add esp, 8
test eax, eax
mov dword [ebp - 0x20], eax
je 0x438cc9
mov esi, dword [ebp - 0x24]
mov edi, ebx
sub eax, esi
push 0x6cc7bc
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.005c2f1a
mov ecx, eax
mov esi, 0x6cc7bc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6cc7bc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
push 0x6a1c24
lea ebx, [ebx + eax*2]
call fcn.005c2f1a
mov ecx, dword [ebp - 0x20]
push 0x6a1c24
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.005c3775
add esp, 0x14
jmp 0x438c52
mov esi, dword [ebp - 0x24]
push esi
call fcn.005c2f1a
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.005c2f1a
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.005c2f1a
add esp, 0xc
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.00401070
push 0x6cc7bc
push 0x6a1c20
lea ecx, [ebp - 0x1c]
call fcn.00439060
push 0x6cc7bc
push 0x6a1c1c
lea ecx, [ebp - 0x1c]
call fcn.00439060
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x438d40
lea eax, [ebp - 0x18]
push 0x200e
push eax
call fcn.005c338f
add esp, 8
test eax, eax
je 0x438d64
push 0x6cc7bc
push 0x6a1c18
lea ecx, [ebp - 0x1c]
call fcn.00439060
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x438d6e
lea eax, [ebp - 0x18]
push 0x200f
push eax
call fcn.005c338f
add esp, 8
test eax, eax
je 0x438d92
push 0x6cc7bc
push 0x6a1c14
lea ecx, [ebp - 0x1c]
call fcn.00439060
mov esi, dword [ebp - 0x40]
lea edx, [ebp - 0x1c]
push 0
push edx
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x68]
push eax
call fcn.0047ae30
cmp eax, 2
jne 0x438dd0
mov byte [esi + 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
mov ecx, dword [esi + 0x70]
mov edx, dword [ecx + 0x470]
mov eax, dword [ecx + 0x474]
or edx, eax
je 0x438e0a
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x438ded
lea eax, [ebp - 0x18]
push eax
call fcn.0058f360
cmp eax, 2
jne 0x438e0a
push 5
mov ecx, esi
call fcn.005dec56
mov byte [esi + 0x42a], 1
jmp 0x438db3
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x438e14
lea eax, [ebp - 0x18]
mov ecx, dword [esi + 0x70]
push eax
call fcn.0058f730
mov eax, dword [esi + 0x43c]
push 0x7d0
test eax, eax
je 0x438ee1
mov ecx, dword [esi + 0x430]
lea eax, [ebp - 0xfe0]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
je 0x438ed5
mov edx, dword [0x6c826c]
mov dword [ebp - 0x20], edx
mov ebx, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push 0
push 0
push 0
push 0
lea eax, [ebp - 0xfe0]
push 0xffffffffffffffff
push eax
push 0
push 0xfde9
mov byte [ebp - 4], 6
call ebx
mov edi, eax
test edi, edi
jle 0x438eb3
push edi
lea ecx, [ebp - 0x20]
call fcn.005df923
push 0
push 0
push edi
push eax
lea ecx, [ebp - 0xfe0]
push 0xffffffffffffffff
push ecx
push 0
push 0xfde9
call ebx
mov edx, dword [esi + 0x70]
mov byte [edx + 0x316], 1
mov eax, dword [ebp - 0x20]
mov ecx, dword [esi + 0x70]
push eax
jmp 0x438ec2
mov ecx, dword [esi + 0x70]
mov eax, dword [ecx + 0x60]
test eax, eax
je 0x438ec7
push 0x6cc7b8
call fcn.00588ef0
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 1
call fcn.005df556
jmp 0x438f19
mov ecx, dword [esi + 0x70]
mov eax, dword [ecx + 0x60]
test eax, eax
je 0x438f19
jmp 0x438f0f
mov edx, dword [esi + 0x430]
lea ecx, [ebp - 0x810]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowTextA]
test eax, eax
je 0x438f05
mov ecx, dword [esi + 0x70]
lea eax, [ebp - 0x810]
push eax
jmp 0x438f14
mov ecx, dword [esi + 0x70]
mov eax, dword [ecx + 0x60]
test eax, eax
je 0x438f19
push 0x6cc7b8
call fcn.00588ef0
mov ecx, dword [esi + 0x70]
mov eax, dword [ecx + 0x8bc]
test eax, eax
je 0x438f41
cmp eax, 3
je 0x438f41
mov edx, dword [esi + 0x6c]
push 0
push 0x2721
push 0x111
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esi + 0x70]
mov ecx, dword [eax + 0x42c]
test ecx, ecx
je 0x438f6c
mov al, byte [ecx + 8]
test al, al
je 0x438f6c
test ecx, ecx
je 0x438f5f
mov edx, dword [ecx]
push 1
call dword [edx]
mov eax, dword [esi + 0x70]
mov dword [eax + 0x42c], 0
mov ecx, dword [esi + 0x70]
mov edx, dword [ecx + 0x2ec]
push edx
call fcn.00589080
mov ecx, esi
call fcn.0043b130
mov eax, dword [esi + 0x70]
mov ecx, dword [eax + 0x468]
push ecx
lea ecx, [eax + 0x20]
call fcn.0059e600
mov ecx, dword [esi + 0x70]
push 0
call fcn.00592000
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x438fde
mov edx, dword [esi + 0x70]
push 1
push 1
push edx
call fcn.004a4720
mov eax, dword [esi + 0x6c]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x438fde
mov ecx, dword [esi + 0x70]
mov eax, dword [esi + 0x6c]
mov edx, dword [ecx + 0x468]
push edx
push 0x144d
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov ecx, dword [0x6ccfa8]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x439010
mov edx, dword [esi + 0x70]
mov ecx, dword [0x6ccfa8]
mov eax, dword [edx + 0x468]
push eax
push 0x1395
push 0x111
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
push 1
mov ecx, esi
call fcn.00439280
mov eax, dword [esi + 0x60]
push 0
test eax, eax
je 0x439038
mov edx, dword [esi + 0x1c]
push 0xc8
push 1
push edx
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x438db3
mov ecx, esi
call fcn.005db6b6
jmp 0x438db3