Function at 0x1001d0d0
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c4
push ebx
push esi
mov esi, edx
mov dword [ebp - 0x34], esi
push edi
mov edi, ecx
mov dword [ebp - 0x38], edi
test esi, esi
je 0x1001d821
mov eax, dword [esi + 8]
cmp eax, 0xfffffb20
je 0x1001d81c
cmp eax, 0xfffffff4
jne 0x1001d821
cmp dword [esi + 0xc], 3
jne 0x1001d810
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_GetLayout]
test eax, eax
je 0x1001d127
push 9
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_SetLayout]
lea eax, [ebp - 0xc]
mov dword [ebp - 0x74], 0x10
push eax
lea eax, [ebp - 0x74]
mov dword [ebp - 0x70], 1
push eax
push 2
lea ebx, [esi + 0x14]
xorps xmm0, xmm0
push ebx
push dword [esi + 0x10]
movlpd qword [ebp - 0x6c], xmm0
call dword [sym.imp.UxTheme.dll_BeginBufferedPaint]
push 1
mov dword [ebp - 0x4c], eax
xorps xmm0, xmm0
lea eax, [ebp - 0x54]
movlpd qword [ebp - 0x54], xmm0
push eax
push dword [edi + 4]
push dword [edi + 8]
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov esi, dword [sym.imp.GDI32.dll_SetWindowOrgEx]
push 0
push dword [ebp - 0x50]
push dword [ebp - 0x54]
push dword [ebp - 0xc]
call esi
push 0
push dword [ebp - 0xc]
push 0x318
push dword [edi + 4]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
call edi
push 0
push 0
push 0
push dword [ebp - 0xc]
call esi
mov ecx, dword [ebp - 0x34]
mov eax, dword [ecx + 0x18]
neg eax
push eax
mov eax, dword [ebx]
neg eax
push eax
push ebx
call dword [sym.imp.USER32.dll_OffsetRect]
movups xmm0, xmmword [ebx]
lea eax, [ebp - 0xdc]
mov dword [ebp - 0xdc], 8
push eax
movups xmmword [ebp - 0x64], xmm0
push 0
movups xmm0, xmmword [ebx]
mov ebx, dword [ebp - 0x38]
push 0x1608
movups xmmword [ebp - 0x84], xmm0
push dword [ebx + 8]
call edi
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0xd0]
push 0
push 0
push 0xf2
push dword [ebx + 8]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x84], eax
call edi
test al, 8
mov ecx, 0
mov edx, 2
setne cl
inc ecx
cmp dword [ebx + 0x30], 0
cmovg ecx, edx
test al, 4
mov edx, 3
cmovne ecx, edx
test eax, 0x400
mov dword [ebp - 0x34], ecx
mov eax, ecx
mov ecx, dword [ebx]
cmovne eax, edx
mov dword [ebp - 4], eax
mov eax, dword [ecx]
call dword [eax + 0x40]
mov edi, dword [sym.imp.msvcrt.dll_void____cdecl_operator_new_unsigned_int_]
neg eax
sbb esi, esi
neg esi
add esi, 0x25
cmp byte [0x1005dbdc], 0
jne 0x1001d28d
push 0x29c
call edi
add esp, 4
test eax, eax
je 0x1001d27d
mov ecx, eax
call fcn.10032660
mov dword [0x1005e0e4], eax
mov byte [0x1005dbdc], 1
jmp 0x1001d292
xor eax, eax
mov byte [0x1005dbdc], 1
mov dword [0x1005e0e4], eax
jmp 0x1001d292
mov eax, dword [0x1005e0e4]
push 0
lea ecx, [ebp - 0x64]
push ecx
push dword [ebp - 0x34]
mov ecx, eax
push esi
push dword [ebp - 0xc]
call fcn.100333c0
mov ecx, dword [ebx]
mov eax, dword [ecx]
call dword [eax + 0x40]
neg eax
sbb esi, esi
neg esi
add esi, 0x17
cmp byte [0x1005dbdc], 0
jne 0x1001d2f2
push 0x29c
call edi
add esp, 4
test eax, eax
je 0x1001d2e2
mov ecx, eax
call fcn.10032660
mov dword [0x1005e0e4], eax
mov byte [0x1005dbdc], 1
jmp 0x1001d2f7
xor eax, eax
mov byte [0x1005dbdc], 1
mov dword [0x1005e0e4], eax
jmp 0x1001d2f7
mov eax, dword [0x1005e0e4]
push 0
lea ecx, [ebp - 0x84]
push ecx
push dword [ebp - 4]
mov ecx, eax
push esi
push dword [ebp - 0xc]
call fcn.100333c0
movups xmm0, xmmword [ebp - 0x64]
push 2
push 0xfffffffffffffffe
lea eax, [ebp - 0x48]
push eax
movups xmmword [ebp - 0x48], xmm0
call dword [sym.imp.USER32.dll_InflateRect]
mov ecx, dword [ebx]
mov eax, dword [ecx]
call dword [eax + 0x40]
neg eax
sbb esi, esi
neg esi
add esi, 0x25
cmp byte [0x1005dbdc], 0
jne 0x1001d370
push 0x29c
call edi
add esp, 4
test eax, eax
je 0x1001d360
mov ecx, eax
call fcn.10032660
mov dword [0x1005e0e4], eax
mov byte [0x1005dbdc], 1
jmp 0x1001d375
xor eax, eax
mov byte [0x1005dbdc], 1
mov dword [0x1005e0e4], eax
jmp 0x1001d375
mov eax, dword [0x1005e0e4]
lea ecx, [ebp - 0x48]
push ecx
lea ecx, [ebp - 0x64]
push ecx
push 0
push esi
push dword [ebp - 0xc]
push dword [eax + 0x214]
call dword [sym.imp.UxTheme.dll_GetThemeBackgroundContentRect]
cmp dword [ebx + 0x24], 0
je 0x1001d6ca
mov ecx, dword [ebx]
push 0x60
mov eax, dword [ecx]
call dword [eax + 8]
push eax
push 0x10
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [ebp - 0x44]
mov edx, eax
mov eax, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x48]
sub eax, ecx
sub eax, edx
mov dword [ebp - 0x10], edx
cdq
sub eax, edx
mov dword [ebp - 0x2c], esi
mov edx, dword [ebp - 0x10]
sar eax, 1
add ecx, eax
push 0x12
lea eax, [esi + edx]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], eax
lea eax, [ecx + edx]
mov dword [ebp - 0x20], eax
call dword [sym.imp.USER32.dll_GetSysColor]
mov ecx, dword [ebx]
mov dword [ebp - 0x30], eax
mov eax, dword [ecx]
call dword [eax + 0x40]
neg eax
sbb esi, esi
neg esi
add esi, 0x25
cmp byte [0x1005dbdc], 0
jne 0x1001d434
push 0x29c
call edi
add esp, 4
test eax, eax
je 0x1001d423
mov ecx, eax
call fcn.10032660
mov edi, eax
mov byte [0x1005dbdc], 1
mov dword [0x1005e0e4], edi
jmp 0x1001d43a
xor edi, edi
mov byte [0x1005dbdc], 1
mov dword [0x1005e0e4], edi
jmp 0x1001d43a
mov edi, dword [0x1005e0e4]
push esi
mov ecx, edi
mov byte [ebp - 5], 0
call fcn.10032880
mov dword [ebp - 0x14], eax
test eax, eax
je 0x1001d470
lea ecx, [ebp - 0x30]
push ecx
push 0xedb
push 0
push 0
push eax
call dword [sym.imp.UxTheme.dll_GetThemeColor]
push dword [ebp - 0x14]
test eax, eax
sete byte [ebp - 5]
call dword [sym.imp.UxTheme.dll_CloseThemeData]
lea eax, [ebp - 4]
mov dword [ebp - 4], 4
push eax
push 0xedb
push 0
push esi
push dword [edi + 0x214]
call dword [sym.imp.UxTheme.dll_GetThemePropertyOrigin]
cmp dword [ebp - 4], 1
je 0x1001d49b
cmp byte [ebp - 5], 0
jne 0x1001d4b3
lea eax, [ebp - 0x30]
push eax
push 0xedb
push 0
push esi
push dword [edi + 0x214]
call dword [sym.imp.UxTheme.dll_GetThemeColor]
mov ecx, dword [ebx + 0x20]
mov esi, 0xe7e8
mov eax, ecx
and eax, 0xfff
cmp eax, 0x40
ja 0x1001d4ed
je 0x1001d4d8
sub eax, 1
je 0x1001d4e6
sub eax, 3
je 0x1001d4df
sub eax, 0xc
jne 0x1001d50e
mov esi, 0xe708
jmp 0x1001d50e
mov esi, 0xe72c
jmp 0x1001d50e
mov esi, 0xe8d7
jmp 0x1001d50e
cmp eax, 0x80
je 0x1001d509
cmp eax, 0x100
je 0x1001d509
cmp eax, 0x200
jne 0x1001d50e
mov esi, 0xe72e
jmp 0x1001d50e
mov esi, 0xe748
test ecx, 0x20000
mov dword [ebp - 0x1f8], 0x114
mov eax, 0xe1de
push pe_nt_image_headers32
cmovne esi, eax
lea eax, [ebp - 0x1f4]
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x1f8]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [ebp - 0x1ec], 0x4777
jb 0x1001d63e
cmp dword [ebx + 0x20], 0x20002
jne 0x1001d63e
mov dword [ebp - 0x14], 0xf83d
call fcn.1004cae0
mov edi, dword [ebp - 0xc]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 4]
push eax
push 0
push 2
lea eax, [ebp - 0x2c]
push eax
push edi
call dword [sym.imp.UxTheme.dll_BeginBufferedPaint]
mov esi, dword [ebp - 0x28]
mov ebx, eax
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
sub ecx, esi
push 0xcc0020
push esi
push edx
push edi
push ecx
sub eax, edx
push eax
push esi
push edx
push dword [ebp - 4]
call dword [sym.imp.GDI32.dll_BitBlt]
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x14]
push 1
push eax
push ecx
push dword [ebp - 0x18]
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0x2c]
push dword [ebp - 0x1c]
call fcn.100165c0
add esp, 0x14
push 1
push ebx
call dword [sym.imp.UxTheme.dll_EndBufferedPaint]
mov dword [ebp - 0x1c], 0xf83f
call fcn.1004cae0
mov edi, dword [ebp - 0xc]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 4]
push eax
push 0
push 2
lea eax, [ebp - 0x2c]
push eax
push edi
call dword [sym.imp.UxTheme.dll_BeginBufferedPaint]
mov esi, dword [ebp - 0x28]
mov ebx, eax
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
sub ecx, esi
push 0xcc0020
push esi
push edx
push edi
push ecx
sub eax, edx
push eax
push esi
push edx
push dword [ebp - 4]
call dword [sym.imp.GDI32.dll_BitBlt]
push 1
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x10]
push dword [ebp - 0x18]
push 0x99ff
jmp 0x1001d69e
movzx eax, si
mov dword [ebp - 0x1c], eax
call fcn.1004cae0
mov edi, dword [ebp - 0xc]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 4]
push eax
push 0
push 2
lea eax, [ebp - 0x2c]
push eax
push edi
call dword [sym.imp.UxTheme.dll_BeginBufferedPaint]
mov esi, dword [ebp - 0x28]
mov ebx, eax
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
sub ecx, esi
push 0xcc0020
push esi
push edx
push edi
push ecx
sub eax, edx
push eax
push esi
push edx
push dword [ebp - 4]
call dword [sym.imp.GDI32.dll_BitBlt]
push 1
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x10]
push dword [ebp - 0x18]
push dword [ebp - 0x14]
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0x2c]
call fcn.100165c0
add esp, 0x14
push 1
push ebx
call dword [sym.imp.UxTheme.dll_EndBufferedPaint]
mov eax, dword [ebp - 0x48]
mov ebx, dword [ebp - 0x38]
add eax, 5
add eax, dword [ebp - 0x10]
mov edi, dword [sym.imp.msvcrt.dll_void____cdecl_operator_new_unsigned_int_]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebx]
mov eax, dword [ecx]
call dword [eax + 0x40]
neg eax
sbb esi, esi
neg esi
add esi, 0x25
cmp byte [0x1005dbdc], 0
jne 0x1001d716
push 0x29c
call edi
add esp, 4
test eax, eax
je 0x1001d706
mov ecx, eax
call fcn.10032660
mov dword [0x1005e0e4], eax
mov byte [0x1005dbdc], 1
jmp 0x1001d71b
xor eax, eax
mov byte [0x1005dbdc], 1
mov dword [0x1005e0e4], eax
jmp 0x1001d71b
mov eax, dword [0x1005e0e4]
push esi
mov ecx, eax
call fcn.10032920
push eax
push dword [ebp - 0xc]
call dword [sym.imp.GDI32.dll_SelectObject]
push 0x64
lea eax, [ebp - 0x2c0]
push eax
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov ecx, dword [ebx]
xorps xmm0, xmm0
movlpd qword [ebp - 0xc0], xmm0
movlpd qword [ebp - 0xb8], xmm0
movlpd qword [ebp - 0xb0], xmm0
movlpd qword [ebp - 0xa8], xmm0
movlpd qword [ebp - 0xa0], xmm0
movlpd qword [ebp - 0x98], xmm0
movlpd qword [ebp - 0x90], xmm0
mov dword [ebp - 0xc8], 0x40
mov dword [ebp - 0xc4], 0x2000
mov eax, dword [ecx]
call dword [eax + 0x40]
neg eax
sbb esi, esi
neg esi
add esi, 0x25
cmp byte [0x1005dbdc], 0
jne 0x1001d7da
push 0x29c
call edi
add esp, 4
test eax, eax
je 0x1001d7ca
mov ecx, eax
call fcn.10032660
mov dword [0x1005e0e4], eax
mov byte [0x1005dbdc], 1
jmp 0x1001d7df
xor eax, eax
mov byte [0x1005dbdc], 1
mov dword [0x1005e0e4], eax
jmp 0x1001d7df
mov eax, dword [0x1005e0e4]
lea ecx, [ebp - 0xc8]
push ecx
lea ecx, [ebp - 0x48]
push ecx
push 0x108025
push ecx
lea ecx, [ebp - 0x2c0]
push ecx
push dword [ebp - 0x34]
mov ecx, eax
push esi
push dword [ebp - 0xc]
call fcn.10033a30
push 1
push dword [ebp - 0x4c]
call dword [sym.imp.UxTheme.dll_EndBufferedPaint]
mov eax, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.1001dc80
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret