Function at 0x46d51e
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3b0
mov eax, dword [0x5836e0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0xa09
push dword [0x5a2c8c]
mov ebx, ecx
mov dword [ebp - 0x32c], ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
xor edi, edi
mov esi, eax
push edi
push esi
call fcn.004211b8
mov dword [ebp - 0x318], eax
pop ecx
pop ecx
test eax, eax
je 0x46df5e
cmp word [eax], di
je 0x46df57
mov eax, dword [0x5a2c8c]
lea edi, [ebp - 0x2f4]
push 8
pop ecx
mov dword [ebp - 0x2fc], eax
xor eax, eax
mov dword [ebp - 0x2f8], esi
xor esi, esi
mov dword [ebp - 0x304], 0x2c
mov dword [ebp - 0x300], 1
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x304]
push eax
push esi
push 0x433
push dword [ebx + 0x12ea4]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
call ebx
or dword [ebp - 0x30c], 0xffffffff
lea eax, [ebp - 0x2a4]
push 0x1fe
push esi
mov edi, esi
mov dword [ebp - 0x310], esi
push eax
mov dword [ebp - 0x314], edi
call fcn.004f5a90
add esp, 0xc
push 0x7f02
push esi
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov edx, esi
xor ecx, ecx
mov esi, dword [ebp - 0x32c]
mov eax, dword [esi + 0x12ef8]
cmp dword [eax], ecx
jmp 0x46d63a
mov eax, dword [ecx + eax + 0x20]
test eax, eax
je 0x46d62a
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x46d647
mov edx, dword [ebp - 0x320]
mov eax, dword [esi + 0x12ef8]
inc edx
imul ecx, edx, 0xa8
cmp dword [ecx + eax], edi
mov dword [ebp - 0x320], edx
jne 0x46d611
jmp 0x46df22
imul ecx, dword [ebp - 0x320], 0xa8
mov edx, esi
mov eax, dword [edx + 0x12ef8]
mov eax, dword [ecx + eax + 0x20]
mov dword [ebp - 0x334], eax
test eax, eax
je 0x46df22
cmp dword [0x5a2c90], eax
je 0x46d680
xor eax, eax
mov dword [0x5a2c94], eax
mov word [0x5a2c98], ax
xor eax, eax
or esi, 0xffffffff
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x320]
mov dword [ebp - 0x308], esi
cmp dword [ebp - 0x324], 0
lea edi, [eax + 1]
mov ecx, eax
mov dword [ebp - 0x328], edi
mov edi, dword [ebp - 0x314]
mov dword [ebp - 0x31c], ecx
je 0x46d6d7
xor esi, esi
mov dword [0x5a2c94], esi
or esi, 0xffffffff
xor edi, edi
mov dword [ebp - 0x308], esi
mov word [0x5a2c98], di
mov edi, dword [ebp - 0x314]
cmp dword [ebp - 0x324], 1
jne 0x46d6ef
lea ecx, [eax + 1]
mov dword [ebp - 0x328], 0x23
jmp 0x46d700
cmp dword [ebp - 0x324], 2
jne 0x46d706
xor ecx, ecx
mov dword [ebp - 0x328], eax
mov dword [ebp - 0x31c], ecx
cmp ecx, dword [ebp - 0x328]
jae 0x46db92
imul eax, ecx, 0xa8
mov dword [ebp - 0x330], eax
mov ecx, dword [edx + 0x12ef8]
add eax, ecx
cmp dword [eax], 0
je 0x46db84
cmp dword [eax + 0x20], 0
jne 0x46d75c
push dword [edx + 0x11fa4]
push dword [edx + 0x120fc]
push dword [0x5a2c8c]
push eax
call fcn.004ac611
mov ecx, dword [ebp - 0x32c]
add esp, 0x10
mov ecx, dword [ecx + 0x12ef8]
mov eax, dword [ebp - 0x31c]
mov dword [ebp - 0x338], eax
mov eax, dword [ebp - 0x330]
mov eax, dword [ecx + eax + 0x20]
mov dword [ebp - 0x310], eax
test eax, eax
je 0x46db4f
cmp eax, dword [0x5a2c90]
jne 0x46d818
mov eax, dword [0x5a2c94]
test eax, eax
je 0x46d8bc
push 0x50
lea ecx, [ebp - 0xa4]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetClassNameW]
test eax, eax
je 0x46d8bc
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
lea eax, [ebp - 0xa4]
push 0x54f1a4
push eax
call esi
test eax, eax
jne 0x46d85c
push eax
push eax
push 0x18b
push dword [0x5a2c94]
call ebx
mov esi, eax
xor eax, eax
push eax
push eax
push 0x188
push dword [0x5a2c94]
call ebx
mov dword [ebp - 0x308], eax
test esi, esi
jle 0x46d80c
lea ecx, [eax + 1]
cmp ecx, esi
jge 0x46d80c
mov edi, dword [0x5a2c94]
mov dword [ebp - 0x314], edi
mov esi, dword [ebp - 0x308]
mov eax, dword [ebp - 0x310]
xor ecx, ecx
test edi, edi
jne 0x46d835
push ecx
push ecx
push dword [0x5a2c94]
push eax
call dword [sym.imp.USER32.dll_FindWindowExW]
mov edi, eax
mov dword [ebp - 0x314], edi
cmp edi, dword [0x5a2c94]
jne 0x46d8e0
push 0x5a2c98
push 0xff
lea eax, [ebp - 0x2a4]
push eax
call fcn.00401a0b
jmp 0x46d8e9
push str.SysListView32
lea eax, [ebp - 0xa4]
push eax
call esi
test eax, eax
jne 0x46d8a6
push eax
push eax
push 0x1004
push dword [0x5a2c94]
call ebx
push 2
push 0xffffffffffffffff
push 0x100c
push dword [0x5a2c94]
mov esi, eax
call ebx
mov dword [ebp - 0x308], eax
test esi, esi
jle 0x46d80c
inc eax
cmp eax, esi
jmp 0x46d7fe
or esi, 0xffffffff
xor eax, eax
mov dword [ebp - 0x308], esi
mov word [0x5a2c98], ax
jmp 0x46d812
xor ecx, ecx
or esi, 0xffffffff
xor eax, eax
mov dword [0x5a2c94], ecx
mov word [0x5a2c98], ax
mov eax, dword [ebp - 0x310]
mov dword [ebp - 0x308], esi
jmp 0x46d81a
or esi, 0xffffffff
mov dword [ebp - 0x308], esi
test edi, edi
je 0x46db4f
push 0xfffffffffffffff0
push edi
call dword [sym.imp.USER32.dll_GetWindowLongW]
test eax, 0x10000000
je 0x46dca0
push 0x50
lea eax, [ebp - 0xa4]
push eax
push edi
call dword [sym.imp.USER32.dll_GetClassNameW]
test eax, eax
je 0x46dca0
push 0x54f1a4
lea eax, [ebp - 0xa4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x46da1b
push dword [ebp - 0x318]
push esi
push 0x18f
push edi
call ebx
mov esi, eax
mov dword [ebp - 0x30c], esi
test esi, esi
jns 0x46d9c3
xor eax, eax
push eax
push eax
push 0x18b
push edi
call ebx
mov esi, dword [ebp - 0x308]
mov ebx, eax
jmp 0x46d9aa
xor eax, eax
push eax
push esi
push 0x18a
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 0xff
jge 0x46d9aa
lea eax, [ebp - 0x2a4]
push eax
push esi
push 0x189
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
push dword [ebp - 0x318]
lea eax, [ebp - 0x2a4]
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
test eax, eax
jne 0x46da13
inc esi
cmp esi, ebx
jl 0x46d968
mov esi, dword [ebp - 0x30c]
test esi, esi
js 0x46dca0
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, dword [ebp - 0x308]
jle 0x46dca0
xor eax, eax
mov dword [ebp - 0x308], esi
push eax
push esi
push 0x186
push edi
call ebx
xor eax, eax
push eax
push esi
push 0x18a
push edi
call ebx
mov ecx, 0xff
cmp eax, ecx
lea eax, [ebp - 0x2a4]
jl 0x46dcd2
push ecx
push dword [ebp - 0x318]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
jmp 0x46db41
mov dword [ebp - 0x30c], esi
jmp 0x46d9b5
push str.SysListView32
lea eax, [ebp - 0xa4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x46dbba
push 0x38
push eax
lea eax, [ebp - 0x370]
mov dword [ebp - 0x374], 0xd
push eax
call fcn.004f5a90
add esp, 0xc
lea eax, [ebp - 0x2a4]
mov dword [ebp - 0x360], eax
xor eax, eax
push eax
push eax
push 0x1004
push edi
call ebx
mov ebx, eax
or eax, 0xffffffff
inc esi
mov dword [ebp - 0x30c], eax
cmp esi, ebx
jge 0x46dca0
cmp eax, 0xffffffff
jne 0x46dae4
xor eax, eax
mov dword [ebp - 0x36c], eax
lea eax, [ebp - 0x374]
mov dword [ebp - 0x35c], 0xff
push eax
push esi
push 0x1073
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
jle 0x46dac7
push dword [ebp - 0x318]
lea eax, [ebp - 0x2a4]
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
test eax, eax
jne 0x46dbad
mov eax, dword [ebp - 0x36c]
inc eax
mov dword [ebp - 0x36c], eax
cmp eax, 0x20
jle 0x46da8a
mov eax, dword [ebp - 0x30c]
inc esi
cmp esi, ebx
jl 0x46da7d
mov esi, dword [ebp - 0x30c]
test esi, esi
js 0x46dca0
cmp esi, dword [ebp - 0x308]
jle 0x46dca0
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push 2
pop eax
mov dword [ebp - 0x3a0], eax
mov dword [ebp - 0x3a4], eax
lea eax, [ebp - 0x3b0]
push eax
push esi
push 0x102b
push edi
mov dword [ebp - 0x308], esi
call ebx
push esi
xor eax, eax
push eax
push 0x1043
push edi
call ebx
xor eax, eax
push eax
push esi
push 0x1013
push edi
call ebx
test edi, edi
jne 0x46dcde
mov esi, dword [ebp - 0x308]
mov eax, dword [ebp - 0x31c]
add dword [ebp - 0x330], 0xa8
inc eax
cmp eax, dword [ebp - 0x328]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [ebp - 0x32c]
mov dword [ebp - 0x31c], eax
mov eax, dword [ebp - 0x330]
jb 0x46d71e
test edi, edi
jne 0x46dcde
mov eax, dword [ebp - 0x320]
mov ecx, dword [ebp - 0x324]
inc ecx
mov dword [ebp - 0x324], ecx
cmp ecx, 2
jbe 0x46d697
jmp 0x46df22
mov eax, esi
mov dword [ebp - 0x30c], eax
jmp 0x46dadf
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
lea eax, [ebp - 0xa4]
push 0x52ecc0
push eax
call ebx
test eax, eax
je 0x46dbe4
push 0x5330bc
lea eax, [ebp - 0xa4]
push eax
call ebx
test eax, eax
jne 0x46dc52
push 0xff
lea eax, [ebp - 0x2a4]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
je 0x46dc52
cmp word [ebp - 0x2a4], 0
je 0x46dc52
lea eax, [ebp - 0x2a4]
push 0x26
push eax
call fcn.004f5617
mov edx, eax
pop ecx
pop ecx
test edx, edx
je 0x46dc85
xor ebx, ebx
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x46dc22
sub ecx, esi
lea esi, [edx + 2]
sar ecx, 1
lea eax, [ecx + ecx]
push eax
push esi
push edx
call fcn.004f5d30
push 0x26
push esi
call fcn.004f5617
mov edx, eax
add esp, 0x14
test edx, edx
jne 0x46dc1d
jmp 0x46dc85
push 0x530f64
lea eax, [ebp - 0xa4]
push eax
call ebx
test eax, eax
jne 0x46dca0
push 0xff
lea eax, [ebp - 0x2a4]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
je 0x46dca0
cmp word [ebp - 0x2a4], 0
je 0x46dca0
push dword [ebp - 0x318]
lea eax, [ebp - 0x2a4]
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
test eax, eax
jne 0x46db41
xor eax, eax
push eax
push eax
push edi
push dword [ebp - 0x310]
call dword [sym.imp.USER32.dll_FindWindowExW]
mov esi, dword [ebp - 0x308]
mov edi, eax
mov dword [ebp - 0x314], edi
test edi, edi
je 0x46db4f
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x46d8f1
push eax
push esi
push 0x189
jmp 0x46db3e
mov ebx, dword [ebp - 0x310]
cmp dword [ebp - 0x334], ebx
je 0x46dd21
mov eax, dword [0x5a23f0]
imul ecx, dword [ebp - 0x338], 0xa8
push 1
mov eax, dword [eax + 0x12ef8]
push dword [eax + ecx + 0x1c]
push 0x801
push dword [0x5a2c8c]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call fcn.0046df6d
add esp, 0xc
push 0xfffffffffffffff4
push edi
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x46dd5c
push 0x5330bc
lea eax, [ebp - 0xa4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x46dd5c
push 0xfffffffffffffff4
push eax
push eax
push edi
push ebx
call dword [sym.imp.USER32.dll_FindWindowExW]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov esi, eax
xor eax, eax
mov ebx, 0x5a2e98
mov word [0x5a2e98], ax
cmp esi, 0xffffffff
je 0x46dd95
push 0x7d0
push ebx
push esi
call fcn.00450d7e
add esp, 0xc
test al, al
jne 0x46dd8b
xor eax, eax
mov word [0x5a2e98], ax
jmp 0x46dd95
cmp word [0x5a2e98], 0
jne 0x46dda7
lea eax, [ebp - 0x2a4]
push eax
push 0x7d0
push ebx
call fcn.00401a0b
lea eax, [ebp - 0x2a4]
push eax
push 0xff
push 0x5a2c98
call fcn.00401a0b
mov eax, dword [0x5a23f0]
mov ebx, dword [eax + 0x12ea8]
lea esi, [eax + 0x12eac]
mov dword [esi + 0x24], 0x5a2e98
mov eax, dword [0x5a23f0]
mov dword [ebp - 0x334], esi
mov eax, dword [eax + 0x12ea4]
test eax, eax
je 0x46ddfa
xor ecx, ecx
push ecx
push ecx
push 0x401
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push esi
xor eax, eax
push eax
push 0x439
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [ebp - 0x2c4]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x2c4]
mov esi, dword [ebp - 0x2c0]
add eax, 0xa
mov dword [ebp - 0x338], eax
add esi, 0xa
push 0x54f1a4
lea eax, [ebp - 0xa4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x46de81
mov ecx, dword [ebp - 0x30c]
test ecx, ecx
js 0x46de81
lea edi, [ebp - 0x2d4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x2d4]
mov edi, dword [ebp - 0x314]
push eax
push ecx
push 0x198
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 0xffffffff
je 0x46ded9
add esi, dword [ebp - 0x2d0]
jmp 0x46ded9
push str.SysListView32
lea eax, [ebp - 0xa4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x46ded9
mov ecx, dword [ebp - 0x30c]
test ecx, ecx
js 0x46ded9
lea edi, [ebp - 0x2b4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x2b4]
mov edi, dword [ebp - 0x314]
push eax
push ecx
push 0x100e
push edi
mov dword [ebp - 0x2b4], 2
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x46ded9
add esi, dword [ebp - 0x2b0]
mov eax, dword [ebp - 0x338]
movzx ecx, si
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
movzx eax, ax
shl ecx, 0x10
or ecx, eax
xor eax, eax
push ecx
push eax
push 0x412
push ebx
call esi
push dword [ebp - 0x334]
push 1
push 0x411
push ebx
call esi
xor eax, eax
push eax
push 0xbb8
push 0x65
push dword [ebp - 0x310]
call dword [sym.imp.USER32.dll_SetTimer]
mov eax, dword [ebp - 0x310]
push dword [ebp - 0x318]
mov dword [0x5a2c90], eax
mov dword [0x5a2c94], edi
call fcn.004e1bea
xor eax, eax
mov dword [esp], 0x7f00
push eax
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x46df5e
push eax
call fcn.004e1bea
pop ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004f4166
leave
ret