Function at 0x10d3311
Capabilities:
Get graphical window text

Disassembly:
mov eax, 0x127b6db
call fcn.01160168
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.010b79e7
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.01040bb9
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.0103f9e9
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.01086f96
push dword [ebp - 0x6c]
mov dword [ebp - 0x30], eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x10d3c30
mov eax, dword [esi + 0x4a0]
mov ecx, dword [ebp + 0xc]
cmp ecx, dword [eax + 4]
je 0x10d33ff
cmp dword [ebp - 0x38], 0xffffffff
jne 0x10d3c30
cmp dword [ebp - 0x34], 0xffffffff
jne 0x10d3c30
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 0x10d345f
cmp dword [ebp - 0x34], 0xffffffff
jne 0x10d345f
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.0116d5e1
mov edi, eax
cmp edi, ebx
jge 0x10d34a2
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x14]
cmp eax, ebx
je 0x10d348b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x10]
cmp eax, ebx
je 0x10d349b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ebx, edi
jmp 0x10d3c4c
cmp dword [ebp - 0x14], ebx
je 0x10d37bc
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.010866f9
test eax, eax
jne 0x10d34ee
cmp dword [ebp - 0x10], ebx
jne 0x10d364d
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x14]
call fcn.010b7ad3
test eax, eax
jne 0x10d3644
cmp dword [ebp - 0x20], ebx
je 0x10d3644
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.010866f9
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 0x10d3699
cmp dword [ebp - 0x4c], 1
jle 0x10d35fc
cmp dword [ebp - 0x4c], ebx
mov byte [ebp + 0x13], 1
mov dword [ebp - 0x28], ebx
jle 0x10d35fc
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 0x10d3688
cmp dword [ebp - 0x2c], ebx
je 0x10d36c4
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x50]
call fcn.0108667f
mov byte [ebp - 4], 6
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x58]
call fcn.01053216
mov byte [ebp - 4], 7
cmp dword [ebp - 0x50], ebx
je 0x10d35b1
mov byte [ebp - 0x15], 1
cmp dword [ebp - 0x58], ebx
je 0x10d35ba
mov byte [ebp - 0x16], 1
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x58]
cmp eax, ebx
je 0x10d35cb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x50]
cmp eax, ebx
je 0x10d35dc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x2c]
cmp eax, ebx
je 0x10d35ed
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 0x10d3560
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 0x10d361c
lea eax, [ebp - 0x54]
push eax
call fcn.01086eb4
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x54]
cmp eax, ebx
je 0x10d3633
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x44]
cmp eax, ebx
je 0x10d3644
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [ebp - 0x10], ebx
je 0x10d37a9
push dword [ebp - 0x10]
lea ecx, [ebp - 0x24]
call fcn.0108667f
mov byte [ebp - 4], 9
push dword [ebp - 0x10]
lea ecx, [ebp - 0x28]
call fcn.0105323f
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x24], ebx
je 0x10d3722
cmp byte [ebp + 0x13], bl
jne 0x10d3722
xor edi, edi
inc edi
mov dword [ebp - 0x3c], edi
jmp 0x10d3725
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x2c]
cmp eax, ebx
je 0x10d3699
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x44]
cmp eax, ebx
je 0x10d36aa
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x20]
cmp eax, ebx
je 0x10d347a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x10d347a
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x2c]
cmp eax, ebx
je 0x10d36d5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x44]
cmp eax, ebx
je 0x10d36e6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x20]
cmp eax, ebx
je 0x10d36f7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x14]
cmp eax, ebx
je 0x10d3708
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x10]
cmp eax, ebx
je 0x10d3718
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ebx, 0x80004003
jmp 0x10d3c4c
xor edi, edi
inc edi
cmp dword [ebp - 0x28], ebx
je 0x10d372d
mov dword [ebp - 0x40], edi
cmp byte [ebp + 0xf], bl
je 0x10d3787
push dword [ebp - 0x10]
mov ecx, esi
call fcn.010b9a0a
mov ecx, dword [esi + 0x4a0]
test eax, eax
lea eax, [ebp - 0x68]
jne 0x10d3755
push ebx
push eax
push dword [ebp - 0x10]
call fcn.01088ee4
jmp 0x10d375e
push eax
push dword [ebp - 0x10]
call fcn.01088e03
mov eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 0x4a0]
cmp eax, ebx
je 0x10d3776
add eax, 4
jmp 0x10d3778
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 0x10d3798
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x24]
cmp eax, ebx
je 0x10d37a9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x20]
cmp eax, ebx
je 0x10d3805
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x10d3805
cmp byte [ebp + 0xf], bl
je 0x10d3805
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.01088bf6
mov eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 0x4a0]
cmp eax, ebx
je 0x10d37f3
add eax, 4
jmp 0x10d37f5
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 0x10d382e
cmp dword [ebp - 0x3c], ebx
jne 0x10d382e
cmp dword [ebp - 0x40], ebx
jne 0x10d382e
cmp byte [ebp - 0x15], bl
jne 0x10d3833
push ecx
mov eax, esp
mov dword [eax], 0x894
jmp 0x10d38f0
cmp byte [ebp - 0x15], bl
je 0x10d3841
push ecx
mov eax, esp
mov dword [eax], 0xf636
jmp 0x10d38f0
mov eax, dword [esi + 0x4a0]
cmp dword [eax + 0x224], ebx
jne 0x10d38e7
cmp dword [ebp - 0x40], ebx
jne 0x10d38e7
cmp dword [eax + 0x220], ebx
jne 0x10d3869
cmp dword [ebp - 0x3c], ebx
je 0x10d3879
cmp byte [ebp - 0x16], bl
jne 0x10d3879
push ecx
mov eax, esp
mov dword [eax], 0x112
jmp 0x10d38f0
mov dword [ebp - 0x30], ebx
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x10]
call fcn.010b7af1
test eax, eax
jne 0x10d38b3
cmp dword [ebp - 0x30], ebx
je 0x10d38b3
cmp byte [ebp + 0x13], bl
push ecx
lea ecx, [ebp + 0xc]
mov eax, esp
mov dword [ebp + 0x10], esp
je 0x10d38ab
mov dword [eax], 0xf638
jmp 0x10d38cf
mov dword [eax], 0x134
jmp 0x10d38cf
cmp byte [ebp + 0x13], bl
push ecx
lea ecx, [ebp + 0xc]
mov eax, esp
mov dword [ebp + 0x10], esp
jne 0x10d38c9
mov dword [eax], 0x111
jmp 0x10d38cf
mov dword [eax], 0xf636
call fcn.0103d4c5
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x30]
cmp eax, ebx
je 0x10d38fb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x10d38fb
push ecx
mov eax, esp
mov dword [eax], 0x27e
lea ecx, [ebp + 0xc]
mov dword [ebp + 0x10], esp
call fcn.0103d4c5
cmp dword [ebp + 0xc], ebx
je 0x10d36f7
push ebx
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp + 0xc]
call fcn.0103f905
mov byte [ebp - 4], 0xd
mov ecx, esi
call fcn.010c5019
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.0107d39e
cmp eax, ebx
mov dword [ebp - 0x24], eax
jl 0x10d3972
mov eax, dword [ebp + 0x10]
cmp eax, ebx
je 0x10d39cf
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 0x10d39ca
mov byte [ebp - 4], 0xe
mov eax, dword [ebp + 0x10]
cmp eax, ebx
je 0x10d3983
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x10d3994
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 2
lea ecx, [ebp + 0xc]
call fcn.01039968
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x14]
cmp eax, ebx
je 0x10d39b1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x10]
cmp eax, ebx
je 0x10d3c49
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x10d3c49
cmp dword [ebp - 0x1c], ebx
jne 0x10d3a02
mov byte [ebp - 4], 0xe
mov eax, dword [ebp + 0x10]
cmp eax, ebx
je 0x10d39e0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x10d39f1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 2
lea ecx, [ebp + 0xc]
call fcn.01039968
jmp 0x10d36f7
mov byte [ebp - 4], 0xe
mov eax, dword [ebp + 0x10]
cmp eax, ebx
je 0x10d3a13
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 0x10d3a83
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x48]
cmp eax, ebx
je 0x10d3a3c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x10d3a4d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 2
lea ecx, [ebp + 0xc]
call fcn.01039968
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x14]
cmp eax, ebx
je 0x10d3a6a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x10]
cmp eax, ebx
je 0x10d3c4c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x10d3c4c
mov eax, dword [ebp - 0x48]
cmp eax, ebx
je 0x10d3a9c
cmp byte [esi + 0x51c], bl
je 0x10d3a9c
mov ecx, dword [eax]
push eax
call dword [ecx + 0x60]
cmp eax, ebx
jl 0x10d3a2b
push ebx
push ebx
push ebx
mov eax, 0x3e7
push ebx
push eax
lea ecx, [ebp - 0x150]
call fcn.01040530
push ebx
push dword [ebp - 0x34]
lea ecx, [ebp - 0x150]
push dword [ebp - 0x38]
push 0x1142
push dword [ebp - 0x70]
call fcn.0104095b
xor ecx, ecx
cmp eax, ebx
setne cl
mov dword [ebp - 0x24], ecx
mov ecx, 0x383
cmp eax, ecx
jg 0x10d3b65
je 0x10d3bc9
add ecx, 0xffffffce
cmp eax, ecx
jg 0x10d3b1a
je 0x10d3bc9
mov ecx, eax
sub ecx, 0x330
je 0x10d3b93
dec ecx
dec ecx
je 0x10d3b93
sub ecx, 0x17
je 0x10d3b50
sub ecx, 6
je 0x10d3b50
jmp 0x10d3be1
cmp eax, 0x37a
jl 0x10d3be1
cmp eax, 0x37b
jle 0x10d3b50
cmp eax, 0x37d
jle 0x10d3be1
cmp eax, 0x37f
jle 0x10d3b50
cmp eax, 0x381
je 0x10d3b93
cmp eax, 0x382
jne 0x10d3be1
push ebx
movzx eax, ax
push eax
push 0x111
push dword [esi + 4]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x10d3be1
mov ecx, 0x9cf8
cmp eax, ecx
jg 0x10d3ba2
je 0x10d3b93
cmp eax, 0x9c6a
je 0x10d3bc9
cmp eax, 0x9ca1
je 0x10d3bc9
cmp eax, 0x9cad
je 0x10d3bc9
cmp eax, 0x9cea
jle 0x10d3be1
cmp eax, 0x9cec
jg 0x10d3be1
push ebx
movzx eax, ax
push eax
push 0x111
push dword [esi + 4]
jmp 0x10d3bdb
cmp eax, 0xe122
jl 0x10d3be1
cmp eax, 0xe123
jle 0x10d3bc9
cmp eax, 0xe125
je 0x10d3bc9
cmp eax, 0xe12a
jne 0x10d3be1
lea eax, [esi + 0x74]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
jmp 0x10d3be1
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 0x10d3bf2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x10d3c03
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 2
lea ecx, [ebp + 0xc]
call fcn.01039968
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x14]
cmp eax, ebx
je 0x10d3c20
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x10]
cmp eax, ebx
je 0x10d3c30
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 0x10d3c49
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.0104479e
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov eax, ebx
mov dword fs:[0], ecx
pop ebx
leave
ret 0x10