Function at 0x43f370
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff004
push eax
add esp, 0xfffffdb8
push ebx
push esi
push edi
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp + 8]
mov eax, 0x461d70
call fcn.00455438
push esi
mov dl, byte [ebp + 0xc]
push edx
push ebx
call fcn.0043ead8
test al, al
je 0x43f3b3
mov ecx, dword [ebp - 0x38]
mov dword fs:[0], ecx
mov eax, ecx
jmp 0x43f793
cmp byte [ebx + 0xd11], 0
je 0x43f3ce
cmp byte [ebx + 0xd0c], 0
jne 0x43f3ce
cmp dword [0x472404], 0
je 0x43f3df
mov edx, dword [ebp - 0x38]
mov dword fs:[0], edx
mov eax, edx
jmp 0x43f793
mov word [ebp - 0x28], 8
push ebx
lea ecx, [ebp - 0xc]
push ecx
call fcn.00435d74
push 0
add esp, 0xfffffff8
mov eax, dword [ebx + 0x448]
push eax
movzx edx, word [ebx + 0x444]
push edx
lea ecx, [esp + 8]
push ecx
call fcn.004262e0
push ebx
call fcn.00426df8
push 0x79
push ebx
call fcn.00428ca4
cmp byte [ebx + 0x4a6], 0x79
je 0x43f43e
push 2
lea eax, [ebp - 0xc]
push eax
call fcn.00435dbc
mov edx, dword [ebp - 0x38]
mov dword fs:[0], edx
jmp 0x43f793
movzx ecx, word [ebx + 0x4b0]
push ecx
lea eax, [ebp - 0x448]
push eax
push ebx
call fcn.00426db0
movzx edx, word [ebx + 0x4b0]
lea eax, [ebp - 0x648]
mov byte [ebp + edx - 0x448], 0
movzx ecx, word [ebx + 0x4b2]
push ecx
push eax
push ebx
call fcn.00426db0
movzx edx, word [ebx + 0x4b2]
mov byte [ebp + edx - 0x648], 0
push ebx
lea ecx, [ebp - 0x40]
push ecx
call fcn.00426e58
push ebx
call fcn.00426eac
mov edi, eax
lea eax, [ebp - 0x748]
and edi, 0xff
push edi
push eax
push ebx
call fcn.00426db0
push ebx
call fcn.00426eac
xor edx, edx
mov dl, al
lea eax, [ebp - 0x848]
mov dword [ebp - 0x44], edx
mov ecx, dword [ebp - 0x44]
push ecx
push eax
push ebx
call fcn.00426db0
push ebx
call fcn.00426eac
xor edx, edx
mov dl, al
lea eax, [ebp - 0x948]
mov dword [ebp - 0x48], edx
mov ecx, dword [ebp - 0x48]
push ecx
push eax
push ebx
call fcn.00426db0
push edi
lea edx, [ebp - 0xa48]
push edx
lea ecx, [ebp - 0x748]
push ecx
call fcn.0043f818
mov eax, dword [ebp - 0x44]
push eax
lea edx, [ebp - 0xb48]
push edx
lea ecx, [ebp - 0x848]
push ecx
call fcn.0043f818
mov eax, dword [ebp - 0x48]
push eax
lea edx, [ebp - 0xc48]
push edx
lea ecx, [ebp - 0x948]
push ecx
call fcn.0043f818
cmp byte [ebp + 0xc], 0
je 0x43f679
push 0x200
lea eax, [ebp - 0xe48]
push eax
mov edx, dword [0x4656e4]
push edx
call sub.USER32.dll_GetWindowTextA
push 0x34a
call fcn.00408028
push eax
call fcn.00413da8
call fcn.004131fc
xor eax, eax
push esi
lea edi, [ebp - 0x648]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0x1248]
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
lea eax, [ebp - 0xb48]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [ebp - 0x1248]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
push eax
push edx
call fcn.00452e5c
add esp, 8
mov word [ebp - 0x28], 0x14
push ebx
lea ecx, [ebp - 0x18]
push ecx
call fcn.00435d74
push 0
add esp, 0xfffffff8
push 0
lea eax, [esp + 4]
push eax
call fcn.004262cc
push ebx
call fcn.00426df8
mov dx, word [0x473ac0]
not dx
cmp dx, word [ebx + 0x4a4]
jne 0x43f632
lea ecx, [ebp - 0xc48]
lea eax, [ebp - 0x1248]
push ecx
push 0x462082
push eax
call fcn.00452eec
pop ecx
push eax
lea edx, [ebp - 0x1248]
push edx
call fcn.0043bc50
test eax, eax
je 0x43f632
lea ecx, [ebp - 0xa48]
push ecx
lea eax, [ebp - 0xb48]
push eax
add esp, 0xfffffff8
mov edx, dword [ebp - 0x40]
mov dword [esp], edx
mov ecx, dword [ebp - 0x3c]
mov dword [esp + 4], ecx
push ebx
call fcn.0043bc7c
test eax, eax
je 0x43f632
xor eax, eax
jmp 0x43f637
mov eax, 1
mov byte [0x461d4c], al
push 2
lea edx, [ebp - 0x18]
push edx
call fcn.00435dbc
cmp byte [0x461d4c], 0
jne 0x43f666
push 0x74
push ebx
call fcn.004281cc
test eax, eax
setne cl
and ecx, 1
mov byte [0x461d4c], cl
lea eax, [ebp - 0xe48]
push eax
call fcn.00413da8
call fcn.004131fc
jmp 0x43f6a4
cmp byte [0x461d4c], 0
jne 0x43f699
mov dx, word [0x473ac0]
not dx
cmp dx, word [ebx + 0x4a4]
jne 0x43f699
xor ecx, ecx
jmp 0x43f69e
mov ecx, 1
mov byte [0x461d4c], cl
lea eax, [ebp - 0x448]
push eax
lea edx, [ebp - 0x448]
push edx
call sub.USER32.dll_OemToCharA
lea ecx, [ebp - 0x648]
push ecx
lea eax, [ebp - 0x648]
push eax
call sub.USER32.dll_OemToCharA
test esi, esi
je 0x43f73f
xor eax, eax
push esi
lea edi, [ebp - 0x448]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
lea edi, [ebp - 0x648]
push esi
lea eax, [esi + 0x400]
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
mov eax, dword [ebx + 0x4ac]
mov dword [esi + 0x600], eax
mov dl, byte [0x461d4c]
mov byte [esi + 0x636], dl
mov byte [esi + 0x637], 0
cmp byte [0x461d4c], 0
je 0x43f77f
cmp byte [ebp + 0xc], 0
je 0x43f76c
push 0x2a9
call fcn.00408028
push eax
push 0x4732b8
call fcn.00408c78
add esp, 8
inc dword [0x473ab8]
cmp dword [0x460c84], 0
jne 0x43f77f
mov dword [0x460c84], 1
push 2
lea ecx, [ebp - 0xc]
push ecx
call fcn.00435dbc
mov eax, dword [ebp - 0x38]
mov dword fs:[0], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc