Function at 0x571680
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x10b4
call fcn.005d9990
push ebx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
push esi
push edi
push eax
call fcn.0058ea30
add esp, 4
test eax, eax
mov dword [esp + 0x2c], eax
je 0x57211f
cmp dword [ebp + 0xc], 2
jne 0x5716ce
mov ecx, dword [ebx]
push 0x76
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0x5f4c90
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov esi, dword [ebp + 0x1c]
test esi, esi
je 0x5717b3
mov edx, dword [ebx]
push 0x76
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0x7d000
push 0x7d000
mov edi, eax
push 1
push edi
mov dword [esp + 0x38], edi
call fcn.00489e90
lea eax, [esp + 0x68]
push 0x1068
push eax
call fcn.00423310
add esp, 0x18
push eax
lea ecx, [esp + 0x5c]
push ecx
push edi
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea edx, [esp + 0x58]
push esi
push edx
call fcn.005da9a0
add esp, 8
test eax, eax
jne 0x5717b3
push edi
mov byte [esp + 0x5c], al
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
test eax, eax
jle 0x57175f
lea edi, [esp + 0x58]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x571745
mov ax, word [0x5f4c8c]
mov cl, byte [0x5f4c8e]
mov word [edi], ax
mov byte [edi + 2], cl
mov eax, esi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x571761
lea edi, [esp + 0x58]
sub eax, esi
dec edi
nop
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x571770
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x58]
push edx
push 0
mov ecx, eax
mov eax, dword [esp + 0x30]
push 0xc2
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [esp + 0x28]
push ecx
call dword [sym.imp.USER32.dll_UpdateWindow]
mov edx, dword [ebx]
push edx
call fcn.00571100
add esp, 4
mov eax, dword [ebx]
push eax
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
test esi, esi
mov dword [esp + 0x38], esi
je 0x57211f
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 0x1754]
push edx
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0x3c], eax
mov eax, dword [0x63cb18]
push eax
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov ecx, dword [0x63cb04]
push ecx
push esi
mov dword [esp + 0x48], eax
call dword [sym.imp.GDI32.dll_SetBkColor]
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x571967
mov eax, dword [ebx]
lea edx, [ebx + 0x7cc]
push edx
push 0x67
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call fcn.00423ac0
fld qword [ebx + 0xc40]
fcomp qword [0x5f56a0]
add esp, 8
lea ecx, [esp + 0x58]
fnstsw ax
test ah, 1
jne 0x571863
mov edx, dword [ebx + 0xc44]
mov eax, dword [ebx + 0xc40]
push 1
push 1
push 0
push 1
push 1
push ecx
push edx
push eax
call fcn.0051d870
add esp, 0x20
jmp 0x571871
push ecx
push 0x776
call fcn.00424130
add esp, 8
mov eax, dword [ebx]
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
lea edx, [esp + 0x58]
push edx
push 0x69
push eax
call esi
push eax
call fcn.00423ac0
lea edi, [ebx + 4]
lea edx, [esp + 0x60]
add esp, 8
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x571897
mov eax, dword [ebx + 0xcb4]
test eax, eax
je 0x571937
lea eax, [ebx + 0x136]
push eax
push edi
call fcn.005f1860
add esp, 8
test eax, eax
je 0x571937
lea edi, [esp + 0x58]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x5718c8
mov cx, word [0x5f4c98]
mov dl, byte [0x5f4c9a]
mov word [edi], cx
lea eax, [ebx + 0x136]
mov byte [edi + 2], dl
mov edx, eax
jmp 0x5718f0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5718f0
lea edi, [esp + 0x58]
sub eax, edx
dec edi
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x571900
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x58]
dec edi
lea ecx, [ecx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x571920
mov ax, word [0x5f4c94]
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
mov word [edi], ax
mov edx, dword [ebx]
lea ecx, [esp + 0x58]
push ecx
push 0x6b
push edx
call esi
push eax
call fcn.00423ac0
mov ecx, dword [ebx]
add esp, 8
lea eax, [ebx + 0x39a]
push eax
push 0x6d
push ecx
call esi
push eax
call fcn.00423ac0
mov esi, dword [esp + 0x40]
add esp, 8
mov eax, dword [ebx + 0xc0c]
xor ecx, ecx
test eax, eax
mov dword [esp + 0x28], ecx
jne 0x57198a
mov edx, dword [ebx + 0xc10]
test edx, edx
jne 0x57198a
cmp dword [ebx + 0xc04], 2
jne 0x571993
mov ecx, 1
mov dword [esp + 0x28], ecx
mov edx, dword [ebp + 0x18]
test edx, edx
jne 0x5719a5
mov edx, dword [ebp + 0xc]
test edx, edx
je 0x571f59
test ecx, ecx
mov dword [esp + 0x2c], 0
mov byte [esp + 0x58], 0
je 0x571e38
test eax, eax
jne 0x571dca
mov eax, dword [ebx + 0xc10]
test eax, eax
jne 0x571dca
cmp dword [ebx + 0xc04], 2
jne 0x571e38
mov edx, dword [ebx + 0xcd0]
and edx, reloc.WSOCK32.dll_accept
jns 0x5719f0
dec edx
or edx, 0xfffffffe
inc edx
jne 0x571d3b
fld qword [ebx + 0xc58]
xor eax, eax
fcomp qword [0x5f56a0]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
fnstsw ax
test ah, 0x44
jnp 0x571a9a
mov eax, dword [ebx + 0xc60]
mov edi, dword [ebx + 0xc64]
mov ecx, eax
or ecx, edi
je 0x571a9a
fld qword [ebx + 0xc68]
mov edx, dword [ebx + 0xc70]
fsub qword [ebx + 0xc58]
mov ecx, dword [ebx + 0xc74]
sub edx, eax
sbb ecx, edi
fstp qword [esp + 0x20]
mov dword [esp + 0x30], edx
fld qword [esp + 0x20]
mov dword [esp + 0x34], ecx
fcomp qword [0x5f56a0]
fnstsw ax
test ah, 1
jne 0x571a9a
test ecx, ecx
jl 0x571a9a
jg 0x571a74
test edx, edx
jb 0x571a9a
fild qword [esp + 0x30]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], edx
fstp qword [esp + 0x10]
mov dword [esp + 0x1c], eax
fld qword [esp + 0x10]
fdiv qword [0x5fa5b8]
fstp qword [esp + 0x10]
fld qword [ebx + 0xc68]
fcomp qword [0x5f56a0]
fnstsw ax
test ah, 0x44
jnp 0x571b2c
mov eax, dword [ebx + 0xc70]
mov edi, dword [ebx + 0xc74]
mov ecx, eax
or ecx, edi
je 0x571b2c
fld qword [ebx + 0xc78]
mov edx, dword [ebx + 0xc80]
fsub qword [ebx + 0xc68]
mov ecx, dword [ebx + 0xc84]
sub edx, eax
sbb ecx, edi
fstp qword [esp + 0x20]
mov dword [esp + 0x30], edx
fld qword [esp + 0x20]
mov dword [esp + 0x34], ecx
fcomp qword [0x5f56a0]
fnstsw ax
test ah, 1
jne 0x571b2c
test ecx, ecx
jl 0x571b2c
jg 0x571b06
test edx, edx
jb 0x571b2c
fld qword [esp + 0x20]
fadd qword [esp + 0x18]
fstp qword [esp + 0x18]
fild qword [esp + 0x30]
fstp qword [esp + 0x20]
fld qword [esp + 0x20]
fdiv qword [0x5fa5b8]
fadd qword [esp + 0x10]
fstp qword [esp + 0x10]
fld qword [ebx + 0xc78]
fcomp qword [0x5f56a0]
fnstsw ax
test ah, 0x44
jnp 0x571bbe
mov eax, dword [ebx + 0xc80]
mov edi, dword [ebx + 0xc84]
mov edx, eax
or edx, edi
je 0x571bbe
fld qword [ebx + 0xc88]
mov edx, dword [ebx + 0xc90]
fsub qword [ebx + 0xc78]
mov ecx, dword [ebx + 0xc94]
sub edx, eax
sbb ecx, edi
fstp qword [esp + 0x20]
mov dword [esp + 0x30], edx
fld qword [esp + 0x20]
mov dword [esp + 0x34], ecx
fcomp qword [0x5f56a0]
fnstsw ax
test ah, 1
jne 0x571bbe
test ecx, ecx
jl 0x571bbe
jg 0x571b98
test edx, edx
jb 0x571bbe
fld qword [esp + 0x20]
fadd qword [esp + 0x18]
fstp qword [esp + 0x18]
fild qword [esp + 0x30]
fstp qword [esp + 0x20]
fld qword [esp + 0x20]
fdiv qword [0x5fa5b8]
fadd qword [esp + 0x10]
fstp qword [esp + 0x10]
fld qword [ebx + 0xc88]
fcomp qword [0x5f56a0]
fnstsw ax
test ah, 0x44
jnp 0x571c50
mov eax, dword [ebx + 0xc90]
mov edi, dword [ebx + 0xc94]
mov ecx, eax
or ecx, edi
je 0x571c50
fld qword [ebx + 0xc98]
mov edx, dword [ebx + 0xca0]
fsub qword [ebx + 0xc88]
mov ecx, dword [ebx + 0xca4]
sub edx, eax
sbb ecx, edi
fstp qword [esp + 0x20]
mov dword [esp + 0x30], edx
fld qword [esp + 0x20]
mov dword [esp + 0x34], ecx
fcomp qword [0x5f56a0]
fnstsw ax
test ah, 1
jne 0x571c50
test ecx, ecx
jl 0x571c50
jg 0x571c2a
test edx, edx
jb 0x571c50
fld qword [esp + 0x20]
fadd qword [esp + 0x18]
fstp qword [esp + 0x18]
fild qword [esp + 0x30]
fstp qword [esp + 0x30]
fld qword [esp + 0x30]
fdiv qword [0x5fa5b8]
fadd qword [esp + 0x10]
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fcomp qword [0x5f56a0]
fnstsw ax
test ah, 0x41
jne 0x571c7b
fld qword [esp + 0x18]
sub esp, 8
fdiv qword [esp + 0x18]
fstp qword [esp]
call fcn.0051c330
fstp qword [esp + 0x20]
add esp, 8
fld qword [esp + 0x18]
fcomp qword [0x5f56a0]
fnstsw ax
test ah, 5
jp 0x571c96
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
fld qword [ebx + 0xc50]
sub esp, 8
fsub qword [esp + 0x20]
fstp qword [esp]
call fcn.005dd7b7
fld qword [ebx + 0xc50]
add esp, 8
fdiv qword [0x5f5688]
fcompp
fnstsw ax
test ah, 5
jp 0x571cd9
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0xc50], edx
mov dword [ebx + 0xc54], eax
jmp 0x571d3b
fld qword [esp + 0x18]
fcomp qword [ebx + 0xc50]
fld qword [esp + 0x18]
fnstsw ax
test ah, 0x41
jne 0x571d02
fsub qword [ebx + 0xc50]
fdiv qword [0x5fe9e0]
fadd qword [ebx + 0xc50]
jmp 0x571d35
fcomp qword [ebx + 0xc50]
fnstsw ax
test ah, 5
jp 0x571d3b
mov ecx, dword [ebx + 0xc50]
mov edx, dword [ebx + 0xc54]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
fld qword [esp + 0x10]
fsub qword [esp + 0x18]
fdiv qword [0x5fe9e0]
fsubr qword [esp + 0x10]
fstp qword [ebx + 0xc50]
mov eax, dword [ebx + 0xcd0]
mov ecx, eax
and ecx, reloc.WSOCK32.dll_accept
jns 0x571d50
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x571d5a
mov dword [esp + 0x2c], 1
cmp eax, 2
jl 0x571e38
mov edx, dword [ebx + 0xc54]
mov eax, dword [ebx + 0xc50]
push edx
push eax
call fcn.0051c330
fstp qword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push 1
push 1
push 0
push 1
push 1
lea edx, [esp + 0x74]
push edx
push ecx
push eax
mov dword [ebx + 0xc50], eax
mov dword [ebx + 0xc54], ecx
call fcn.0051d870
mov al, byte [esp + 0x80]
add esp, 0x28
test al, al
je 0x571e38
lea edi, [esp + 0x58]
dec edi
jmp 0x571dc0
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x571dc0
jmp 0x571e28
mov edx, dword [ebx + 0xc54]
mov eax, dword [ebx + 0xc50]
push edx
push eax
call fcn.0051c330
fstp qword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push 1
push 1
push 0
push 1
push 1
lea edx, [esp + 0x74]
push edx
push ecx
push eax
mov dword [ebx + 0xc50], eax
mov dword [ebx + 0xc54], ecx
call fcn.0051d870
mov al, byte [esp + 0x80]
add esp, 0x28
test al, al
je 0x571e38
lea edi, [esp + 0x58]
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x571e20
mov eax, dword [0x5f8d98]
mov cl, byte [0x5f8d9c]
mov dword [edi], eax
mov byte [edi + 4], cl
mov eax, dword [ebx]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
lea edx, [esp + 0x58]
push edx
push 0x74
push eax
call edi
push eax
call fcn.00423ac0
mov eax, dword [esp + 0x30]
add esp, 8
test eax, eax
mov byte [esp + 0x58], 0
je 0x571f42
fld qword [ebx + 0xc50]
fcomp qword [0x5f56a0]
fnstsw ax
test ah, 0x41
jne 0x571f42
fld qword [ebx + 0xc40]
fcomp qword [0x5f56a0]
fnstsw ax
test ah, 1
jne 0x571f42
mov eax, dword [ebx + 0xc0c]
test eax, eax
mov edx, dword [ebx + 0xcd8]
mov ecx, dword [ebx + 0xcdc]
je 0x571eae
xor edx, edx
xor ecx, ecx
jmp 0x571f23
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x571ec9
fld qword [ebx + 0xcd8]
fcomp qword [0x5f53e0]
fnstsw ax
test ah, 5
jp 0x571f23
fld qword [ebx + 0xc40]
sub esp, 8
fsub qword [ebx + 0xc28]
fstp qword [esp + 0x18]
fld qword [esp + 0x18]
fdiv qword [ebx + 0xc50]
fstp qword [esp]
call fcn.0051c330
fstp qword [esp + 0x18]
fld qword [esp + 0x18]
add esp, 8
fcomp qword [0x5f53e0]
fnstsw ax
test ah, 5
jp 0x571f0f
xor edx, edx
mov ecx, 0x3ff00000
jmp 0x571f17
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [ebx + 0xcd8], edx
mov dword [ebx + 0xcdc], ecx
push 3
push ecx
push edx
push 0x5f4c90
call fcn.00563e40
add esp, 0x10
lea edx, [esp + 0x58]
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x571f38
mov edx, dword [ebx]
lea ecx, [esp + 0x58]
push ecx
push 0x72
push edx
call edi
push eax
call fcn.00423ac0
add esp, 8
jmp 0x571f5f
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
mov eax, dword [ebp + 0x10]
test eax, eax
jne 0x571f71
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x572077
mov eax, dword [esp + 0x28]
test eax, eax
mov byte [esp + 0x58], 0
je 0x57205c
mov ecx, dword [ebx + 0xc2c]
mov edx, dword [ebx + 0xc28]
push 1
push 1
push 0
push 1
push 1
lea eax, [esp + 0x6c]
push eax
push ecx
push edx
call fcn.0051d870
mov eax, dword [ebx + 0xcbc]
add esp, 0x20
test eax, eax
jle 0x57205c
mov ecx, dword [ebx + 0xcc0]
sub ecx, eax
mov dword [esp + 0x2c], ecx
fild dword [esp + 0x2c]
fstp qword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
call fcn.0051c330
fstp qword [esp + 0x18]
fld qword [esp + 0x18]
add esp, 8
fcomp qword [0x5f53e0]
fnstsw ax
test ah, 1
jne 0x57205c
lea edi, [esp + 0x58]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x571ff5
mov ecx, dword [0x5fe9d8]
mov eax, dword [esp + 0x14]
mov dl, byte [0x5fe9dc]
push 3
mov dword [edi], ecx
mov ecx, dword [esp + 0x14]
push eax
push ecx
push 0x5f4c90
mov byte [edi + 4], dl
call fcn.00563e40
add esp, 0x10
mov edx, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x572030
lea edi, [esp + 0x58]
sub eax, edx
dec edi
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x572040
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x38]
mov eax, dword [ebx]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
lea edx, [esp + 0x58]
push edx
push 0x70
push eax
call edi
push eax
call fcn.00423ac0
add esp, 8
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x572085
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x5720f1
mov edx, dword [ebx]
lea ecx, [esp + 0x48]
push ecx
push 0x6e
push edx
call edi
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [ebx]
push 2
lea eax, [esp + 0x4c]
push eax
push ecx
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov edx, dword [ebx + 0xc3c]
mov eax, dword [ebx + 0xc38]
mov ecx, dword [ebx + 0xc34]
push 0
push edx
mov edx, dword [ebx + 0xc30]
push eax
push ecx
mov ecx, dword [esp + 0x58]
push edx
mov edx, dword [esp + 0x60]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x78]
mov dword [eax + 8], ecx
push esi
mov dword [eax + 0xc], edx
call fcn.00571170
add esp, 0x28
mov eax, dword [esp + 0x40]
push eax
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov ecx, dword [esp + 0x44]
push ecx
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
mov edx, dword [esp + 0x3c]
push edx
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [ebx]
push esi
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret