Function at 0x417819
Capabilities:
Get graphical window text

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x2a0
mov eax, dword [0x4233cc]
and dword [ebp - 0x210], 0
and dword [ebp - 0x220], 0
test byte [0x423600], 0x24
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2a0], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp + 0x24]
push ebx
mov ebx, dword [ebp + 0x18]
mov dword [ebp - 0x218], eax
mov eax, dword [ebp + 0x2c]
push esi
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x29c], eax
je 0x417885
test byte [ebp + 0x21], 1
jne 0x417885
push 0x5b3
jmp 0x417893
test byte [ebp + 0x21], 0x20
je 0x4178a1
test byte [ebp + 0x23], 0x80
je 0x4178a1
push 0x57
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
inc eax
jmp 0x417e81
push edi
push 0x1e
pop ecx
xor eax, eax
lea edi, [ebp - 0x298]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x258]
push eax
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x264]
push eax
push 0
call fcn.00415386
test eax, eax
mov dword [ebp - 0x20c], eax
je 0x4178e4
mov dword [ebp - 0x208], 4
jmp 0x417e6e
xor edi, edi
cmp esi, edi
je 0x4178ed
push esi
jmp 0x417904
cmp dword [ebp - 0x260], edi
je 0x4178ff
mov eax, dword [ebp - 0x264]
push dword [eax]
jmp 0x417904
push 0x402098
call fcn.0041a3e9
cmp eax, edi
mov dword [ebp - 0x27c], eax
jne 0x41792c
mov dword [ebp - 0x208], 4
mov dword [ebp - 0x20c], 8
jmp 0x417e5c
lea eax, [ebp - 0x268]
push eax
lea eax, [ebp - 0x26c]
push eax
push dword [ebp - 0x27c]
call fcn.004156c7
mov eax, dword [ebp - 0x214]
cmp eax, edi
je 0x4179b2
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x21c]
cmp eax, edi
je 0x4179dc
mov dword [ebp - 0x288], eax
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x2a0]
push edi
mov dword [ebp - 0x284], eax
call dword [sym.imp.USER32.dll_IsWindow]
neg eax
sbb eax, eax
and eax, edi
xor esi, esi
cmp ebx, esi
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x278], ebx
jne 0x417a56
mov dword [ebp - 0x208], 1
mov dword [ebp - 0x20c], 0x57
xor ebx, ebx
jmp 0x417e2a
push 2
call fcn.00418faf
cmp eax, edi
mov dword [ebp - 0x280], eax
jne 0x417955
mov dword [ebp - 0x208], 4
mov dword [ebp - 0x20c], 8
jmp 0x417e51
cmp dword [ebp - 0x28c], edi
je 0x417a28
push dword [ebp - 0x28c]
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
cmp eax, edi
mov dword [ebp - 0x208], eax
je 0x417a28
push 0x100
lea eax, [ebp - 0x204]
push eax
push dword [ebp - 0x28c]
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
je 0x417a28
lea eax, [ebp - 0x204]
push eax
push 0x65
call fcn.0041907f
pop ecx
pop ecx
jmp 0x417a2f
push 0x64
call fcn.00418faf
cmp eax, edi
mov dword [ebp - 0x288], eax
jne 0x417965
mov dword [ebp - 0x208], 4
mov dword [ebp - 0x20c], 8
jmp 0x417e3d
mov eax, dword [ebp + 0x20]
or eax, 4
cmp dword [ebp - 0x258], esi
mov dword [ebp - 0x28c], edi
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x290], esi
mov dword [ebp - 0x25c], esi
mov dword [ebp - 0x298], esi
mov dword [ebp - 0x274], esi
je 0x417a91
or eax, 1
mov dword [ebp - 0x270], eax
mov eax, dword [0x4235e8]
cmp eax, esi
je 0x417ab4
push 0x4032e4
push esi
push 1
push esi
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [ebp - 0x210], eax
mov eax, dword [0x4235e8]
test byte [ebp + 0x21], 1
je 0x417ae3
push esi
lea eax, [ebp - 0x298]
push eax
call fcn.00416931
test eax, eax
je 0x417ade
mov dword [ebp - 0x208], esi
mov dword [ebp - 0x20c], esi
xor ebx, ebx
jmp 0x417dd2
mov eax, dword [0x4235e8]
test byte [0x423600], 0x24
je 0x417b07
mov dword [ebp - 0x208], 1
mov dword [ebp - 0x20c], 0x5b3
xor ebx, ebx
jmp 0x417e16
cmp dword [ebp - 0x214], esi
je 0x417ccd
test byte [ebp + 0x21], 0x10
jne 0x417ccd
cmp dword [ebp - 0x26c], 2
je 0x417b33
cmp dword [ebp - 0x26c], 5
jne 0x417ccd
cmp dword [ebp - 0x26c], 5
jne 0x417b4a
neg eax
sbb eax, eax
and eax, 3
add eax, 0xea6e
jmp 0x417b56
neg eax
sbb eax, eax
and eax, 3
add eax, 0xea6f
mov esi, eax
mov eax, dword [ebp - 0x27c]
movzx eax, word [eax]
push eax
call dword [sym.imp.USER32.dll_CharUpperW]
movzx eax, ax
push eax
push dword [ebp - 0x214]
push esi
call fcn.004192a1
mov esi, eax
xor ebx, ebx
add esp, 0xc
cmp esi, ebx
je 0x417d75
push 0x100
lea eax, [ebp - 0x204]
push eax
push 0x6d
push dword [0x424d5c]
call dword [sym.imp.USER32.dll_LoadStringW]
test byte [ebp + 0x21], 2
jne 0x417baf
push 0x40
call dword [sym.imp.USER32.dll_MessageBeep]
mov eax, dword [0x424d5c]
mov dword [ebp - 0x240], eax
lea eax, [ebp - 0x204]
mov dword [ebp - 0x238], eax
xor eax, eax
cmp dword [ebp - 0x26c], 5
mov dword [ebp - 0x248], 0x28
sete al
mov dword [ebp - 0x244], edi
mov dword [ebp - 0x23c], esi
mov dword [ebp - 0x234], 0x81
mov dword [ebp - 0x228], ebx
mov dword [ebp - 0x224], ebx
add eax, 0x32
cmp dword [ebp - 0x210], ebx
mov dword [ebp - 0x230], eax
je 0x417c1b
push dword [ebp - 0x210]
call dword [sym.imp.KERNEL32.dll_SetEvent]
lea eax, [ebp - 0x298]
push eax
push 0x415faf
push edi
push 0x15e
push dword [0x424d5c]
call fcn.0040d0c9
dec eax
je 0x417c83
dec eax
jne 0x417c69
test byte [ebp + 0x21], 8
mov dword [ebp - 0x20c], 0x4c7
mov dword [ebp - 0x208], 1
je 0x417cac
push ebx
push edi
call fcn.00415ef6
test eax, eax
je 0x417baf
jmp 0x417cac
dec eax
dec eax
jne 0x417cac
mov dword [ebp - 0x208], 4
mov dword [ebp - 0x20c], 8
jmp 0x417cac
push ebx
lea eax, [ebp - 0x298]
push eax
call fcn.00416931
test eax, eax
je 0x417ca2
mov dword [ebp - 0x208], ebx
mov dword [ebp - 0x20c], ebx
jmp 0x417cac
mov dword [ebp - 0x208], 2
cmp dword [ebp - 0x210], ebx
je 0x417cc0
push dword [ebp - 0x210]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
push esi
call fcn.0041a398
mov eax, dword [0x4235e8]
jmp 0x417cd9
mov dword [ebp - 0x208], 2
xor ebx, ebx
cmp dword [ebp - 0x208], 2
jne 0x417db6
mov esi, dword [ebp - 0x210]
cmp esi, ebx
je 0x417cfc
push esi
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, dword [0x4235e8]
cmp eax, ebx
mov dword [ebp - 0x24c], ebx
jne 0x417d21
push ebx
call dword [sym.imp.ole32.dll_OleInitialize]
cmp eax, ebx
mov dword [ebp - 0x20c], eax
jl 0x417d21
mov dword [ebp - 0x24c], 1
lea eax, [ebp - 0x298]
push eax
push 0x417433
push edi
push 0x64
push dword [0x424d5c]
call fcn.0040d0c9
cmp dword [0x4235e8], ebx
mov dword [ebp - 0x208], eax
jne 0x417d57
cmp dword [ebp - 0x20c], ebx
jne 0x417d57
call dword [sym.imp.ole32.dll_OleUninitialize]
cmp esi, ebx
je 0x417d62
push esi
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov eax, dword [ebp - 0x208]
sub eax, ebx
je 0x417da6
dec eax
je 0x417d9a
dec eax
je 0x417db0
dec eax
je 0x417d8e
mov dword [ebp - 0x208], 4
mov dword [ebp - 0x20c], 8
jmp 0x417e16
mov dword [ebp - 0x20c], 0x7a
jmp 0x417e16
mov dword [ebp - 0x20c], 0x4c7
jmp 0x417db6
mov dword [ebp - 0x220], 1
mov dword [ebp - 0x20c], ebx
cmp dword [ebp - 0x208], ebx
jne 0x417e16
cmp dword [ebp - 0x220], ebx
je 0x417dd2
lea eax, [ebp - 0x298]
push eax
call fcn.00416170
push dword [ebp - 0x27c]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [ebp - 0x29c]
inc eax
cmp ecx, ebx
je 0x417deb
mov dword [ecx], eax
cmp dword [ebp - 0x218], ebx
je 0x417e16
cmp eax, dword [ebp + 0x28]
jbe 0x417e04
mov dword [ebp - 0x208], 3
jmp 0x417e16
push dword [ebp - 0x27c]
push dword [ebp - 0x218]
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
cmp dword [ebp - 0x210], ebx
je 0x417e2a
push dword [ebp - 0x210]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x21c], ebx
jne 0x417e3d
push dword [ebp - 0x288]
call fcn.0041a398
cmp dword [ebp - 0x214], 0
jne 0x417e51
push dword [ebp - 0x280]
call fcn.0041a398
push dword [ebp - 0x27c]
call fcn.0041a398
push dword [ebp - 0x260]
lea eax, [ebp - 0x264]
push eax
call fcn.00414ca7
push dword [ebp - 0x20c]
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp - 0x208]
pop edi
mov ecx, dword [ebp - 4]
pop esi
pop ebx
call fcn.00419835
leave
ret 0x28