Function at 0x471ec0
Capabilities:
Get graphical window text

Disassembly:
mov eax, dword [esp + 8]
sub esp, 8
sub eax, 0x111
push ebx
push esi
push edi
je 0x4720cd
sub eax, 0x22
jne 0x4722a9
mov eax, dword [esp + 0x24]
push eax
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
test eax, eax
je 0x4722a9
xor edx, edx
mov ecx, eax
call fcn.00464b30
mov ebx, eax
test ebx, ebx
je 0x4722a9
cmp dword [ebx + 0x24], 4
jne 0x4722a9
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x4722a9
mov eax, dword [ebx + 0x80]
test eax, eax
jne 0x471f31
mov eax, dword [ebx + 0x84]
test eax, eax
je 0x4722a9
mov ecx, dword [0x51da0c]
mov edx, dword [esp + 0x20]
push 0
push ecx
push edx
call dword [sym.imp.GDI32.dll_SelectPalette]
mov eax, dword [ebx + 0x3c]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x471f71
mov ecx, dword [ebx + 0x84]
mov edi, dword [eax + ecx*4 + 0x400]
lea edx, [eax + ecx*4 + 0x400]
mov dword [esp + 0xc], edi
mov cl, byte [esp + 0xc]
mov dl, byte [esp + 0xd]
jmp 0x471fa2
mov ax, word [ebx + 0x84]
mov byte [esp + 0xf], 0
mov cx, ax
mov edx, eax
shr cx, 0xa
shr edx, 5
shl cl, 3
shl dl, 3
shl al, 3
mov byte [esp + 0xc], cl
mov byte [esp + 0xd], dl
mov byte [esp + 0xe], al
mov edi, dword [esp + 0xc]
mov eax, dword [0x51da34]
mov esi, dword [esp + 0xe]
push ebp
mov ebp, dword [esp + 0x11]
test eax, eax
je 0x471fdc
mov eax, dword [0x525300]
cmp cl, al
jne 0x471fcf
cmp dl, ah
jne 0x471fcf
mov al, byte [esp + 0x12]
mov cl, byte [0x525302]
cmp al, cl
je 0x472012
mov ecx, dword [0x51da34]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edx, esi
mov eax, ebp
and edx, 0xff
and eax, 0xff
or dh, 2
mov ecx, edi
shl edx, 8
or edx, eax
and ecx, 0xff
shl edx, 8
or edx, ecx
push edx
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov dword [0x51da34], eax
mov dword [0x525300], edi
and esi, 0xff
and ebp, 0xff
or esi, 0x200
and edi, 0xff
shl esi, 8
or esi, ebp
shl esi, 8
or esi, edi
push esi
mov esi, dword [esp + 0x28]
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
mov edx, dword [ebx + 0x3c]
pop ebp
mov eax, dword [edx + 0x10]
test eax, eax
je 0x472065
mov ecx, dword [ebx + 0x80]
lea edx, [eax + ecx*4 + 0x400]
mov eax, dword [eax + ecx*4 + 0x400]
mov dword [esp + 0xc], eax
jmp 0x472091
mov bx, word [ebx + 0x80]
mov ax, bx
mov ecx, ebx
shr ax, 0xa
shr ecx, 5
shl al, 3
shl cl, 3
shl bl, 3
mov byte [esp + 0xc], al
mov byte [esp + 0xd], cl
mov byte [esp + 0xe], bl
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0xe]
mov ecx, dword [esp + 0xd]
and edx, 0xff
and ecx, 0xff
or dh, 2
and eax, 0xff
shl edx, 8
or edx, ecx
shl edx, 8
or edx, eax
push edx
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov eax, dword [0x51da34]
pop edi
pop esi
pop ebx
add esp, 8
ret 0x10
mov esi, dword [esp + 0x20]
mov eax, esi
shr eax, 0x10
cmp eax, 0x200
jg 0x47223e
je 0x4721de
test eax, eax
jl 0x4722a9
cmp eax, 1
jle 0x472157
cmp eax, 0x100
jne 0x4722a9
and esi, 0xffff
xor edx, edx
mov ecx, esi
call fcn.00464b30
test esi, esi
je 0x4722a9
test eax, eax
je 0x4722a9
mov ecx, dword [eax + 0x24]
mov edx, 4
cmp ecx, edx
jne 0x4722a9
mov esi, dword [eax + 0x44]
test esi, esi
je 0x472144
mov ecx, eax
call esi
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 8
ret 0x10
mov esi, dword [eax]
push edx
mov ecx, eax
call dword [esi + 4]
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 8
ret 0x10
mov ecx, dword [0x52059c]
test ecx, ecx
je 0x4722a9
cmp dword [ecx + 0x24], 4
jne 0x4722a9
cmp si, 1
je 0x47217f
cmp si, 2
jne 0x4722a9
mov eax, dword [ecx + 0x44]
test eax, eax
je 0x47218f
mov edx, 2
call eax
jmp 0x472196
mov edx, dword [ecx]
push 2
call dword [edx + 4]
mov ecx, dword [0x52059c]
test ecx, ecx
je 0x4721ba
mov eax, dword [ecx + 0x48]
test eax, eax
je 0x4721b3
mov ecx, dword [ecx + 0x20]
mov edx, 2
call eax
jmp 0x4721ba
mov eax, dword [ecx]
push 2
call dword [eax + 8]
mov ecx, dword [esp + 0x18]
and esi, 0xffff
push 0
push esi
push 0x2400
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 8
ret 0x10
and esi, 0xffff
xor edx, edx
mov ecx, esi
call fcn.00464b30
xor edi, edi
cmp esi, edi
je 0x47221d
cmp eax, edi
je 0x47221d
cmp eax, dword [0x52059c]
jne 0x47221d
mov dword [0x52059c], edi
mov esi, dword [eax + 0x48]
cmp esi, edi
je 0x472215
mov ecx, dword [eax + 0x20]
xor edx, edx
call esi
jmp 0x47221d
mov edx, dword [eax]
push edi
mov ecx, eax
call dword [edx + 8]
mov eax, dword [0x51da34]
cmp eax, edi
je 0x47222d
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [0x51da34], edi
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 8
ret 0x10
cmp eax, 0x300
jne 0x4722a9
and esi, 0xffff
xor edx, edx
mov ecx, esi
call fcn.00464b30
test esi, esi
mov edi, eax
je 0x4722a9
test edi, edi
je 0x4722a9
cmp dword [edi + 0x24], 4
jne 0x4722a9
mov ecx, dword [edi + 0x70]
test ecx, ecx
je 0x4722a9
mov eax, dword [edi + 0x74]
test eax, eax
je 0x47227e
mov edx, dword [edi + 0x7c]
push edx
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowTextA]
test dword [edi + 0x30], 0x80000000
je 0x4722a9
mov eax, dword [edi + 0x48]
test eax, eax
je 0x4722a0
mov ecx, dword [edi + 0x20]
xor edx, edx
call eax
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 8
ret 0x10
mov eax, dword [edi]
push 0
mov ecx, edi
call dword [eax + 8]
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 8
ret 0x10