Function at 0x572130
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 0x572bc5
cmp dword [ebp + 0xc], 2
jne 0x57217e
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 0x572273
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 0x572273
lea eax, [esp + 0x58]
push 0x1068
push eax
call fcn.004232e0
add esp, 8
push edi
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
test eax, eax
jle 0x57221e
lea edi, [esp + 0x58]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x572203
mov cx, word [0x5f4c8c]
mov dl, byte [0x5f4c8e]
mov word [edi], cx
mov byte [edi + 2], dl
mov eax, esi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x572220
lea edi, [esp + 0x58]
sub eax, esi
dec edi
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x572230
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x58]
push eax
and ecx, 3
push 0
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x30]
push 0xc2
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov edx, dword [esp + 0x28]
push edx
call dword [sym.imp.USER32.dll_UpdateWindow]
mov eax, dword [ebx]
push eax
call fcn.00571100
add esp, 4
mov ecx, dword [ebx]
push ecx
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
test esi, esi
mov dword [esp + 0x38], esi
je 0x572bc5
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 0x1754]
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [0x63cb18]
push ecx
push esi
mov dword [esp + 0x44], eax
call dword [sym.imp.GDI32.dll_SetTextColor]
mov edx, dword [0x63cb04]
push edx
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 0x572428
mov ecx, dword [ebx]
lea eax, [ebx + 0x7cc]
push eax
push 0x67
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call fcn.00423ac0
fld qword [ebx + 0x1068]
fcomp qword [0x5f56a0]
add esp, 8
lea edx, [esp + 0x58]
fnstsw ax
test ah, 1
jne 0x572324
mov eax, dword [ebx + 0x106c]
mov ecx, dword [ebx + 0x1068]
push 1
push 1
push 0
push 1
push 1
push edx
push eax
push ecx
call fcn.0051d870
add esp, 0x20
jmp 0x572332
push edx
push 0x776
call fcn.00424130
add esp, 8
mov ecx, dword [ebx]
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
lea eax, [esp + 0x58]
push eax
push 0x69
push ecx
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 0x572358
mov eax, dword [ebx + 0x10e0]
test eax, eax
je 0x5723f8
lea eax, [ebx + 0x136]
push eax
push edi
call fcn.005f1860
add esp, 8
test eax, eax
je 0x5723f8
lea edi, [esp + 0x58]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x572390
mov dx, word [0x5f4c98]
mov al, byte [0x5f4c9a]
mov word [edi], dx
mov byte [edi + 2], al
lea eax, [ebx + 0x136]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5723b2
lea edi, [esp + 0x58]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x5723c0
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 0x5723e0
mov cx, word [0x5f4c94]
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
mov word [edi], cx
mov eax, dword [ebx]
lea edx, [esp + 0x58]
push edx
push 0x6b
push eax
call esi
push eax
call fcn.00423ac0
mov edx, dword [ebx]
add esp, 8
lea ecx, [ebx + 0x39a]
push ecx
push 0x6d
push edx
call esi
push eax
call fcn.00423ac0
mov esi, dword [esp + 0x40]
add esp, 8
mov eax, dword [ebx + 0x103c]
xor edx, edx
test eax, eax
mov dword [esp + 0x28], edx
mov ecx, 4
jne 0x57244f
mov edi, dword [ebx + 0x1040]
test edi, edi
jne 0x57244f
cmp dword [ebx + 0x1034], ecx
jne 0x572458
mov edx, 1
mov dword [esp + 0x28], edx
mov edi, dword [ebp + 0x18]
test edi, edi
jne 0x57246a
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x572a09
test edx, edx
mov dword [esp + 0x2c], 0
mov byte [esp + 0x58], 0
je 0x5728e8
test eax, eax
jne 0x57287a
mov eax, dword [ebx + 0x1040]
test eax, eax
jne 0x57287a
cmp dword [ebx + 0x1034], ecx
jne 0x5728e8
mov eax, dword [ebx + 0x1108]
and eax, reloc.WSOCK32.dll_accept
jns 0x5724b3
dec eax
or eax, 0xfffffffe
inc eax
jne 0x5727ee
fld qword [ebx + 0x1080]
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 0x572559
mov eax, dword [ebx + 0x1088]
mov edi, dword [ebx + 0x108c]
mov ecx, eax
or ecx, edi
je 0x572559
fld qword [ebx + 0x1090]
mov edx, dword [ebx + 0x1098]
fsub qword [ebx + 0x1080]
mov ecx, dword [ebx + 0x109c]
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 0x572559
test ecx, ecx
jl 0x572559
jg 0x572533
test edx, edx
jb 0x572559
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 + 0x1090]
fcomp qword [0x5f56a0]
fnstsw ax
test ah, 0x44
jnp 0x5725e7
mov eax, dword [ebx + 0x1098]
mov edi, dword [ebx + 0x109c]
mov ecx, eax
or ecx, edi
je 0x5725e7
fld qword [ebx + 0x10a0]
mov edx, dword [ebx + 0x10a8]
fsub qword [ebx + 0x1090]
mov ecx, dword [ebx + 0x10ac]
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 0x5725e7
test ecx, ecx
jl 0x5725e7
jg 0x5725c1
test edx, edx
jb 0x5725e7
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 + 0x10a0]
fcomp qword [0x5f56a0]
fnstsw ax
test ah, 0x44
jnp 0x572675
mov eax, dword [ebx + 0x10a8]
mov edi, dword [ebx + 0x10ac]
mov edx, eax
or edx, edi
je 0x572675
fld qword [ebx + 0x10b0]
mov edx, dword [ebx + 0x10b8]
fsub qword [ebx + 0x10a0]
mov ecx, dword [ebx + 0x10bc]
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 0x572675
test ecx, ecx
jl 0x572675
jg 0x57264f
test edx, edx
jb 0x572675
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 + 0x10b0]
fcomp qword [0x5f56a0]
fnstsw ax
test ah, 0x44
jnp 0x572703
mov eax, dword [ebx + 0x10b8]
mov edi, dword [ebx + 0x10bc]
mov ecx, eax
or ecx, edi
je 0x572703
fld qword [ebx + 0x10c0]
mov edx, dword [ebx + 0x10c8]
fsub qword [ebx + 0x10b0]
mov ecx, dword [ebx + 0x10cc]
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 0x572703
test ecx, ecx
jl 0x572703
jg 0x5726dd
test edx, edx
jb 0x572703
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 0x57272e
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 0x572749
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
fld qword [ebx + 0x1078]
sub esp, 8
fsub qword [esp + 0x20]
fstp qword [esp]
call fcn.005dd7b7
fld qword [ebx + 0x1078]
add esp, 8
fdiv qword [0x5f5688]
fcompp
fnstsw ax
test ah, 5
jp 0x57278c
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0x1078], edx
mov dword [ebx + 0x107c], eax
jmp 0x5727ee
fld qword [esp + 0x18]
fcomp qword [ebx + 0x1078]
fld qword [esp + 0x18]
fnstsw ax
test ah, 0x41
jne 0x5727b5
fsub qword [ebx + 0x1078]
fdiv qword [0x5fe9e0]
fadd qword [ebx + 0x1078]
jmp 0x5727e8
fcomp qword [ebx + 0x1078]
fnstsw ax
test ah, 5
jp 0x5727ee
mov ecx, dword [ebx + 0x1078]
mov edx, dword [ebx + 0x107c]
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 + 0x1078]
mov eax, dword [ebx + 0x1108]
mov ecx, eax
and ecx, reloc.WSOCK32.dll_accept
jns 0x572803
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x57280d
mov dword [esp + 0x2c], 1
cmp eax, 2
jl 0x5728e8
mov edx, dword [ebx + 0x107c]
mov eax, dword [ebx + 0x1078]
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 + 0x1078], eax
mov dword [ebx + 0x107c], ecx
call fcn.0051d870
mov al, byte [esp + 0x80]
add esp, 0x28
test al, al
je 0x5728e8
lea edi, [esp + 0x58]
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x572870
jmp 0x5728d8
mov edx, dword [ebx + 0x107c]
mov eax, dword [ebx + 0x1078]
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 + 0x1078], eax
mov dword [ebx + 0x107c], ecx
call fcn.0051d870
mov al, byte [esp + 0x80]
add esp, 0x28
test al, al
je 0x5728e8
lea edi, [esp + 0x58]
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x5728d0
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 0x5729f2
fld qword [ebx + 0x1078]
fcomp qword [0x5f56a0]
fnstsw ax
test ah, 0x41
jne 0x5729f2
fld qword [ebx + 0x1068]
fcomp qword [0x5f56a0]
fnstsw ax
test ah, 1
jne 0x5729f2
mov eax, dword [ebx + 0x103c]
test eax, eax
mov edx, dword [ebx + 0x1110]
mov ecx, dword [ebx + 0x1114]
je 0x57295e
xor edx, edx
xor ecx, ecx
jmp 0x5729d3
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x572979
fld qword [ebx + 0x1110]
fcomp qword [0x5f53e0]
fnstsw ax
test ah, 5
jp 0x5729d3
fld qword [ebx + 0x1068]
sub esp, 8
fsub qword [ebx + 0x1050]
fstp qword [esp + 0x18]
fld qword [esp + 0x18]
fdiv qword [ebx + 0x1078]
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 0x5729bf
xor edx, edx
mov ecx, 0x3ff00000
jmp 0x5729c7
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [ebx + 0x1110], edx
mov dword [ebx + 0x1114], 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 0x5729e8
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 0x572a0f
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
mov eax, dword [ebp + 0x10]
test eax, eax
jne 0x572a21
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x572b27
mov eax, dword [esp + 0x28]
test eax, eax
mov byte [esp + 0x58], 0
je 0x572b0c
mov ecx, dword [ebx + 0x1054]
mov edx, dword [ebx + 0x1050]
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 + 0x10f4]
add esp, 0x20
test eax, eax
jle 0x572b0c
mov ecx, dword [ebx + 0x10f8]
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 0x572b0c
lea edi, [esp + 0x58]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x572aa5
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 0x572ae0
lea edi, [esp + 0x58]
sub eax, edx
dec edi
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x572af0
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 0x572b35
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x572b97
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 + 0x1064]
mov eax, dword [ebx + 0x1060]
push 0
push 0
push 0
push edx
mov edx, dword [esp + 0x58]
push eax
mov eax, dword [esp + 0x60]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x74]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x78]
mov dword [ecx + 8], edx
push esi
mov dword [ecx + 0xc], eax
call fcn.00571170
add esp, 0x28
mov ecx, dword [esp + 0x40]
push ecx
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov edx, dword [esp + 0x44]
push edx
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
mov eax, dword [esp + 0x3c]
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [ebx]
push esi
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret