Function at 0x1016002
Capabilities:
Get graphical window text

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1f4
mov eax, dword [0x10b1090]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
xor ebx, ebx
push edi
mov edi, dword [ebp + 8]
mov esi, ecx
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [ebp - 0x1a4], edi
cmp dword [esi + 0x2c], ebx
je 0x1062364
push dword [esi + 0x24]
call dword [sym.imp.USER32.dll_GetWindowDC]
mov dword [ebp - 0x198], eax
cmp eax, ebx
je 0x10161c7
xor eax, eax
lea edi, [ebp - 0x1b8]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x1b8]
push eax
xor eax, eax
cmp dword [esi + 0x3c], 0xe
push ebx
setne al
push 0xe12
push ebx
add eax, 0x25
push eax
push dword [ebp - 0x198]
push dword [esi + 0x2c]
call dword [sym.imp.UxTheme.dll_GetThemeMargins]
push 6
pop ecx
xor eax, eax
lea edi, [ebp - 0x1e0]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x1e0]
push eax
push ebx
push 0x1603
push dword [esi + 0x24]
mov dword [ebp - 0x19c], ebx
mov dword [ebp - 0x1a8], ebx
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
call ebx
cmp dword [ebp - 0x1e0], 0
jne 0x1062319
push 0xc8
lea eax, [ebp - 0x194]
push eax
push dword [esi + 0x24]
call dword [sym.imp.USER32.dll_GetWindowTextW]
push dword [esi + 0x48]
push dword [ebp - 0x198]
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x1a0], eax
xor eax, eax
lea edi, [ebp - 0x1c8]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x1c8]
push eax
push 0
push 0x20
push 0xffffffffffffffff
lea eax, [ebp - 0x194]
push eax
xor eax, eax
cmp dword [esi + 0x3c], 0xe
push 1
setne al
add eax, 0x25
push eax
push dword [ebp - 0x198]
push dword [esi + 0x2c]
call dword [sym.imp.UxTheme.dll_GetThemeTextExtent]
xor eax, eax
lea edi, [ebp - 0x1f4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x1f4]
push eax
push 0
push 0x1608
push dword [esi + 0x24]
mov dword [ebp - 0x1f4], 8
call ebx
mov ecx, dword [ebp - 0x1e8]
mov eax, ecx
sub eax, dword [ebp - 0x1c8]
shl ecx, 2
add eax, dword [ebp - 0x1b4]
add eax, dword [ebp - 0x1c0]
add eax, dword [ebp - 0x1b8]
add eax, dword [ebp - 0x19c]
cmp eax, ecx
jl 0x1052176
mov ecx, dword [ebp - 0x1a4]
push dword [ebp - 0x1a0]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1ac]
sub eax, dword [ebp - 0x1c4]
push dword [ebp - 0x198]
add eax, dword [ebp - 0x1bc]
add eax, dword [ebp - 0x1b0]
mov dword [ecx + 4], eax
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebp - 0x198]
push dword [esi + 0x24]
call dword [sym.imp.USER32.dll_ReleaseDC]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.01001feb
leave
ret 4
mov eax, ecx
jmp 0x1016183
cmp dword [ebp - 0x1e0], 0xffffffff
je 0x10160c0
lea eax, [ebp - 0x1a8]
push eax
lea eax, [ebp - 0x19c]
push eax
push dword [ebp - 0x1e0]
call dword [0x10110e0]
test eax, eax
je 0x10160c0
push 0x2d
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, dword [ebp - 0x19c]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x19c], eax
jmp 0x10160c0
push edi
push ebx
push 0x1601
push dword [esi + 0x24]
call dword [sym.imp.USER32.dll_SendMessageW]
push edi
call fcn.01011acd
jmp 0x10161c7