Function at 0x44bfd0
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push edi
xor edi, edi
push esi
push ebx
sub esp, 0x4c
mov al, byte [0x492a1e]
cmp dword [0x526c50], 3
mov esi, dword [0x52a8d0]
mov byte [ebp - 0x1c], al
jne 0x44c0a3
cmp dword [0x525a68], 0
je 0x44c0a3
test dword [0x5132f4], 0xff0000ff
je 0x44c03a
cmp dword [0x5275c0], 0x61
jbe 0x44c03a
cmp word [0x513304], 0
je 0x44c03a
cmp word [0x5132fc], 0
je 0x44c03a
xor eax, eax
cmp byte [0x5132ff], 0
setne al
mov edi, eax
xor ebx, ebx
cmp byte [0x5132f4], 0
je 0x44c0a5
cmp word [0x51331c], 0
jne 0x44c05c
mov al, byte [0x51330c]
or al, byte [0x51330b]
je 0x44c0a5
xor ebx, ebx
cmp word [0x513304], 0
jne 0x44c0a5
cmp byte [0x513312], 0
jne 0x44c0a5
mov ax, word [0x5132fa]
mov edx, eax
not edx
and dl, 7
je 0x44c0a5
mov edx, eax
not edx
test dl, 0x23
je 0x44c0a5
mov eax, edx
test ax, 0x1c0
je 0x44c0a5
xor ebx, ebx
mov al, byte [0x512fa0]
or al, byte [0x51330e]
sete bl
jmp 0x44c0a5
xor ebx, ebx
mov al, byte [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shr al, 4
and edx, 0xf
movzx eax, al
mov al, byte [eax + 0x4b3a2c]
add al, byte [edx + 0x4b3a2c]
cmp al, 1
jbe 0x44c0e1
mov dword [esp + 8], 0x311
mov dword [esp + 4], str.ui.c
mov dword [esp], str.popcnt8_image_options____1
call dword [0x494088]
cmp byte [0x5259e0], 0
jne 0x44c1c9
mov dword [esp + 4], 0x7de
mov eax, dword [0x526d5c]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push edx
push edx
mov dword [ebp - 0x24], eax
mov byte [0x5259e0], 0
mov dword [esp + 4], 2
mov dword [esp], pe_nt_image_headers32
call sub.msvcrt.dll_calloc
mov dword [ebp - 0x20], eax
mov dword [esp + 8], pe_nt_image_headers32
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x24]
mov dword [esp], edx
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov dword [ebp - 0x2c], eax
mov eax, dword [sym.imp.KERNEL32.DLL_GetLastError]
sub esp, 0xc
mov dword [ebp - 0x28], eax
call eax
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x24], eax
test edx, edx
je 0x44c1a4
xor eax, eax
mov dword [esp + 0x14], pe_nt_image_headers32
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], 0x5259e0
mov dword [esp + 0xc], 0xffffffff
mov eax, dword [ebp - 0x20]
mov dword [esp], 0xfde9
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.DLL_WideCharToMultiByte]
sub esp, 0x20
test eax, eax
jne 0x44c1a4
mov eax, dword [ebp - 0x28]
call eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x20], 0
je 0x44c1b5
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x24]
mov byte [0x525a5f], 0
mov dword [esp], eax
call dword [sym.imp.KERNEL32.DLL_SetLastError]
push eax
mov al, byte [0x492a1e]
mov edx, eax
and edx, 1
test edi, edi
je 0x44c1dd
test dl, dl
je 0x44c1e1
jmp 0x44c237
test dl, dl
je 0x44c237
xor eax, 1
mov byte [0x492a1e], al
test al, 1
je 0x44c237
mov dword [esp + 4], 0x7de
mov eax, dword [0x526d5c]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_GetDlgItem]
mov edx, 0x5259e0
push ecx
push ecx
call fcn.004494eb
xor eax, eax
mov dword [esp + 0xc], eax
mov eax, dword [0x526c5c]
mov dword [esp + 4], 0x14e
mov dword [esp + 8], eax
mov eax, dword [0x526cfc]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_SendMessageW]
sub esp, 0x10
mov al, byte [0x492a1e]
mov edx, eax
and edx, 2
test ebx, ebx
je 0x44c24e
test dl, dl
je 0x44c252
jmp 0x44c362
test dl, dl
je 0x44c2ab
xor eax, 2
mov byte [0x492a1e], al
test al, 2
je 0x44c2ab
mov dword [esp], 0xc33
call fcn.0042291e
mov dword [ebp - 0x20], eax
mov dword [esp + 4], 0x7de
mov eax, dword [0x526d5c]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push edx
push edx
mov edx, dword [ebp - 0x20]
call fcn.004494eb
mov eax, dword [0x4e2200]
or eax, dword [0x4e2204]
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0044ba48
call fcn.0044bcb1
cmp byte [ebp - 0x1c], 0
je 0x44c2b7
or ebx, edi
je 0x44c2c0
jmp 0x44c2f4
or ebx, edi
je 0x44c2f4
jmp 0x44c368
test esi, esi
je 0x44c2f4
neg esi
add dword [0x52a8d8], esi
xor ebx, ebx
add dword [0x52a8dc], esi
mov edx, dword [ebx*4 + 0x4b3d80]
mov eax, dword [0x526d5c]
mov ecx, esi
inc ebx
call fcn.004489d8
cmp ebx, 0x20
jne 0x44c2d4
mov eax, esi
call fcn.00448a22
xor ebx, ebx
movzx esi, byte [0x492a1e]
and esi, dword [ebx*8 + 0x4b3d44]
je 0x44c30b
mov esi, 5
mov eax, dword [ebx*8 + 0x4b3d40]
inc ebx
mov dword [esp + 4], eax
mov eax, dword [0x526d5c]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push edx
push edx
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [sym.imp.USER32.dll_ShowWindow]
push ecx
push ecx
cmp ebx, 5
jne 0x44c2f6
xor eax, eax
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov eax, dword [0x526d5c]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_InvalidateRect]
sub esp, 0xc
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
cmp byte [ebp - 0x1c], 0
jne 0x44c2f4
test esi, esi
jne 0x44c2c6
jmp 0x44c2f4