Function at 0x10d3790
Capabilities:
Get graphical window text

Disassembly:
mov eax, 0x127b827
call fcn.01160458
sub esp, 0x144
push ebx
push esi
push edi
mov esi, ecx
push 0xb
xor eax, eax
pop ecx
lea edi, [ebp - 0x9c]
rep stosd dword es:[edi], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0xa0]
lea edi, [esi + 0x520]
push eax
mov ecx, edi
mov dword [ebp - 0xa0], 0x30
mov dword [ebp - 0x94], 0x7d1
call fcn.010b7fd2
lea eax, [ebp - 0xa0]
push eax
xor ebx, ebx
push ebx
push 0x411
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x24], ebx
call fcn.01040e8c
mov dword [ebp - 4], ebx
mov eax, dword [esi + 4]
push ebx
push ebx
push ebx
push 0x5600184c
push ebx
push 0x12ce0b8
push eax
lea ecx, [ebp - 0x150]
call fcn.0103fcc4
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp + 0x10]
movsx ecx, ax
shr eax, 0x10
movsx eax, ax
mov dword [ebp - 0x38], ecx
mov ecx, dword [esi + 0x4a0]
mov dword [ebp - 0x34], eax
call fcn.010876cb
push dword [ebp - 0x6c]
mov dword [ebp - 0x30], eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x10d40af
mov eax, dword [esi + 0x4a0]
mov ecx, dword [ebp + 0xc]
cmp ecx, dword [eax + 4]
je 0x10d387e
cmp dword [ebp - 0x38], 0xffffffff
jne 0x10d40af
cmp dword [ebp - 0x34], 0xffffffff
jne 0x10d40af
mov dword [ebp - 0x10], ebx
mov byte [ebp - 4], 1
cmp dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x40], ebx
mov byte [ebp + 0x13], bl
mov byte [ebp - 0x15], bl
mov byte [ebp + 0xf], bl
mov byte [ebp - 0x16], bl
jne 0x10d38de
cmp dword [ebp - 0x34], 0xffffffff
jne 0x10d38de
lea eax, [ebp - 0x68]
push eax
push dword [esi + 4]
mov byte [ebp + 0xf], 1
call dword [sym.imp.USER32.dll_GetClientRect]
fld qword [esi + 0x420]
lea ecx, [esi + 0x418]
mov eax, dword [ecx]
push ecx
push ecx
fstp qword [esp]
call dword [eax + 0x2c]
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0x64]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x14], ebx
mov byte [ebp - 4], 2
lea eax, [ebp - 0x14]
push eax
mov ecx, 0x12d2398
call fcn.0116d96f
mov edi, eax
cmp edi, ebx
jge 0x10d3921
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x14]
cmp eax, ebx
je 0x10d390a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x10]
cmp eax, ebx
je 0x10d391a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ebx, edi
jmp 0x10d40cb
cmp dword [ebp - 0x14], ebx
je 0x10d3c3b
mov eax, dword [esi + 0x4a0]
mov ecx, dword [eax + 0x224]
mov dword [ebp - 0x40], ecx
mov eax, dword [eax + 0x220]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x68], ebx
xor eax, eax
lea edi, [ebp - 0x64]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x20], ebx
mov byte [ebp - 4], 3
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x14]
call fcn.01086e00
test eax, eax
jne 0x10d396d
cmp dword [ebp - 0x10], ebx
jne 0x10d3acc
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x14]
call fcn.010b80be
test eax, eax
jne 0x10d3ac3
cmp dword [ebp - 0x20], ebx
je 0x10d3ac3
mov dword [ebp - 0x44], ebx
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
lea edx, [ebp - 0x44]
push edx
push ebx
push eax
call dword [ecx + 0x34]
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x44]
call fcn.01086e00
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x4c]
push edx
mov dword [ebp - 0x4c], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x30]
mov edi, eax
cmp edi, ebx
jl 0x10d3b18
cmp dword [ebp - 0x4c], 1
jle 0x10d3a7b
cmp dword [ebp - 0x4c], ebx
mov byte [ebp + 0x13], 1
mov dword [ebp - 0x28], ebx
jle 0x10d3a7b
mov dword [ebp - 0x2c], ebx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
lea edx, [ebp - 0x2c]
push edx
push dword [ebp - 0x28]
push eax
call dword [ecx + 0x34]
mov edi, eax
cmp edi, ebx
jl 0x10d3b07
cmp dword [ebp - 0x2c], ebx
je 0x10d3b43
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x50]
call fcn.01086d86
mov byte [ebp - 4], 6
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x58]
call fcn.010537fb
mov byte [ebp - 4], 7
cmp dword [ebp - 0x50], ebx
je 0x10d3a30
mov byte [ebp - 0x15], 1
cmp dword [ebp - 0x58], ebx
je 0x10d3a39
mov byte [ebp - 0x16], 1
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x58]
cmp eax, ebx
je 0x10d3a4a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x50]
cmp eax, ebx
je 0x10d3a5b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x2c]
cmp eax, ebx
je 0x10d3a6c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
inc dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x4c]
jl 0x10d39df
mov dword [ebp - 0x54], ebx
mov byte [ebp - 4], 8
cmp dword [ebp - 0x10], ebx
mov ecx, dword [esi + 0x4a0]
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x10]
je 0x10d3a9b
lea eax, [ebp - 0x54]
push eax
call fcn.010875e9
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x54]
cmp eax, ebx
je 0x10d3ab2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x44]
cmp eax, ebx
je 0x10d3ac3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [ebp - 0x10], ebx
je 0x10d3c28
push dword [ebp - 0x10]
lea ecx, [ebp - 0x24]
call fcn.01086d86
mov byte [ebp - 4], 9
push dword [ebp - 0x10]
lea ecx, [ebp - 0x28]
call fcn.01053824
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x24], ebx
je 0x10d3ba1
cmp byte [ebp + 0x13], bl
jne 0x10d3ba1
xor edi, edi
inc edi
mov dword [ebp - 0x3c], edi
jmp 0x10d3ba4
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x2c]
cmp eax, ebx
je 0x10d3b18
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x44]
cmp eax, ebx
je 0x10d3b29
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x20]
cmp eax, ebx
je 0x10d38f9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x10d38f9
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x2c]
cmp eax, ebx
je 0x10d3b54
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x44]
cmp eax, ebx
je 0x10d3b65
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x20]
cmp eax, ebx
je 0x10d3b76
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x14]
cmp eax, ebx
je 0x10d3b87
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x10]
cmp eax, ebx
je 0x10d3b97
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ebx, 0x80004003
jmp 0x10d40cb
xor edi, edi
inc edi
cmp dword [ebp - 0x28], ebx
je 0x10d3bac
mov dword [ebp - 0x40], edi
cmp byte [ebp + 0xf], bl
je 0x10d3c06
push dword [ebp - 0x10]
mov ecx, esi
call fcn.010b9ff5
mov ecx, dword [esi + 0x4a0]
test eax, eax
lea eax, [ebp - 0x68]
jne 0x10d3bd4
push ebx
push eax
push dword [ebp - 0x10]
call fcn.01089630
jmp 0x10d3bdd
push eax
push dword [ebp - 0x10]
call fcn.0108954f
mov eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 0x4a0]
cmp eax, ebx
je 0x10d3bf5
add eax, 4
jmp 0x10d3bf7
xor eax, eax
mov eax, dword [eax]
push edi
lea ecx, [ebp - 0x38]
push ecx
push ebx
push eax
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x28]
cmp eax, ebx
je 0x10d3c17
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x24]
cmp eax, ebx
je 0x10d3c28
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x20]
cmp eax, ebx
je 0x10d3c84
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x10d3c84
cmp byte [ebp + 0xf], bl
je 0x10d3c84
mov ecx, dword [esi + 0x4a0]
xor eax, eax
mov dword [ebp - 0x68], ebx
lea edi, [ebp - 0x64]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x68]
push eax
call fcn.01089342
mov eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 0x4a0]
cmp eax, ebx
je 0x10d3c72
add eax, 4
jmp 0x10d3c74
xor eax, eax
mov eax, dword [eax]
push 1
lea ecx, [ebp - 0x38]
push ecx
push ebx
push eax
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov dword [ebp + 0xc], ebx
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x10], ebx
jne 0x10d3cad
cmp dword [ebp - 0x3c], ebx
jne 0x10d3cad
cmp dword [ebp - 0x40], ebx
jne 0x10d3cad
cmp byte [ebp - 0x15], bl
jne 0x10d3cb2
push ecx
mov eax, esp
mov dword [eax], 0x894
jmp 0x10d3d6f
cmp byte [ebp - 0x15], bl
je 0x10d3cc0
push ecx
mov eax, esp
mov dword [eax], 0xf636
jmp 0x10d3d6f
mov eax, dword [esi + 0x4a0]
cmp dword [eax + 0x224], ebx
jne 0x10d3d66
cmp dword [ebp - 0x40], ebx
jne 0x10d3d66
cmp dword [eax + 0x220], ebx
jne 0x10d3ce8
cmp dword [ebp - 0x3c], ebx
je 0x10d3cf8
cmp byte [ebp - 0x16], bl
jne 0x10d3cf8
push ecx
mov eax, esp
mov dword [eax], 0x112
jmp 0x10d3d6f
mov dword [ebp - 0x30], ebx
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x10]
call fcn.010b80dc
test eax, eax
jne 0x10d3d32
cmp dword [ebp - 0x30], ebx
je 0x10d3d32
cmp byte [ebp + 0x13], bl
push ecx
lea ecx, [ebp + 0xc]
mov eax, esp
mov dword [ebp + 0x10], esp
je 0x10d3d2a
mov dword [eax], 0xf638
jmp 0x10d3d4e
mov dword [eax], 0x134
jmp 0x10d3d4e
cmp byte [ebp + 0x13], bl
push ecx
lea ecx, [ebp + 0xc]
mov eax, esp
mov dword [ebp + 0x10], esp
jne 0x10d3d48
mov dword [eax], 0x111
jmp 0x10d3d4e
mov dword [eax], 0xf636
call fcn.01039c17
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x30]
cmp eax, ebx
je 0x10d3d7a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x10d3d7a
push ecx
mov eax, esp
mov dword [eax], 0x27e
lea ecx, [ebp + 0xc]
mov dword [ebp + 0x10], esp
call fcn.01039c17
cmp dword [ebp + 0xc], ebx
je 0x10d3b76
push ebx
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp + 0xc]
call fcn.0103fbe0
mov byte [ebp - 4], 0xd
mov ecx, esi
call fcn.010c5498
mov edi, dword [sym.imp.USER32.dll_GetAncestor]
push ebx
push ebx
push 0x7e9
push 2
push dword [esi + 4]
call edi
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 4], 0xe
mov dword [ebp + 0x10], ebx
mov byte [ebp - 4], 0xf
lea eax, [ebp + 0x10]
push eax
mov ecx, 0x12d2398
call fcn.0107dbed
cmp eax, ebx
mov dword [ebp - 0x24], eax
jl 0x10d3df1
mov eax, dword [ebp + 0x10]
cmp eax, ebx
je 0x10d3e4e
mov ecx, dword [eax]
lea edx, [ebp - 0x1c]
push edx
push eax
call dword [ecx + 0x70]
cmp eax, ebx
mov dword [ebp - 0x24], eax
jge 0x10d3e49
mov byte [ebp - 4], 0xe
mov eax, dword [ebp + 0x10]
cmp eax, ebx
je 0x10d3e02
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x10d3e13
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 2
lea ecx, [ebp + 0xc]
call fcn.01039d30
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x14]
cmp eax, ebx
je 0x10d3e30
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x10]
cmp eax, ebx
je 0x10d40c8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x10d40c8
cmp dword [ebp - 0x1c], ebx
jne 0x10d3e81
mov byte [ebp - 4], 0xe
mov eax, dword [ebp + 0x10]
cmp eax, ebx
je 0x10d3e5f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x10d3e70
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 2
lea ecx, [ebp + 0xc]
call fcn.01039d30
jmp 0x10d3b76
mov byte [ebp - 4], 0xe
mov eax, dword [ebp + 0x10]
cmp eax, ebx
je 0x10d3e92
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x48], ebx
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
lea edx, [ebp - 0x48]
push edx
push eax
call dword [ecx + 0x48]
cmp eax, ebx
jge 0x10d3f02
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x48]
cmp eax, ebx
je 0x10d3ebb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x10d3ecc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 2
lea ecx, [ebp + 0xc]
call fcn.01039d30
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x14]
cmp eax, ebx
je 0x10d3ee9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x10]
cmp eax, ebx
je 0x10d40cb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x10d40cb
mov eax, dword [ebp - 0x48]
cmp eax, ebx
je 0x10d3f1b
cmp byte [esi + 0x51c], bl
je 0x10d3f1b
mov ecx, dword [eax]
push eax
call dword [ecx + 0x60]
cmp eax, ebx
jl 0x10d3eaa
push ebx
push ebx
push ebx
mov eax, 0x3e7
push ebx
push eax
lea ecx, [ebp - 0x150]
call fcn.01040803
push ebx
push dword [ebp - 0x34]
lea ecx, [ebp - 0x150]
push dword [ebp - 0x38]
push 0x1142
push dword [ebp - 0x70]
call fcn.01040c2e
xor ecx, ecx
cmp eax, ebx
setne cl
mov dword [ebp - 0x24], ecx
mov ecx, 0x383
cmp eax, ecx
jg 0x10d3fe4
je 0x10d4048
add ecx, 0xffffffce
cmp eax, ecx
jg 0x10d3f99
je 0x10d4048
mov ecx, eax
sub ecx, 0x330
je 0x10d4012
dec ecx
dec ecx
je 0x10d4012
sub ecx, 0x17
je 0x10d3fcf
sub ecx, 6
je 0x10d3fcf
jmp 0x10d4060
cmp eax, 0x37a
jl 0x10d4060
cmp eax, 0x37b
jle 0x10d3fcf
cmp eax, 0x37d
jle 0x10d4060
cmp eax, 0x37f
jle 0x10d3fcf
cmp eax, 0x381
je 0x10d4012
cmp eax, 0x382
jne 0x10d4060
push ebx
movzx eax, ax
push eax
push 0x111
push dword [esi + 4]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x10d4060
mov ecx, 0x9cf8
cmp eax, ecx
jg 0x10d4021
je 0x10d4012
cmp eax, 0x9c6a
je 0x10d4048
cmp eax, 0x9ca1
je 0x10d4048
cmp eax, 0x9cad
je 0x10d4048
cmp eax, 0x9cea
jle 0x10d4060
cmp eax, 0x9cec
jg 0x10d4060
push ebx
movzx eax, ax
push eax
push 0x111
push dword [esi + 4]
jmp 0x10d405a
cmp eax, 0xe122
jl 0x10d4060
cmp eax, 0xe123
jle 0x10d4048
cmp eax, 0xe125
je 0x10d4048
cmp eax, 0xe12a
jne 0x10d4060
lea eax, [esi + 0x74]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
jmp 0x10d4060
push ebx
movzx eax, ax
push eax
push 0x111
push 2
push dword [esi + 4]
call edi
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x48]
cmp eax, ebx
je 0x10d4071
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x10d4082
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 2
lea ecx, [ebp + 0xc]
call fcn.01039d30
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x14]
cmp eax, ebx
je 0x10d409f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x10]
cmp eax, ebx
je 0x10d40af
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x6c]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x10d40c8
push dword [ebp - 0x14c]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov ebx, dword [ebp - 0x24]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x150]
call fcn.01044a3e
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov eax, ebx
mov dword fs:[0], ecx
pop ebx
leave
ret 0x10