Function at 0x10006785
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1d8
mov eax, dword [0x10087004]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, edx
mov dword [ebp - 0x1b8], esi
push edi
mov edi, ecx
mov dword [ebp - 0x194], edi
test esi, esi
jne 0x100067cb
push dword [ebp + 0xc]
push ebx
push dword [ebp + 0x10]
push edi
push dword [0x100899c8]
call dword [sym.imp.USER32.dll_CallWindowProcA]
jmp 0x10006ede
xor eax, eax
push edi
mov dword [ebp - 0x1c8], eax
mov byte [ebp - 0x114], al
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
mov dword [ebp - 0x1bc], eax
cmp eax, 0x103
jle 0x1000681f
add eax, 0x10
push eax
call fcn.100455ea
mov dword [ebp - 0x1c8], eax
pop ecx
test eax, eax
je 0x1000681f
mov ecx, dword [ebp - 0x1bc]
inc ecx
push ecx
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov dword [ebp - 0x188], eax
mov eax, dword [ebp - 0x1c8]
jmp 0x1000683e
push 0x100
lea eax, [ebp - 0x114]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov dword [ebp - 0x188], eax
lea eax, [ebp - 0x114]
push edi
mov dword [ebp - 0x18c], eax
call dword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
jne 0x10006865
mov byte [ebp - 0x175], al
mov al, byte [esi + 0x74]
not al
shr al, 7
mov byte [ebp - 0x176], al
jmp 0x10006877
test byte [esi + 0x19], 0xa
mov byte [ebp - 0x176], 0
setne byte [ebp - 0x175]
lea eax, [ebp - 0x124]
push eax
push edi
call dword [sym.imp.USER32.dll_GetClientRect]
cmp dword [ebp + 0x10], 0xf
jne 0x1000689b
lea eax, [ebp - 0x174]
push eax
push edi
call dword [sym.imp.USER32.dll_BeginPaint]
mov ebx, eax
cmp byte [ebp - 0x175], 0
je 0x10006958
mov ecx, 0xa0
mov dword [ebp - 0x1c0], 0xd1
mov dword [ebp - 0x1c4], 0xcd
mov dword [ebp - 0x1d8], 0xef
mov dword [ebp - 0x1bc], 0xf3
lea edi, [ecx - 1]
mov dword [ebp - 0x1cc], 0xa4
mov dword [ebp - 0x19c], 0xa5
lea eax, [ecx + 0x13]
mov dword [ebp - 0x1a0], 0xa9
mov dword [ebp - 0x1d0], 0xae
mov dword [ebp - 0x1a4], 0xaf
mov dword [ebp - 0x1a8], 0xc0
mov dword [ebp - 0x1d4], 0xbf
mov dword [ebp - 0x1ac], 0xd5
mov dword [ebp - 0x1b0], 0xe3
mov dword [ebp - 0x1b4], 0xd9
mov dword [ebp - 0x190], 0xda
mov dword [ebp - 0x180], 0xde
jmp 0x10006a01
push 0x3b
pop ecx
push 0x3a
pop edi
push 0x4e
mov dword [ebp - 0x1c0], 0x6c
mov dword [ebp - 0x1c4], 0x68
mov dword [ebp - 0x1d8], 0x8a
mov dword [ebp - 0x1bc], 0x8e
mov dword [ebp - 0x1cc], 0x3f
mov dword [ebp - 0x19c], 0x40
mov dword [ebp - 0x1a0], 0x44
mov dword [ebp - 0x1d0], 0x49
mov dword [ebp - 0x1a4], 0x4a
pop eax
mov dword [ebp - 0x1a8], 0x5b
mov dword [ebp - 0x1d4], 0x5a
mov dword [ebp - 0x1ac], 0x70
mov dword [ebp - 0x1b0], 0x7e
mov dword [ebp - 0x1b4], 0x74
mov dword [ebp - 0x190], 0x75
mov dword [ebp - 0x180], 0x79
mov ecx, dword [esi + ecx]
add eax, esi
mov dword [ebp - 0x184], eax
xor ah, ah
mov al, byte [ebp - 0x176]
mov dword [ebp - 0x198], ecx
test al, al
je 0x10006a43
mov edx, dword [0x100899e0]
test edx, edx
je 0x10006a43
cmp dword [0x100899c4], ecx
je 0x10006a38
cmp dword [0x100899dc], ecx
jne 0x10006a43
xor ecx, ecx
mov dword [ebp - 0x198], edx
inc ecx
mov ah, cl
mov cl, byte [esi + edi]
lea edi, [ebp - 0x130]
mov edx, dword [ebp - 0x1a4]
mov byte [ebp - 0x176], cl
mov ecx, dword [ebp - 0x1cc]
mov edx, dword [esi + edx]
mov dword [ebp - 0x1a4], edx
mov cl, byte [esi + ecx]
mov byte [ebp - 0x177], cl
mov ecx, dword [ebp - 0x19c]
mov edx, dword [ebp - 0x1a8]
mov ecx, dword [esi + ecx]
mov dword [ebp - 0x19c], ecx
mov ecx, dword [ebp - 0x1a0]
mov ecx, dword [esi + ecx]
mov dword [ebp - 0x1a0], ecx
mov ecx, dword [ebp - 0x1d0]
mov cl, byte [esi + ecx]
mov esi, dword [ebp - 0x184]
mov byte [ebp - 0x175], cl
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x1b8]
mov edi, dword [ebp - 0x1ac]
mov edx, dword [esi + edx]
mov dword [ebp - 0x1a8], edx
mov edx, dword [ebp - 0x1d4]
mov edi, dword [esi + edi]
mov dl, byte [esi + edx]
mov byte [ebp - 0x178], dl
mov edx, dword [ebp - 0x1b0]
mov edx, dword [esi + edx]
mov dword [ebp - 0x184], edx
mov edx, dword [ebp - 0x1b4]
mov dl, byte [esi + edx]
mov byte [ebp - 0x179], dl
mov edx, dword [ebp - 0x190]
mov edx, dword [esi + edx]
mov dword [ebp - 0x190], edx
mov edx, dword [ebp - 0x180]
mov edx, dword [esi + edx]
mov dword [ebp - 0x1ac], edx
test al, al
je 0x10006b2b
test ah, ah
jne 0x10006b2b
push 0x11
call dword [sym.imp.USER32.dll_GetSysColor]
mov cl, byte [ebp - 0x175]
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x188]
test edi, edi
cmovne eax, dword [ebp - 0x184]
mov dword [ebp - 0x188], eax
mov eax, dword [ebp - 0x18c]
cmovne eax, edi
cmp byte [esi + 0x21], 0
mov dword [ebp - 0x18c], eax
je 0x10006b69
mov eax, dword [ebp - 0x118]
add eax, eax
sub eax, dword [ebp - 0x120]
mov dword [ebp - 0x118], eax
mov edx, dword [sym.imp.USER32.dll_GetParent]
mov edi, dword [ebp - 0x194]
cmp cl, 0x58
jne 0x10006b7f
push edi
call edx
jmp 0x10006bb6
cmp cl, 0x4e
jne 0x10006bb6
mov eax, dword [ebp - 0x198]
test eax, eax
jne 0x10006bc0
push edi
call edx
push edi
push ebx
push 0x135
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x10006d65
push eax
lea eax, [ebp - 0x124]
push eax
push ebx
call dword [sym.imp.USER32.dll_FillRect]
mov eax, dword [ebp - 0x198]
test eax, eax
je 0x10006c0f
cmp byte [ebp - 0x176], 0x42
jne 0x10006bfd
cmp byte [ebp - 0x177], 0
je 0x10006bea
push dword [ebp - 0x19c]
mov edx, ebx
mov ecx, edi
push dword [ebp - 0x1a0]
push eax
call fcn.1000c273
jmp 0x10006bf8
push ecx
push 0
push 0
mov edx, eax
mov ecx, ebx
call fcn.1000c388
add esp, 0xc
jmp 0x10006c0f
push 3
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push eax
push ecx
push ecx
push ebx
call dword [sym.imp.USER32.dll_DrawIconEx]
mov al, byte [ebp - 0x175]
cmp al, 0x52
je 0x10006c25
cmp al, 0x46
je 0x10006c25
cmp al, 0x4f
jne 0x10006d65
mov edx, dword [ebp - 0x1a4]
cmp edx, 0xffffffff
jne 0x10006c39
push 7
xor eax, eax
xor edx, edx
pop ecx
jmp 0x10006c49
cmp byte [esi + 0x21], 0
push 6
pop ecx
push 2
pop eax
push 1
pop esi
cmovne eax, esi
push edx
push eax
push ecx
call dword [sym.imp.GDI32.dll_CreatePen]
mov esi, eax
lea eax, [ebp - 0x130]
push eax
mov dword [ebp - 0x1b0], esi
call dword [sym.imp.GDI32.dll_CreateBrushIndirect]
push esi
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
push ebx
mov dword [ebp - 0x180], eax
call esi
push dword [ebp - 0x180]
mov dword [ebp - 0x184], eax
push ebx
call esi
mov dword [ebp - 0x1b4], eax
xor eax, eax
inc eax
cmp dword [ebp - 0x130], eax
jne 0x10006cbd
cmp dword [ebp - 0x198], 0
jne 0x10006cbd
push edi
call dword [sym.imp.USER32.dll_GetParent]
push edi
push ebx
push 0x135
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x10006cbd
push eax
push ebx
call esi
mov al, byte [ebp - 0x175]
cmp al, 0x52
jne 0x10006ce8
push dword [ebp - 0x118]
push dword [ebp - 0x11c]
push dword [ebp - 0x120]
push dword [ebp - 0x124]
push ebx
call dword [sym.imp.GDI32.dll_Rectangle]
jmp 0x10006d37
cmp al, 0x46
jne 0x10006d14
push 0x10
pop ecx
push ecx
push 4
lea eax, [ebp - 0x124]
push eax
push ebx
call dword [sym.imp.USER32.dll_DrawFrameControl]
push 5
push 0xf
lea eax, [ebp - 0x124]
push eax
push ebx
call dword [sym.imp.USER32.dll_DrawEdge]
jmp 0x10006d37
push 0x12
push 0x12
push dword [ebp - 0x118]
push dword [ebp - 0x11c]
push dword [ebp - 0x120]
push dword [ebp - 0x124]
push ebx
call dword [sym.imp.GDI32.dll_RoundRect]
push dword [ebp - 0x184]
push ebx
call esi
push dword [ebp - 0x1b4]
push ebx
call esi
push dword [ebp - 0x1b0]
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
call esi
push dword [ebp - 0x180]
call esi
mov esi, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x1a8]
test ecx, ecx
je 0x10006dbf
cmp byte [ebp - 0x178], 0x42
jne 0x10006d9d
mov eax, dword [ebp - 0x1c0]
mov edx, ecx
push ecx
mov ecx, ebx
movzx eax, word [esi + eax]
push eax
mov eax, dword [ebp - 0x1c4]
movzx eax, word [esi + eax]
push eax
call fcn.1000c388
add esp, 0xc
jmp 0x10006dbf
push 3
xor eax, eax
push eax
push eax
push eax
push eax
mov eax, dword [ebp - 0x1c0]
push ecx
push dword [esi + eax]
mov eax, dword [ebp - 0x1c4]
push dword [esi + eax]
push ebx
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp dword [ebp - 0x188], 0
je 0x10006eb7
xor eax, eax
inc eax
push eax
push ebx
call dword [sym.imp.GDI32.dll_SetBkMode]
push dword [ebp - 0x190]
mov dword [ebp - 0x184], eax
push ebx
call dword [sym.imp.GDI32.dll_SetTextColor]
push dword [ebp - 0x1ac]
mov dword [ebp - 0x1b8], eax
push ebx
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [ebp - 0x1d8]
mov edx, dword [esi + 1]
push 0x10
mov dword [ebp - 0x180], eax
mov ecx, dword [esi + ecx]
mov dword [ebp - 0x124], ecx
mov ecx, dword [ebp - 0x1bc]
pop eax
mov ecx, dword [esi + ecx]
mov dword [ebp - 0x120], ecx
mov cl, byte [ebp - 0x179]
not cl
shr ecx, 1
and ecx, 0x20
and edx, 0x2000
cmovne ecx, eax
cmp byte [esi + 0x22], 0
je 0x10006e74
push 0
push 0
push 0x10
pop ecx
test edx, edx
mov eax, 0x80000010
mov edx, dword [ebp - 0x18c]
cmove eax, ecx
mov ecx, ebx
push eax
lea eax, [ebp - 0x124]
push eax
push dword [ebp - 0x188]
call fcn.1000604d
add esp, 0x14
jmp 0x10006e90
push ecx
lea eax, [ebp - 0x124]
push eax
push dword [ebp - 0x188]
mov eax, dword [ebp - 0x18c]
push eax
push ebx
call dword [sym.imp.USER32.dll_DrawTextA]
push dword [ebp - 0x184]
push ebx
call dword [sym.imp.GDI32.dll_SetBkMode]
push dword [ebp - 0x1b8]
push ebx
call dword [sym.imp.GDI32.dll_SetTextColor]
push dword [ebp - 0x180]
push ebx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp dword [ebp + 0x10], 0xf
jne 0x10006ecb
lea eax, [ebp - 0x174]
push eax
push edi
call dword [sym.imp.USER32.dll_EndPaint]
mov eax, dword [ebp - 0x1c8]
test eax, eax
je 0x10006edc
push eax
call fcn.100455e5
pop ecx
xor eax, eax
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10029e88
leave
ret