Function at 0x439a60
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5f8680
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.005e2fba
mov eax, dword [esi + 0x90]
cmp eax, ebx
jne 0x439aa4
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.00402060
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 1
cmp eax, ebx
jne 0x439ac5
lea eax, [ebp - 0x18]
push 0x3a
push eax
call fcn.005c76ff
mov edi, eax
add esp, 8
cmp edi, ebx
je 0x439bfd
add edi, 2
push 0x3a
push edi
call fcn.005c76ff
add esp, 8
test eax, eax
je 0x439bfd
push edi
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x28], ebx
mov word [ebp - 0x2c], bx
call fcn.00402060
mov esi, dword [ebp - 0x30]
mov byte [ebp - 4], 2
cmp esi, ebx
je 0x439b2e
push esi
call fcn.005c7292
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x439b2e
cmp word [esi], 0x3a
jne 0x439b29
mov word [esi], 0x2d
add esi, 2
jmp 0x439b1a
mov word [edi], bx
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
jne 0x439b3b
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.00402060
mov edi, dword [ebp - 0x30]
mov byte [ebp - 4], 3
cmp edi, ebx
jne 0x439b60
lea edi, [ebp - 0x2c]
cmp edi, ebx
je 0x439bd9
push edi
call fcn.005c7292
add esp, 4
test eax, eax
je 0x439bd9
mov eax, dword [ebp - 0x3c]
cmp eax, ebx
je 0x439b81
push eax
call fcn.005c7292
add esp, 4
mov esi, eax
jmp 0x439b83
xor esi, esi
push edi
call fcn.005c7292
add eax, esi
lea eax, [eax + eax + 2]
push eax
call fcn.005dfcbc
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x439bd9
mov eax, dword [ebp - 0x3c]
cmp eax, ebx
je 0x439bb8
push eax
push esi
call fcn.005c742a
push edi
push esi
call fcn.005c7400
add esp, 0x10
jmp 0x439bc2
push edi
push esi
call fcn.005c742a
add esp, 8
lea ecx, [ebp - 0x3c]
call fcn.00401070
push esi
mov dword [ebp - 0x3c], esi
call fcn.005c7292
add esp, 4
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x3c]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00402060
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 0x439d2f
push eax
mov esi, eax
call fcn.005c7292
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x439c2a
cmp word [esi], 0x2a
jne 0x439c25
mov word [esi], 0x2d
add esi, 2
jmp 0x439c16
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x439d2f
push eax
mov esi, eax
call fcn.005c7292
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x439c57
cmp word [esi], 0x3f
jne 0x439c52
mov word [esi], 0x2d
add esi, 2
jmp 0x439c43
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x439d2f
push eax
mov esi, eax
call fcn.005c7292
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x439c84
cmp word [esi], 0x7c
jne 0x439c7f
mov word [esi], 0x2d
add esi, 2
jmp 0x439c70
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x439d2f
push eax
mov esi, eax
call fcn.005c7292
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x439cb1
cmp word [esi], 0x3c
jne 0x439cac
mov word [esi], 0x2d
add esi, 2
jmp 0x439c9d
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x439d2f
push eax
mov esi, eax
call fcn.005c7292
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x439cda
cmp word [esi], 0x3e
jne 0x439cd5
mov word [esi], 0x2d
add esi, 2
jmp 0x439cc6
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x439d2f
push eax
mov esi, eax
call fcn.005c7292
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x439d03
cmp word [esi], 0x22
jne 0x439cfe
mov word [esi], 0x27
add esi, 2
jmp 0x439cef
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x439d2f
push eax
mov esi, eax
call fcn.005c7292
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x439d2c
cmp word [esi], 0x2f
jne 0x439d27
mov word [esi], 0x5c
add esi, 2
jmp 0x439d18
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x439d36
lea eax, [ebp - 0x18]
push 0x6a5cb8
push eax
call fcn.005c7ae5
add esp, 8
test eax, eax
je 0x439f13
mov edx, 0x6a5cb8
test edx, edx
je 0x439d2c
mov eax, 0x6a2080
test eax, eax
je 0x439d2c
push eax
push edx
call fcn.005c779f
add esp, 8
test eax, eax
je 0x439d2c
mov ecx, dword [ebp - 0x1c]
push 0x6a5cb8
push ecx
call fcn.005c7ae5
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x439da5
push 0x6a5cb8
inc edi
call fcn.005c7292
lea eax, [esi + eax*2]
push 0x6a5cb8
push eax
call fcn.005c7ae5
add esp, 0xc
mov esi, eax
jmp 0x439d81
test edi, edi
je 0x439d2c
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x30]
push edx
call fcn.0040d7a0
push 0x6a2080
mov byte [ebp - 4], 4
call fcn.005c7292
push 0x6a5cb8
mov esi, eax
call fcn.005c7292
add esp, 8
cmp esi, eax
jbe 0x439e32
lea ecx, [ebp - 0x1c]
call fcn.00401070
mov esi, dword [ebp - 0x30]
test esi, esi
jne 0x439de8
lea esi, [ebp - 0x2c]
push 0x6a2080
call fcn.005c7292
push 0x6a5cb8
mov ebx, eax
call fcn.005c7292
sub ebx, eax
push esi
imul ebx, edi
call fcn.005c7292
add ebx, eax
lea eax, [ebx + ebx + 2]
push eax
call fcn.005dfcbc
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x1c], ebx
jne 0x439e35
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.00401070
jmp 0x439d2c
mov ebx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x30]
call fcn.00402050
push 0x6a5cb8
push eax
mov dword [ebp - 0x20], eax
call fcn.005c7ae5
add esp, 8
test eax, eax
mov dword [ebp - 0x24], eax
je 0x439ec5
mov esi, dword [ebp - 0x20]
mov edi, ebx
sub eax, esi
push 0x6a2080
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.005c7292
mov ecx, eax
mov esi, 0x6a2080
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6a2080
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c7292
push 0x6a5cb8
lea ebx, [ebx + eax*2]
call fcn.005c7292
mov ecx, dword [ebp - 0x24]
push 0x6a5cb8
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x20], eax
call fcn.005c7ae5
add esp, 0x14
jmp 0x439e4e
mov esi, dword [ebp - 0x20]
push esi
call fcn.005c7292
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.005c7292
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.005c7292
add esp, 0xc
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 1
call fcn.00401070
jmp 0x439d2c
mov eax, dword [0x6d1154]
test eax, eax
jne 0x43a1a2
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x439f2a
lea eax, [ebp - 0x18]
push 0x202a
push eax
call fcn.005c76ff
add esp, 8
test eax, eax
jne 0x439f5c
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x439f46
lea eax, [ebp - 0x18]
push 0x202d
push eax
call fcn.005c76ff
add esp, 8
test eax, eax
je 0x43a146
mov edx, 0x6a5cb4
test edx, edx
je 0x43a122
mov eax, 0x6d0abc
test eax, eax
je 0x43a122
push eax
push edx
call fcn.005c779f
add esp, 8
test eax, eax
je 0x43a122
mov ecx, dword [ebp - 0x1c]
push 0x6a5cb4
push ecx
call fcn.005c7ae5
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x439fc1
push 0x6a5cb4
inc edi
call fcn.005c7292
lea esi, [esi + eax*2]
push 0x6a5cb4
push esi
call fcn.005c7ae5
add esp, 0xc
mov esi, eax
jmp 0x439f9d
test edi, edi
je 0x43a122
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x30]
push edx
call fcn.0040d7a0
push 0x6a5cb4
mov byte [ebp - 4], 5
call fcn.005c7292
push 0x6d0abc
mov esi, eax
call fcn.005c7292
add esp, 8
cmp eax, esi
jbe 0x43a046
lea ecx, [ebp - 0x1c]
call fcn.00401070
lea ecx, [ebp - 0x30]
call fcn.00402050
push eax
call fcn.005c7292
push 0x6a5cb4
mov esi, eax
call fcn.005c7292
push 0x6d0abc
mov ebx, eax
call fcn.005c7292
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005dfcbc
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x1c], ebx
jne 0x43a049
jmp 0x43a116
mov ebx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x30]
call fcn.00402050
push 0x6a5cb4
push eax
mov dword [ebp - 0x24], eax
call fcn.005c7ae5
add esp, 8
test eax, eax
mov dword [ebp - 0x20], eax
je 0x43a0d9
mov esi, dword [ebp - 0x24]
mov edi, ebx
sub eax, esi
push 0x6d0abc
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.005c7292
mov ecx, eax
mov esi, 0x6d0abc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6d0abc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c7292
push 0x6a5cb4
lea ebx, [ebx + eax*2]
call fcn.005c7292
mov ecx, dword [ebp - 0x20]
push 0x6a5cb4
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.005c7ae5
add esp, 0x14
jmp 0x43a062
mov esi, dword [ebp - 0x24]
push esi
call fcn.005c7292
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.005c7292
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.005c7292
add esp, 0xc
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.00401070
push 0x6d0abc
push 0x6a5cb0
lea ecx, [ebp - 0x1c]
call fcn.0043a470
push 0x6d0abc
push 0x6a5cac
lea ecx, [ebp - 0x1c]
call fcn.0043a470
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x43a150
lea eax, [ebp - 0x18]
push 0x200e
push eax
call fcn.005c76ff
add esp, 8
test eax, eax
je 0x43a174
push 0x6d0abc
push 0x6a5ca8
lea ecx, [ebp - 0x1c]
call fcn.0043a470
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x43a17e
lea eax, [ebp - 0x18]
push 0x200f
push eax
call fcn.005c76ff
add esp, 8
test eax, eax
je 0x43a1a2
push 0x6d0abc
push 0x6a5ca4
lea ecx, [ebp - 0x1c]
call fcn.0043a470
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.0047e380
cmp eax, 2
jne 0x43a1e0
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 0x43a21a
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x43a1fd
lea eax, [ebp - 0x18]
push eax
call fcn.00593350
cmp eax, 2
jne 0x43a21a
push 5
mov ecx, esi
call fcn.005e2fba
mov byte [esi + 0x42a], 1
jmp 0x43a1c3
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x43a224
lea eax, [ebp - 0x18]
mov ecx, dword [esi + 0x70]
push eax
call fcn.00593720
mov eax, dword [esi + 0x43c]
push 0x7d0
test eax, eax
je 0x43a2f1
mov ecx, dword [esi + 0x430]
lea eax, [ebp - 0xfe0]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
je 0x43a2e5
mov edx, dword [0x6cc564]
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 0x43a2c3
push edi
lea ecx, [ebp - 0x20]
call fcn.005e3c86
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 0x43a2d2
mov ecx, dword [esi + 0x70]
mov eax, dword [ecx + 0x60]
test eax, eax
je 0x43a2d7
push 0x6d0ab8
call fcn.0058cee0
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 1
call fcn.005e38b9
jmp 0x43a329
mov ecx, dword [esi + 0x70]
mov eax, dword [ecx + 0x60]
test eax, eax
je 0x43a329
jmp 0x43a31f
mov edx, dword [esi + 0x430]
lea ecx, [ebp - 0x810]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowTextA]
test eax, eax
je 0x43a315
mov ecx, dword [esi + 0x70]
lea eax, [ebp - 0x810]
push eax
jmp 0x43a324
mov ecx, dword [esi + 0x70]
mov eax, dword [ecx + 0x60]
test eax, eax
je 0x43a329
push 0x6d0ab8
call fcn.0058cee0
mov ecx, dword [esi + 0x70]
mov eax, dword [ecx + 0x8bc]
test eax, eax
je 0x43a351
cmp eax, 3
je 0x43a351
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 0x43a37c
mov al, byte [ecx + 8]
test al, al
je 0x43a37c
test ecx, ecx
je 0x43a36f
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.0058d070
mov ecx, esi
call fcn.0043c540
mov eax, dword [esi + 0x70]
mov ecx, dword [eax + 0x468]
push ecx
lea ecx, [eax + 0x20]
call fcn.005a2970
mov ecx, dword [esi + 0x70]
push 0
call fcn.00595ff0
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x43a3ee
mov edx, dword [esi + 0x70]
push 1
push 1
push edx
call fcn.004a7cf0
mov eax, dword [esi + 0x6c]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x43a3ee
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 [0x6d12a8]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x43a420
mov edx, dword [esi + 0x70]
mov ecx, dword [0x6d12a8]
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.0043a690
mov eax, dword [esi + 0x60]
push 0
test eax, eax
je 0x43a448
mov edx, dword [esi + 0x1c]
push 0xc8
push 1
push edx
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x43a1c3
mov ecx, esi
call fcn.005dfa16
jmp 0x43a1c3