Function at 0x51054d
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc0
push ebx
push esi
push edi
push dword [ebp + 8]
call fcn.0051fafa
mov edi, eax
test edi, edi
jne 0x510570
push 0
call fcn.0042c6cc
jmp 0x51104c
mov ebx, dword [edi + 0xb6c]
push ebx
call fcn.0041261f
test eax, eax
jne 0x51058c
push 0
call fcn.0042c6cc
jmp 0x51104c
call sub.USER32.dll_GetFocus
mov dword [ebp - 0x24], eax
mov eax, dword [edi + 0x818]
cmp eax, dword [ebp - 0x24]
je 0x5105b6
mov edx, dword [edi + 0x81c]
cmp edx, dword [ebp - 0x24]
je 0x5105b6
push 0
call fcn.0042c6cc
jmp 0x51104c
lea ecx, [ebp - 8]
push ecx
lea eax, [ebp - 4]
push eax
push dword [edi + 0x848]
push dword [ebp - 0x24]
call fcn.00478569
mov edx, dword [ebp - 4]
mov dword [ebp - 8], edx
cmp dword [ebp - 4], 0
jge 0x5105dd
xor ecx, ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 4]
jge 0x5105eb
mov edx, dword [ebp - 4]
mov dword [ebp - 8], edx
lea ecx, [ebp - 0xc]
push ecx
push dword [edi + 0x848]
push dword [ebp - 0x24]
call fcn.004783a7
cmp dword [ebp - 0xc], 0
jle 0x51060c
cmp dword [ebx + 0x1c04], 0
je 0x510619
push dword [ebp + 8]
call fcn.005101e4
jmp 0x51104c
push 0x57a361
push 0x3e6
push 0xd
push dword [ebp - 0x24]
call sub.USER32.dll_SendMessageA
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jg 0x510642
push 0
call fcn.0042c6cc
jmp 0x51104c
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x57a361], 0
push 0x57a361
call fcn.00510164
test eax, eax
je 0x510680
push 0x56e6d6
push 0
push 0xc
push dword [ebp - 0x24]
call sub.USER32.dll_SendMessageA
push dword [ebp - 0x24]
call sub.USER32.dll_UpdateWindow
push dword [ebp + 8]
call fcn.005101e4
jmp 0x51104c
mov edx, dword [ebp - 8]
lea eax, [edx + 0x57a361]
mov edx, dword [ebp - 8]
cmp edx, dword [ebp - 0xc]
jge 0x5106a8
mov dl, byte [eax]
test dl, dl
je 0x5106a8
cmp dl, 0x20
je 0x5106a8
inc dword [ebp - 8]
inc eax
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebp - 0xc]
jl 0x510691
mov eax, dword [ebp - 8]
mov byte [eax + 0x57a361], 0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x57a361], 0x20
jne 0x5106df
dec dword [ebp - 4]
cmp dword [ebp - 4], 0
jl 0x5106d3
mov edx, dword [ebp - 4]
cmp byte [edx + 0x57a361], 0x20
jne 0x5106df
push 0
call fcn.0042c6cc
jmp 0x51104c
mov ecx, dword [ebp - 4]
lea eax, [ecx + 0x57a361]
cmp dword [ebp - 4], 0
jle 0x5106fd
cmp byte [eax], 0x20
je 0x5106fd
dec dword [ebp - 4]
dec eax
cmp dword [ebp - 4], 0
jg 0x5106ee
mov edx, dword [ebp - 4]
cmp byte [edx + 0x57a361], 0x20
jne 0x51070c
inc dword [ebp - 4]
xor ecx, ecx
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 8]
lea eax, [edx + 0x57a361]
cmp edx, dword [ebp - 4]
jl 0x51074e
mov cl, byte [eax]
cmp cl, 0x28
jne 0x510729
inc dword [ebp - 0x14]
cmp cl, 0x29
jne 0x510731
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0
jne 0x510747
cmp cl, 0x2c
jne 0x510747
cmp edx, dword [ebp - 8]
je 0x51074e
inc edx
mov dword [ebp - 4], edx
jmp 0x51074e
dec edx
dec eax
cmp edx, dword [ebp - 4]
jge 0x51071f
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 8]
je 0x510765
mov ecx, dword [ebp - 4]
cmp byte [ecx + 0x57a361], 0x3d
jne 0x510765
inc dword [ebp - 4]
mov byte [ebp - 0x1d], 0
push dword [edi + 0xb6c]
mov eax, 0x57a361
add eax, dword [ebp - 4]
push eax
call fcn.004ee9fe
test al, al
je 0x5107cc
mov edx, dword [ebp - 4]
cmp byte [edx + 0x57a361], 0x24
je 0x5107cc
mov ecx, dword [ebp - 4]
cmp byte [ecx + 0x57a361], 0x25
je 0x5107cc
mov eax, dword [ebp - 4]
mov dl, byte [eax + 0x57a361]
mov byte [ebp - 0x1d], dl
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
cmp byte [ecx + 0x57a361], 0
je 0x5107c0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x57a361], 0x20
jne 0x5107cc
push 0
call fcn.0042c6cc
jmp 0x51104c
mov edx, 0x57a361
add edx, dword [ebp - 4]
push edx
call fcn.0054e28c
pop ecx
cmp eax, 0x5a
jbe 0x5107ec
push 0
call fcn.0042c6cc
jmp 0x51104c
cmp byte [ebx + 0x1c08], 0
je 0x510823
lea ecx, [ebx + 0x1c08]
push ecx
call fcn.0054e28c
pop ecx
push eax
lea eax, [ebx + 0x1c08]
push eax
mov edx, 0x57a361
add edx, dword [ebp - 4]
push edx
call fcn.0054e4e8
add esp, 0xc
test eax, eax
je 0x5108bd
cmp byte [ebx + 0x1c08], 0
je 0x51087b
push 0x56e6da
lea ecx, [ebx + 0x1c08]
push ecx
call fcn.0054e548
add esp, 8
test eax, eax
je 0x51087b
push 0x56e6de
mov eax, 0x57a361
add eax, dword [ebp - 4]
push eax
call fcn.0054e548
add esp, 8
test eax, eax
jne 0x51087b
push 1
push 0
mov edx, 0x57a361
add edx, dword [ebp - 4]
push edx
lea ecx, [ebx + 0x1c08]
push ecx
call fcn.0051f0b8
test eax, eax
jne 0x5108bd
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 4]
push eax
mov edx, 0x57a361
add edx, dword [ebp - 4]
push edx
lea ecx, [ebx + 0x1c08]
push ecx
call fcn.0054e498
add esp, 0xc
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 4]
mov byte [ebx + eax + 0x1c08], 0
cmp byte [ebx + 0x1c08], 0
jne 0x5108bd
push 0
call fcn.0042c6cc
jmp 0x51104c
mov edx, dword [ebp - 4]
mov byte [edx + 0x57a361], 0
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebp - 0xc]
jge 0x5108d9
mov eax, dword [ebp - 8]
mov byte [eax + 0x57a361], 0x20
cmp byte [ebx + 0x1c08], 0x24
je 0x510906
cmp byte [ebx + 0x1c08], 0x25
je 0x510906
cmp byte [ebx + 0x1c08], 0x23
jne 0x510970
cmp byte [ebx + 0x1c09], 0
je 0x510906
cmp byte [ebx + 0x1c09], 0x20
jne 0x510970
add ebx, 0x1c08
push edi
mov edi, ebx
mov esi, 0x579f7a
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
push dword [edi + 0xb6c]
push 0
push 0
push 0
push 0
push 0x579f7a
push dword [ebp + 8]
call fcn.00479b18
test eax, eax
je 0x510964
cmp byte [0x579f7a], 0
je 0x510964
mov esi, 0x579f7a
jmp 0x510f7d
push 0
call fcn.0042c6cc
jmp 0x51104c
cmp byte [ebx + 0x1c08], 0x23
jne 0x510b6f
cmp byte [ebx + 0x1c09], 0
je 0x510b6f
xor eax, eax
mov dword [ebp - 0x28], eax
xor edx, edx
mov dword [ebp - 0x3c], edx
push dword [ebp - 0x3c]
push 0x56e6e2
lea ecx, [ebp - 0x38]
push ecx
call sub.USER32.dll_wsprintfA
add esp, 0xc
push 0x57df88
push 0x3e7
push 0x585ce2
push 0x56e6f3
lea eax, [ebp - 0x38]
push eax
push str.chanfolder
call fcn.004ac8c9
cmp byte [0x585ce2], 0
je 0x510a14
push 0x579f7a
push 1
push 0x585ce2
call fcn.0043423d
push 0x579f7a
call fcn.0050ecb8
cmp byte [0x579f7a], 0
je 0x510a0f
push 0
push 0x579f7a
push dword [ebp - 0x28]
call fcn.004c6a18
mov esi, eax
test esi, esi
je 0x510a14
mov dword [ebp - 0x28], esi
inc dword [ebp - 0x3c]
jmp 0x510994
mov eax, dword [0x56f010]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
je 0x510a5f
mov edx, dword [ebp - 0x2c]
cmp dword [edx + 0x6bc], 1
jne 0x510a4d
cmp edi, dword [ebp - 0x2c]
je 0x510a4d
push 0
mov ecx, dword [ebp - 0x2c]
add ecx, 8
push ecx
push dword [ebp - 0x28]
call fcn.004c6a18
mov esi, eax
test esi, esi
je 0x510a5f
mov dword [ebp - 0x28], esi
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0xd3c]
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0
jne 0x510a22
push 0
push 0
push dword [ebp - 0x28]
call fcn.0050cb45
mov dword [ebp - 0x28], eax
cmp dword [edi + 0x6bc], 1
jne 0x510a99
push 0
lea ecx, [edi + 8]
push ecx
push 0
call fcn.004c6a18
mov esi, eax
test esi, esi
je 0x510a99
push esi
push dword [ebp - 0x28]
push dword [ebp - 0x28]
call fcn.004c6cfe
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x3c], eax
mov esi, dword [ebp - 0x28]
test esi, esi
je 0x510aba
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebx + 0x1c00]
je 0x510aba
inc dword [ebp - 0x3c]
mov esi, dword [esi + 0x40]
test esi, esi
jne 0x510aa5
test esi, esi
jne 0x510ac6
mov esi, dword [ebp - 0x28]
xor eax, eax
mov dword [ebp - 0x3c], eax
test esi, esi
je 0x510b5d
lea edx, [ebx + 0x1c08]
push edx
call fcn.0054e28c
pop ecx
push eax
push dword [esi]
lea ecx, [ebx + 0x1c08]
push ecx
call fcn.0054e4e8
add esp, 0xc
test eax, eax
jne 0x510b36
mov eax, dword [esi]
push esi
mov edi, eax
mov esi, 0x579f7a
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
mov esi, 0x579f7a
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebx + 0x1c00], eax
lea edx, [ebp - 0x28]
push edx
call fcn.004c6e49
jmp 0x510f7d
mov esi, dword [esi + 0x40]
test esi, esi
jne 0x510b47
mov esi, dword [ebp - 0x28]
xor eax, eax
mov dword [ebp - 0x3c], eax
jmp 0x510b4a
inc dword [ebp - 0x3c]
mov edx, dword [ebp - 0x3c]
cmp edx, dword [ebx + 0x1c00]
je 0x510b5d
test esi, esi
jne 0x510ace
mov ecx, dword [ebp - 0x3c]
mov dword [ebx + 0x1c00], ecx
lea eax, [ebp - 0x28]
push eax
call fcn.004c6e49
cmp dword [edi + 0x820], 0
je 0x510b9b
cmp dword [edi + 0x6bc], 1
je 0x510e5e
cmp dword [edi + 0x6bc], 9
jne 0x510b9b
cmp dword [edi + 0x6c0], 2
je 0x510e5e
cmp dword [edi + 0x6bc], 2
jne 0x510c92
cmp dword [edi + 0x6c0], 2
jne 0x510c92
cmp dword [ebx + 0x1bfc], 0
je 0x510c92
mov esi, dword [ebx + 0x1bfc]
test esi, esi
je 0x510be0
cmp dword [esi + 0x1c], 1
jne 0x510bd9
xor eax, eax
mov dword [esi + 0x1c], eax
jmp 0x510be0
mov esi, dword [esi + 0x40]
test esi, esi
jne 0x510bcc
test esi, esi
jne 0x510bed
mov edx, dword [ebx + 0x1bfc]
mov esi, dword [edx + 0x44]
mov dword [esi + 0x1c], 1
test esi, esi
je 0x510c92
push 0x56e6f7
lea eax, [ebx + 0x1c08]
push eax
call fcn.0054e548
add esp, 8
test eax, eax
je 0x510c2a
push 1
push 0
push dword [esi]
lea edx, [ebx + 0x1c08]
push edx
call fcn.0051f0b8
test eax, eax
jne 0x510c4d
lea ecx, [ebx + 0x1c08]
push ecx
call fcn.0054e28c
pop ecx
push eax
push dword [esi]
lea eax, [ebx + 0x1c08]
push eax
call fcn.0054e4e8
add esp, 0xc
test eax, eax
jne 0x510c7f
mov edx, dword [esi]
push esi
mov edi, edx
mov esi, 0x579f7a
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
mov esi, 0x579f7a
jmp 0x510f7d
cmp esi, dword [ebx + 0x1bfc]
je 0x510c92
mov esi, dword [esi + 0x44]
test esi, esi
jne 0x510bfc
cmp dword [edi + 0x6bc], 2
jne 0x510d5d
cmp dword [edi + 0x6c0], 2
je 0x510d5d
cmp dword [edi + 0x6c0], 1
jne 0x510cba
lea esi, [edi + 8]
jmp 0x510cd4
push 0x20
lea eax, [edi + 8]
push eax
call fcn.0054e1ec
add esp, 8
mov esi, eax
test esi, esi
jne 0x510cd3
lea esi, [edi + 8]
jmp 0x510cd4
inc esi
cmp byte [esi], 0
je 0x510d06
push 0x56e6fb
lea eax, [ebx + 0x1c08]
push eax
call fcn.0054e548
add esp, 8
test eax, eax
je 0x510d06
push 1
push 0
push esi
lea edx, [ebx + 0x1c08]
push edx
call fcn.0051f0b8
test eax, eax
jne 0x510d2d
cmp byte [esi], 0
je 0x510d5d
lea ecx, [ebx + 0x1c08]
push ecx
call fcn.0054e28c
pop ecx
push eax
push esi
lea eax, [ebx + 0x1c08]
push eax
call fcn.0054e4e8
add esp, 0xc
test eax, eax
jne 0x510d5d
push esi
mov edi, esi
mov esi, 0x579f7a
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
mov esi, 0x579f7a
jmp 0x510f7d
cmp dword [edi + 0x6bc], 0
je 0x510d73
cmp dword [edi + 0x6bc], 2
jne 0x510e51
mov eax, dword [ebx + 0x1c70]
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
je 0x510d8f
push ebx
push dword [ebp - 0x40]
call fcn.004131d3
test eax, eax
jne 0x510d98
mov edx, dword [ebx + 0x1c74]
mov dword [ebp - 0x40], edx
mov esi, dword [ebp - 0x40]
test esi, esi
je 0x510e51
push 0x56e6ff
lea edi, [ebx + 0x1c08]
push edi
call fcn.0054e548
add esp, 8
test eax, eax
je 0x510dca
push 1
push 0
push esi
push edi
call fcn.0051f0b8
test eax, eax
jne 0x510de0
push edi
call fcn.0054e28c
pop ecx
push eax
push esi
push edi
call fcn.0054e4e8
add esp, 0xc
test eax, eax
jne 0x510e34
mov eax, dword [esi + 0x2b0]
mov dword [ebx + 0x1c70], eax
push esi
mov edi, esi
mov esi, 0x579f7a
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
push 0x21
push 0x579f7a
call fcn.0054e1ec
add esp, 8
mov esi, eax
test esi, esi
je 0x510e2a
mov byte [esi], 0
mov esi, 0x579f7a
jmp 0x510f7d
mov esi, dword [esi + 0x2b0]
test esi, esi
jne 0x510e44
mov esi, dword [ebx + 0x1c74]
cmp esi, dword [ebp - 0x40]
je 0x510e51
test esi, esi
jne 0x510da3
push dword [ebp + 8]
call fcn.005101e4
jmp 0x51104c
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebx + 0x1c6c], 0xffffffff
jne 0x510e75
mov dword [ebp - 0x1c], 1
jmp 0x510e7a
xor edx, edx
mov dword [ebp - 0x1c], edx
push 0
push 0
push 0x18b
push dword [edi + 0x820]
call sub.USER32.dll_SendMessageA
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xffffffff
je 0x51102e
cmp dword [ebp - 0x18], 0
jle 0x51102e
xor ecx, ecx
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x18]
jge 0x51102e
push 0x579f7a
push dword [ebp - 0xc]
push 0x189
push dword [edi + 0x820]
call sub.USER32.dll_SendMessageA
cmp eax, 0xffffffff
je 0x51101f
test eax, eax
jle 0x51101f
push 0xf
push 0x579f7a
call fcn.0050e7f8
mov esi, 0x579f7a
cmp byte [ebp - 0x1d], 0
je 0x510f03
mov al, byte [ebp - 0x1d]
cmp al, byte [esi]
je 0x510f03
inc dword [ebp - 0xc]
jmp 0x510eaa
inc esi
push ebx
push esi
call fcn.004ee9fe
test al, al
jne 0x510f02
cmp byte [esi], 0
je 0x51101f
cmp dword [ebp - 0x1c], 0
je 0x51100d
push 0x56e703
lea edx, [ebx + 0x1c08]
push edx
call fcn.0054e548
add esp, 8
test eax, eax
je 0x510f4e
push 1
push 0
push esi
lea ecx, [ebx + 0x1c08]
push ecx
call fcn.0051f0b8
test eax, eax
jne 0x510f74
lea eax, [ebx + 0x1c08]
push eax
call fcn.0054e28c
pop ecx
push eax
push esi
lea edx, [ebx + 0x1c08]
push edx
call fcn.0054e4e8
add esp, 0xc
test eax, eax
jne 0x51101f
mov ecx, dword [ebp - 0xc]
mov dword [ebx + 0x1c6c], ecx
push esi
call fcn.0054e28c
pop ecx
add eax, dword [ebp - 4]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
cmp byte [eax + 0x57a361], 0
je 0x510fac
mov edx, 0x57a361
add edx, dword [ebp - 8]
push edx
push 0x579f7a
call fcn.0054e1b0
add esp, 8
push esi
push 0x57a361
call fcn.0054e1b0
add esp, 8
push 0
push 0
push 0xb
push dword [ebp - 0x24]
call sub.USER32.dll_SendMessageA
push 0x57a361
push 0
push 0xc
push dword [ebp - 0x24]
call sub.USER32.dll_SendMessageA
push 0
push 1
push 0xb
push dword [ebp - 0x24]
call sub.USER32.dll_SendMessageA
push dword [ebp - 4]
push dword [ebp - 4]
push 1
push dword [ebp - 0x24]
call fcn.00478480
push 1
push 0
push dword [ebp - 0x24]
call sub.USER32.dll_InvalidateRect
push dword [ebp - 0x24]
call sub.USER32.dll_UpdateWindow
jmp 0x51104c
mov ecx, dword [ebx + 0x1c6c]
cmp ecx, dword [ebp - 0xc]
jne 0x51101f
mov dword [ebp - 0x1c], 1
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x18]
jl 0x510eb6
mov dword [ebx + 0x1c6c], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x510e63
push 0
call fcn.0042c6cc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4