Function at 0x438810
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5f3fb0
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.005de966
mov eax, dword [esi + 0x90]
cmp eax, ebx
jne 0x438854
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 0x438875
lea eax, [ebp - 0x18]
push 0x3a
push eax
call fcn.005c30af
mov edi, eax
add esp, 8
cmp edi, ebx
je 0x4389ad
add edi, 2
push 0x3a
push edi
call fcn.005c30af
add esp, 8
test eax, eax
je 0x4389ad
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 0x4388de
push esi
call fcn.005c2c42
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x4388de
cmp word [esi], 0x3a
jne 0x4388d9
mov word [esi], 0x2d
add esi, 2
jmp 0x4388ca
mov word [edi], bx
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
jne 0x4388eb
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 0x438910
lea edi, [ebp - 0x2c]
cmp edi, ebx
je 0x438989
push edi
call fcn.005c2c42
add esp, 4
test eax, eax
je 0x438989
mov eax, dword [ebp - 0x3c]
cmp eax, ebx
je 0x438931
push eax
call fcn.005c2c42
add esp, 4
mov esi, eax
jmp 0x438933
xor esi, esi
push edi
call fcn.005c2c42
add eax, esi
lea eax, [eax + eax + 2]
push eax
call fcn.005db66d
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x438989
mov eax, dword [ebp - 0x3c]
cmp eax, ebx
je 0x438968
push eax
push esi
call fcn.005c2dda
push edi
push esi
call fcn.005c2db0
add esp, 0x10
jmp 0x438972
push edi
push esi
call fcn.005c2dda
add esp, 8
lea ecx, [ebp - 0x3c]
call fcn.00401070
push esi
mov dword [ebp - 0x3c], esi
call fcn.005c2c42
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 0x438adf
push eax
mov esi, eax
call fcn.005c2c42
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x4389da
cmp word [esi], 0x2a
jne 0x4389d5
mov word [esi], 0x2d
add esi, 2
jmp 0x4389c6
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x438adf
push eax
mov esi, eax
call fcn.005c2c42
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x438a07
cmp word [esi], 0x3f
jne 0x438a02
mov word [esi], 0x2d
add esi, 2
jmp 0x4389f3
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x438adf
push eax
mov esi, eax
call fcn.005c2c42
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x438a34
cmp word [esi], 0x7c
jne 0x438a2f
mov word [esi], 0x2d
add esi, 2
jmp 0x438a20
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x438adf
push eax
mov esi, eax
call fcn.005c2c42
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x438a61
cmp word [esi], 0x3c
jne 0x438a5c
mov word [esi], 0x2d
add esi, 2
jmp 0x438a4d
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x438adf
push eax
mov esi, eax
call fcn.005c2c42
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x438a8a
cmp word [esi], 0x3e
jne 0x438a85
mov word [esi], 0x2d
add esi, 2
jmp 0x438a76
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x438adf
push eax
mov esi, eax
call fcn.005c2c42
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x438ab3
cmp word [esi], 0x22
jne 0x438aae
mov word [esi], 0x27
add esi, 2
jmp 0x438a9f
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x438adf
push eax
mov esi, eax
call fcn.005c2c42
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x438adc
cmp word [esi], 0x2f
jne 0x438ad7
mov word [esi], 0x5c
add esi, 2
jmp 0x438ac8
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x438ae6
lea eax, [ebp - 0x18]
push 0x6a1c20
push eax
call fcn.005c3495
add esp, 8
test eax, eax
je 0x438cc3
mov edx, 0x6a1c20
test edx, edx
je 0x438adc
mov eax, 0x69e054
test eax, eax
je 0x438adc
push eax
push edx
call fcn.005c314f
add esp, 8
test eax, eax
je 0x438adc
mov ecx, dword [ebp - 0x1c]
push 0x6a1c20
push ecx
call fcn.005c3495
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x438b55
push 0x6a1c20
inc edi
call fcn.005c2c42
lea eax, [esi + eax*2]
push 0x6a1c20
push eax
call fcn.005c3495
add esp, 0xc
mov esi, eax
jmp 0x438b31
test edi, edi
je 0x438adc
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x30]
push edx
call fcn.0040d700
push 0x69e054
mov byte [ebp - 4], 4
call fcn.005c2c42
push 0x6a1c20
mov esi, eax
call fcn.005c2c42
add esp, 8
cmp esi, eax
jbe 0x438be2
lea ecx, [ebp - 0x1c]
call fcn.00401070
mov esi, dword [ebp - 0x30]
test esi, esi
jne 0x438b98
lea esi, [ebp - 0x2c]
push 0x69e054
call fcn.005c2c42
push 0x6a1c20
mov ebx, eax
call fcn.005c2c42
sub ebx, eax
push esi
imul ebx, edi
call fcn.005c2c42
add ebx, eax
lea eax, [ebx + ebx + 2]
push eax
call fcn.005db66d
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x1c], ebx
jne 0x438be5
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.00401070
jmp 0x438adc
mov ebx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x30]
call fcn.00401f40
push 0x6a1c20
push eax
mov dword [ebp - 0x20], eax
call fcn.005c3495
add esp, 8
test eax, eax
mov dword [ebp - 0x24], eax
je 0x438c75
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.005c2c42
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.005c2c42
push 0x6a1c20
lea ebx, [ebx + eax*2]
call fcn.005c2c42
mov ecx, dword [ebp - 0x24]
push 0x6a1c20
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x20], eax
call fcn.005c3495
add esp, 0x14
jmp 0x438bfe
mov esi, dword [ebp - 0x20]
push esi
call fcn.005c2c42
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.005c2c42
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.005c2c42
add esp, 0xc
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 1
call fcn.00401070
jmp 0x438adc
mov eax, dword [0x6cce50]
test eax, eax
jne 0x438f52
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x438cda
lea eax, [ebp - 0x18]
push 0x202a
push eax
call fcn.005c30af
add esp, 8
test eax, eax
jne 0x438d0c
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x438cf6
lea eax, [ebp - 0x18]
push 0x202d
push eax
call fcn.005c30af
add esp, 8
test eax, eax
je 0x438ef6
mov edx, 0x6a1c1c
test edx, edx
je 0x438ed2
mov eax, 0x6cc7bc
test eax, eax
je 0x438ed2
push eax
push edx
call fcn.005c314f
add esp, 8
test eax, eax
je 0x438ed2
mov ecx, dword [ebp - 0x1c]
push 0x6a1c1c
push ecx
call fcn.005c3495
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x438d71
push 0x6a1c1c
inc edi
call fcn.005c2c42
lea esi, [esi + eax*2]
push 0x6a1c1c
push esi
call fcn.005c3495
add esp, 0xc
mov esi, eax
jmp 0x438d4d
test edi, edi
je 0x438ed2
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x30]
push edx
call fcn.0040d700
push 0x6a1c1c
mov byte [ebp - 4], 5
call fcn.005c2c42
push 0x6cc7bc
mov esi, eax
call fcn.005c2c42
add esp, 8
cmp eax, esi
jbe 0x438df6
lea ecx, [ebp - 0x1c]
call fcn.00401070
lea ecx, [ebp - 0x30]
call fcn.00401f40
push eax
call fcn.005c2c42
push 0x6a1c1c
mov esi, eax
call fcn.005c2c42
push 0x6cc7bc
mov ebx, eax
call fcn.005c2c42
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005db66d
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x1c], ebx
jne 0x438df9
jmp 0x438ec6
mov ebx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x30]
call fcn.00401f40
push 0x6a1c1c
push eax
mov dword [ebp - 0x24], eax
call fcn.005c3495
add esp, 8
test eax, eax
mov dword [ebp - 0x20], eax
je 0x438e89
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.005c2c42
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.005c2c42
push 0x6a1c1c
lea ebx, [ebx + eax*2]
call fcn.005c2c42
mov ecx, dword [ebp - 0x20]
push 0x6a1c1c
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.005c3495
add esp, 0x14
jmp 0x438e12
mov esi, dword [ebp - 0x24]
push esi
call fcn.005c2c42
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.005c2c42
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.005c2c42
add esp, 0xc
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.00401070
push 0x6cc7bc
push 0x6a1c18
lea ecx, [ebp - 0x1c]
call fcn.00439220
push 0x6cc7bc
push 0x6a1c14
lea ecx, [ebp - 0x1c]
call fcn.00439220
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x438f00
lea eax, [ebp - 0x18]
push 0x200e
push eax
call fcn.005c30af
add esp, 8
test eax, eax
je 0x438f24
push 0x6cc7bc
push 0x6a1c10
lea ecx, [ebp - 0x1c]
call fcn.00439220
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x438f2e
lea eax, [ebp - 0x18]
push 0x200f
push eax
call fcn.005c30af
add esp, 8
test eax, eax
je 0x438f52
push 0x6cc7bc
push 0x6a1c0c
lea ecx, [ebp - 0x1c]
call fcn.00439220
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.0047b010
cmp eax, 2
jne 0x438f90
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 0x438fca
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x438fad
lea eax, [ebp - 0x18]
push eax
call fcn.0058f070
cmp eax, 2
jne 0x438fca
push 5
mov ecx, esi
call fcn.005de966
mov byte [esi + 0x42a], 1
jmp 0x438f73
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x438fd4
lea eax, [ebp - 0x18]
mov ecx, dword [esi + 0x70]
push eax
call fcn.0058f440
mov eax, dword [esi + 0x43c]
push 0x7d0
test eax, eax
je 0x4390a1
mov ecx, dword [esi + 0x430]
lea eax, [ebp - 0xfe0]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
je 0x439095
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 0x439073
push edi
lea ecx, [ebp - 0x20]
call fcn.005df633
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 0x439082
mov ecx, dword [esi + 0x70]
mov eax, dword [ecx + 0x60]
test eax, eax
je 0x439087
push 0x6cc7b8
call fcn.00588c10
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 1
call fcn.005df266
jmp 0x4390d9
mov ecx, dword [esi + 0x70]
mov eax, dword [ecx + 0x60]
test eax, eax
je 0x4390d9
jmp 0x4390cf
mov edx, dword [esi + 0x430]
lea ecx, [ebp - 0x810]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowTextA]
test eax, eax
je 0x4390c5
mov ecx, dword [esi + 0x70]
lea eax, [ebp - 0x810]
push eax
jmp 0x4390d4
mov ecx, dword [esi + 0x70]
mov eax, dword [ecx + 0x60]
test eax, eax
je 0x4390d9
push 0x6cc7b8
call fcn.00588c10
mov ecx, dword [esi + 0x70]
mov eax, dword [ecx + 0x8bc]
test eax, eax
je 0x439101
cmp eax, 3
je 0x439101
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 0x43912c
mov al, byte [ecx + 8]
test al, al
je 0x43912c
test ecx, ecx
je 0x43911f
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.00588da0
mov ecx, esi
call fcn.0043b2f0
mov eax, dword [esi + 0x70]
mov ecx, dword [eax + 0x468]
push ecx
lea ecx, [eax + 0x20]
call fcn.0059e310
mov ecx, dword [esi + 0x70]
push 0
call fcn.00591d10
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x43919e
mov edx, dword [esi + 0x70]
push 1
push 1
push edx
call fcn.004a46f0
mov eax, dword [esi + 0x6c]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x43919e
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 0x4391d0
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.00439440
mov eax, dword [esi + 0x60]
push 0
test eax, eax
je 0x4391f8
mov edx, dword [esi + 0x1c]
push 0xc8
push 1
push edx
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x438f73
mov ecx, esi
call fcn.005db3c6
jmp 0x438f73