Function at 0x100525b
Capabilities:
Get graphical window text

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
push 0xffffffffffffffeb
push esi
xor ebx, ebx
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov edi, eax
mov eax, dword [ebp + 0xc]
dec eax
je 0x100534f
dec eax
je 0x100534c
sub eax, 7
je 0x100532b
sub eax, 0x89a
je 0x10052f2
dec eax
dec eax
je 0x10052ca
dec eax
jne 0x1005509
cmp dword [ebp + 0x14], 0x300
jne 0x1005509
push 0x8a6
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov dword [edi + 0x454], eax
jmp 0x100531c
cmp dword [ebp + 0x14], 0x300
jne 0x1005509
push 0x8a5
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov dword [edi + 0x450], eax
jmp 0x100531c
cmp dword [ebp + 0x14], 1
jne 0x1005509
push 0x8a4
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
push dword [ebp + 0x10]
call fcn.01004fec
push dword [ebp + 0x10]
call fcn.01004fad
mov dword [edi + 0xc], eax
push edi
push esi
call fcn.01004f19
xor ebx, ebx
inc ebx
jmp 0x1005509
cmp dword [ebp + 0x14], ebx
jne 0x1005509
push ebx
push ebx
push 0x1001620
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call fcn.0100597c
jmp 0x1005509
mov dword [edi + 0xc], ebx
cmp dword [ebp + 0x14], ebx
jne 0x1005509
push 0x8a3
mov dword [ebp + 0x14], ebx
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
push esi
call ebx
push eax
call fcn.01004fad
mov dword [edi + 0xc], eax
cmp eax, 0xff
jne 0x1005383
xor ebx, ebx
inc ebx
push ebx
push esi
jmp 0x1005503
lea ecx, [ebp + 0x14]
push ecx
lea eax, [edi + 0x10]
push 0x1ff
push eax
mov dword [ebp + 0x10], eax
call fcn.0100521f
mov esi, dword [sym.imp.KERNEL32.dll_LocalAlloc]
push 0x400
push 0x40
mov dword [ebp - 0xc], eax
call esi
push 0x40
push 0x40
mov dword [ebp + 0xc], eax
call esi
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x14]
lea eax, [eax + eax + 2]
push eax
push 0x40
call esi
xor ecx, ecx
cmp dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
jl 0x10054d9
cmp dword [ebp + 0xc], ecx
je 0x10054d9
cmp dword [ebp - 4], ecx
je 0x10054d9
cmp eax, ecx
je 0x10054d9
push dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
inc ecx
push ecx
push eax
call fcn.010024d1
push 0x20
push dword [ebp - 4]
push 0x8a6
push dword [ebp + 8]
call ebx
push eax
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov esi, 0x200
push esi
push dword [ebp + 0xc]
mov dword [ebp - 0xc], eax
push 0x8a5
push dword [ebp + 8]
call ebx
push eax
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov ebx, dword [ebp - 4]
xor ecx, ecx
mov word [ebx + 0x3e], cx
mov ecx, dword [ebp + 0xc]
push ecx
push eax
push dword [ebp - 8]
xor edx, edx
push dword [ebp + 0x14]
mov word [ecx + 0x3fe], dx
push ebx
push dword [ebp - 0xc]
push 0x10015fc
push esi
push dword [ebp + 0x10]
call fcn.010025b4
add esp, 0x24
lea eax, [ebp + 0x14]
push eax
push esi
mov esi, dword [ebp + 0x10]
push esi
call fcn.0100521f
test eax, eax
jge 0x100547d
and dword [edi + 0x450], 0
xor eax, eax
mov word [esi], ax
jmp 0x100548c
lea eax, [edi + 0x450]
push eax
push dword [ebp + 0x14]
call fcn.01004eed
push ebx
push 0x10013dc
lea esi, [edi + 0x410]
push 0x20
push esi
call fcn.010025b4
add esp, 0x10
lea eax, [ebp + 0x14]
push eax
push 0x20
push esi
call fcn.0100521f
test eax, eax
jge 0x10054c1
and dword [edi + 0x454], 0
xor eax, eax
mov word [esi], ax
jmp 0x10054d0
lea eax, [edi + 0x454]
push eax
push dword [ebp + 0x14]
call fcn.01004eed
and dword [edi + 0x45c], 0
jmp 0x10054e7
mov dword [edi + 0x450], ecx
mov ecx, dword [ebp + 0x10]
xor eax, eax
mov word [ecx], ax
push dword [ebp + 0xc]
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
call esi
push dword [ebp - 4]
call esi
push dword [ebp - 8]
call esi
xor ebx, ebx
inc ebx
push ebx
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_EndDialog]
pop edi
pop esi
mov eax, ebx
pop ebx
leave
ret 0x10