Function at 0x4177e9
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 0x417855
test byte [ebp + 0x21], 1
jne 0x417855
push 0x5b3
jmp 0x417863
test byte [ebp + 0x21], 0x20
je 0x417871
test byte [ebp + 0x23], 0x80
je 0x417871
push 0x57
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
inc eax
jmp 0x417e51
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.00415356
test eax, eax
mov dword [ebp - 0x20c], eax
je 0x4178b4
mov dword [ebp - 0x208], 4
jmp 0x417e3e
xor edi, edi
cmp esi, edi
je 0x4178bd
push esi
jmp 0x4178d4
cmp dword [ebp - 0x260], edi
je 0x4178cf
mov eax, dword [ebp - 0x264]
push dword [eax]
jmp 0x4178d4
push 0x402098
call fcn.0041a138
cmp eax, edi
mov dword [ebp - 0x27c], eax
jne 0x4178fc
mov dword [ebp - 0x208], 4
mov dword [ebp - 0x20c], 8
jmp 0x417e2c
lea eax, [ebp - 0x268]
push eax
lea eax, [ebp - 0x26c]
push eax
push dword [ebp - 0x27c]
call fcn.00415697
mov eax, dword [ebp - 0x214]
cmp eax, edi
je 0x417982
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x21c]
cmp eax, edi
je 0x4179ac
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 0x417a26
mov dword [ebp - 0x208], 1
mov dword [ebp - 0x20c], 0x57
xor ebx, ebx
jmp 0x417dfa
push 2
call fcn.00418f7f
cmp eax, edi
mov dword [ebp - 0x280], eax
jne 0x417925
mov dword [ebp - 0x208], 4
mov dword [ebp - 0x20c], 8
jmp 0x417e21
cmp dword [ebp - 0x28c], edi
je 0x4179f8
push dword [ebp - 0x28c]
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
cmp eax, edi
mov dword [ebp - 0x208], eax
je 0x4179f8
push 0x100
lea eax, [ebp - 0x204]
push eax
push dword [ebp - 0x28c]
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
je 0x4179f8
lea eax, [ebp - 0x204]
push eax
push 0x65
call fcn.0041904f
pop ecx
pop ecx
jmp 0x4179ff
push 0x64
call fcn.00418f7f
cmp eax, edi
mov dword [ebp - 0x288], eax
jne 0x417935
mov dword [ebp - 0x208], 4
mov dword [ebp - 0x20c], 8
jmp 0x417e0d
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 0x417a61
or eax, 1
mov dword [ebp - 0x270], eax
mov eax, dword [0x4235e8]
cmp eax, esi
je 0x417a84
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 0x417ab3
push esi
lea eax, [ebp - 0x298]
push eax
call fcn.00416901
test eax, eax
je 0x417aae
mov dword [ebp - 0x208], esi
mov dword [ebp - 0x20c], esi
xor ebx, ebx
jmp 0x417da2
mov eax, dword [0x4235e8]
test byte [0x423600], 0x24
je 0x417ad7
mov dword [ebp - 0x208], 1
mov dword [ebp - 0x20c], 0x5b3
xor ebx, ebx
jmp 0x417de6
cmp dword [ebp - 0x214], esi
je 0x417c9d
test byte [ebp + 0x21], 0x10
jne 0x417c9d
cmp dword [ebp - 0x26c], 2
je 0x417b03
cmp dword [ebp - 0x26c], 5
jne 0x417c9d
cmp dword [ebp - 0x26c], 5
jne 0x417b1a
neg eax
sbb eax, eax
and eax, 3
add eax, 0xea6e
jmp 0x417b26
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.00419271
mov esi, eax
xor ebx, ebx
add esp, 0xc
cmp esi, ebx
je 0x417d45
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 0x417b7f
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 0x417beb
push dword [ebp - 0x210]
call dword [sym.imp.KERNEL32.dll_SetEvent]
lea eax, [ebp - 0x298]
push eax
push 0x415f7f
push edi
push 0x15e
push dword [0x424d5c]
call fcn.0040d099
dec eax
je 0x417c53
dec eax
jne 0x417c39
test byte [ebp + 0x21], 8
mov dword [ebp - 0x20c], 0x4c7
mov dword [ebp - 0x208], 1
je 0x417c7c
push ebx
push edi
call fcn.00415ec6
test eax, eax
je 0x417b7f
jmp 0x417c7c
dec eax
dec eax
jne 0x417c7c
mov dword [ebp - 0x208], 4
mov dword [ebp - 0x20c], 8
jmp 0x417c7c
push ebx
lea eax, [ebp - 0x298]
push eax
call fcn.00416901
test eax, eax
je 0x417c72
mov dword [ebp - 0x208], ebx
mov dword [ebp - 0x20c], ebx
jmp 0x417c7c
mov dword [ebp - 0x208], 2
cmp dword [ebp - 0x210], ebx
je 0x417c90
push dword [ebp - 0x210]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
push esi
call fcn.0041a0e7
mov eax, dword [0x4235e8]
jmp 0x417ca9
mov dword [ebp - 0x208], 2
xor ebx, ebx
cmp dword [ebp - 0x208], 2
jne 0x417d86
mov esi, dword [ebp - 0x210]
cmp esi, ebx
je 0x417ccc
push esi
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, dword [0x4235e8]
cmp eax, ebx
mov dword [ebp - 0x24c], ebx
jne 0x417cf1
push ebx
call dword [sym.imp.ole32.dll_OleInitialize]
cmp eax, ebx
mov dword [ebp - 0x20c], eax
jl 0x417cf1
mov dword [ebp - 0x24c], 1
lea eax, [ebp - 0x298]
push eax
push 0x417403
push edi
push 0x64
push dword [0x424d5c]
call fcn.0040d099
cmp dword [0x4235e8], ebx
mov dword [ebp - 0x208], eax
jne 0x417d27
cmp dword [ebp - 0x20c], ebx
jne 0x417d27
call dword [sym.imp.ole32.dll_OleUninitialize]
cmp esi, ebx
je 0x417d32
push esi
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov eax, dword [ebp - 0x208]
sub eax, ebx
je 0x417d76
dec eax
je 0x417d6a
dec eax
je 0x417d80
dec eax
je 0x417d5e
mov dword [ebp - 0x208], 4
mov dword [ebp - 0x20c], 8
jmp 0x417de6
mov dword [ebp - 0x20c], 0x7a
jmp 0x417de6
mov dword [ebp - 0x20c], 0x4c7
jmp 0x417d86
mov dword [ebp - 0x220], 1
mov dword [ebp - 0x20c], ebx
cmp dword [ebp - 0x208], ebx
jne 0x417de6
cmp dword [ebp - 0x220], ebx
je 0x417da2
lea eax, [ebp - 0x298]
push eax
call fcn.00416140
push dword [ebp - 0x27c]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [ebp - 0x29c]
inc eax
cmp ecx, ebx
je 0x417dbb
mov dword [ecx], eax
cmp dword [ebp - 0x218], ebx
je 0x417de6
cmp eax, dword [ebp + 0x28]
jbe 0x417dd4
mov dword [ebp - 0x208], 3
jmp 0x417de6
push dword [ebp - 0x27c]
push dword [ebp - 0x218]
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
cmp dword [ebp - 0x210], ebx
je 0x417dfa
push dword [ebp - 0x210]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x21c], ebx
jne 0x417e0d
push dword [ebp - 0x288]
call fcn.0041a0e7
cmp dword [ebp - 0x214], 0
jne 0x417e21
push dword [ebp - 0x280]
call fcn.0041a0e7
push dword [ebp - 0x27c]
call fcn.0041a0e7
push dword [ebp - 0x260]
lea eax, [ebp - 0x264]
push eax
call fcn.00414c77
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.00419805
leave
ret 0x28