Function at 0x448cfd
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 [0x48fbc2]
cmp dword [0x5240b0], 3
mov esi, dword [0x527d10]
mov byte [ebp - 0x1c], al
jne 0x448dd0
cmp dword [0x522ec8], 0
je 0x448dd0
test dword [0x51076c], 0xff0000ff
je 0x448d67
cmp dword [0x524a20], 0x61
jbe 0x448d67
cmp word [0x51077c], 0
je 0x448d67
cmp word [0x510774], 0
je 0x448d67
xor eax, eax
cmp byte [0x510777], 0
setne al
mov edi, eax
xor ebx, ebx
cmp byte [0x51076c], 0
je 0x448dd2
cmp word [0x510796], 0
jne 0x448d89
mov al, byte [0x510784]
or al, byte [0x510783]
je 0x448dd2
xor ebx, ebx
cmp word [0x51077c], 0
jne 0x448dd2
cmp byte [0x51078b], 0
jne 0x448dd2
mov ax, word [0x510772]
mov edx, eax
not edx
and dl, 7
je 0x448dd2
mov edx, eax
not edx
test dl, 0x23
je 0x448dd2
mov eax, edx
test ax, 0x1c0
je 0x448dd2
xor ebx, ebx
mov al, byte [0x510420]
or al, byte [0x510787]
sete bl
jmp 0x448dd2
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 + 0x4b0cac]
add al, byte [edx + 0x4b0cac]
cmp al, 1
jbe 0x448e0e
mov dword [esp + 8], 0x310
mov dword [esp + 4], str.ui.c
mov dword [esp], str.popcnt8_image_options____1
call dword [0x491228]
cmp byte [0x522e40], 0
jne 0x448ef6
mov dword [esp + 4], 0x7de
mov eax, dword [0x5241b4]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push edx
push edx
mov dword [ebp - 0x24], eax
mov byte [0x522e40], 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 0x448ed1
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], 0x522e40
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 0x448ed1
mov eax, dword [ebp - 0x28]
call eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x20], 0
je 0x448ee2
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x24]
mov byte [0x522ebf], 0
mov dword [esp], eax
call dword [sym.imp.KERNEL32.DLL_SetLastError]
push eax
mov al, byte [0x48fbc2]
mov edx, eax
and edx, 1
test edi, edi
je 0x448f0a
test dl, dl
je 0x448f0e
jmp 0x448f64
test dl, dl
je 0x448f64
xor eax, 1
mov byte [0x48fbc2], al
test al, 1
je 0x448f64
mov dword [esp + 4], 0x7de
mov eax, dword [0x5241b4]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_GetDlgItem]
mov edx, 0x522e40
push ecx
push ecx
call fcn.004462ef
xor eax, eax
mov dword [esp + 0xc], eax
mov eax, dword [0x5240bc]
mov dword [esp + 4], 0x14e
mov dword [esp + 8], eax
mov eax, dword [0x524158]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_SendMessageW]
sub esp, 0x10
mov al, byte [0x48fbc2]
mov edx, eax
and edx, 2
test ebx, ebx
je 0x448f7b
test dl, dl
je 0x448f7f
jmp 0x44908f
test dl, dl
je 0x448fd8
xor eax, 2
mov byte [0x48fbc2], al
test al, 2
je 0x448fd8
mov dword [esp], 0xc33
call fcn.00422df0
mov dword [ebp - 0x20], eax
mov dword [esp + 4], 0x7de
mov eax, dword [0x5241b4]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push edx
push edx
mov edx, dword [ebp - 0x20]
call fcn.004462ef
mov eax, dword [0x4df200]
or eax, dword [0x4df204]
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0044876d
call fcn.004489de
cmp byte [ebp - 0x1c], 0
je 0x448fe4
or ebx, edi
je 0x448fed
jmp 0x449021
or ebx, edi
je 0x449021
jmp 0x449095
test esi, esi
je 0x449021
neg esi
add dword [0x527d18], esi
xor ebx, ebx
add dword [0x527d1c], esi
mov edx, dword [ebx*4 + 0x4b1000]
mov eax, dword [0x5241b4]
mov ecx, esi
inc ebx
call fcn.004457b8
cmp ebx, 0x1f
jne 0x449001
mov eax, esi
call fcn.00445802
xor ebx, ebx
movzx esi, byte [0x48fbc2]
and esi, dword [ebx*8 + 0x4b0fc4]
je 0x449038
mov esi, 5
mov eax, dword [ebx*8 + 0x4b0fc0]
inc ebx
mov dword [esp + 4], eax
mov eax, dword [0x5241b4]
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 0x449023
xor eax, eax
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov eax, dword [0x5241b4]
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 0x449021
test esi, esi
jne 0x448ff3
jmp 0x449021