Function at 0x1001a011
Capabilities:
Enumerate gui resources
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x78
cmp byte [ebp + 8], 0
push ebx
push esi
push edi
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], ecx
je 0x1001a281
push 2
lea ecx, [ebp - 0x38]
call fcn.10017f97
xor ebx, ebx
mov dword [ebp - 0x18], 0x2bbd4aa4
mov dword [ebp + 8], ebx
jmp 0x1001a052
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x38]
mov dword [eax + ecx*4], 0x9f9b
inc dword [ebp + 8]
cmp dword [ebp + 8], 2
jl 0x1001a042
xor esi, esi
mov dword [ebp + 8], ebx
inc esi
jmp 0x1001a06e
mov eax, dword [ebp + 8]
mov dword [ebp + eax*4 - 4], 0x5c8094a
inc dword [ebp + 8]
cmp dword [ebp + 8], esi
jl 0x1001a060
mov dword [ebp - 4], ebx
jmp 0x1001a0fd
mov dword [ebp + 8], 0xfd94fe5f
mov dword [ebp + 8], esi
cmp dword [ebp + 8], ebx
jl 0x1001a0fa
mov dword [ebp - 0x18], 0xafbd13d8
mov dword [ebp - 0x18], 0xfffffff9
mov eax, dword [ebp + 8]
neg eax
sbb eax, eax
inc eax
imul eax, dword [ebp + 8]
cmp eax, 0xbb00868b
je 0x1001a0c5
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x38]
cmp dword [eax + ecx*4], 0xae28de63
sbb eax, eax
neg eax
neg eax
cmp eax, dword [ebp + 8]
mov eax, ebx
jge 0x1001a0c7
mov eax, esi
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
je 0x1001a0d6
mov edx, esi
cmp dword [ebp + 8], ebx
jne 0x1001a0d8
mov edx, ebx
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x38]
cmp dword [eax + ecx*4], edx
jle 0x1001a0ea
mov eax, esi
cmp dword [ebp - 4], ebx
jne 0x1001a0ec
mov eax, ebx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
dec dword [ebp + 8]
jns 0x1001a08a
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jle 0x1001a07b
lea ecx, [ebp - 0x38]
call fcn.10018895
mov esi, dword [sym.imp.KERNEL32.dll_EnumResourceTypesW]
push 4
mov dword [ebp - 0x14], 0x69fdf99f
mov dword [ebp - 0x14], 0xfffffff4
pop edi
jmp 0x1001a1ae
mov dword [ebp - 0x18], 0x6bacd795
lea ecx, [ebp - 0x44]
push edi
call fcn.10017f97
mov dword [ebp + 8], ebx
jmp 0x1001a14f
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x44]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x1001a13f
mov byte [ebp + 0xb], bl
cmp byte [ebp + 0xb], bl
je 0x1001a161
push ebx
push ebx
push ebx
call esi
mov dword [ebp - 0x18], ebx
jmp 0x1001a19d
mov dword [ebp + 8], 0xffffffff
mov dword [ebp + 8], ebx
jmp 0x1001a182
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x44]
mov dword [eax + ecx*4], 0x6ec79cf1
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x1001a172
mov byte [ebp + 0xb], bl
cmp byte [ebp + 0xb], bl
je 0x1001a19a
push 0x2600
call dword [sym.imp.USER32.dll_GetQueueStatus]
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffffc
jl 0x1001a166
lea ecx, [ebp - 0x44]
call fcn.10018895
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffea
jg 0x1001a12a
mov dword [ebp - 0x14], 0x69fdf99f
mov dword [ebp - 0x14], 0xfffffff4
jmp 0x1001a24f
mov dword [ebp - 0x18], 0x6bacd795
lea ecx, [ebp - 0x50]
push edi
call fcn.10017f97
mov dword [ebp + 8], ebx
jmp 0x1001a1f0
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x50]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x1001a1e0
mov byte [ebp + 0xb], bl
cmp byte [ebp + 0xb], bl
je 0x1001a202
push ebx
push ebx
push ebx
call esi
mov dword [ebp - 0x18], ebx
jmp 0x1001a23e
mov dword [ebp + 8], 0xffffffff
mov dword [ebp + 8], ebx
jmp 0x1001a223
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x50]
mov dword [eax + ecx*4], 0x6ec79cf1
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x1001a213
mov byte [ebp + 0xb], bl
cmp byte [ebp + 0xb], bl
je 0x1001a23b
push 0x2600
call dword [sym.imp.USER32.dll_GetQueueStatus]
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffffc
jl 0x1001a207
lea ecx, [ebp - 0x50]
call fcn.10018895
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffea
jg 0x1001a1cb
mov edx, dword [ebp + 0xc]
mov dword [edx], ebx
cmp dword [edx], 2
jge 0x1001a531
mov esi, dword [ebp + 0x14]
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [edx]
cmp dword [edx], 2
jl 0x1001a26a
jmp 0x1001a531
push 4
pop edi
push edi
lea ecx, [ebp - 0x5c]
call fcn.10017f97
xor ebx, ebx
push 1
mov dword [ebp + 8], ebx
pop esi
jmp 0x1001a2a3
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x5c]
mov dword [eax + ecx*4], esi
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x1001a297
mov byte [ebp + 0xb], bl
cmp byte [ebp + 0xb], bl
je 0x1001a2c3
push 0x3c1
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov byte [ebp + 0xb], bl
cmp byte [ebp + 0xb], bl
je 0x1001a2e9
push 0x233
push 0x1191
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetPixel]
lea ecx, [ebp - 0x5c]
call fcn.10018895
push 9
pop eax
mov dword [ebp + 8], eax
lea ecx, [ebp - 0x68]
mov dword [ebp + 8], eax
push esi
call fcn.10017f97
mov dword [ebp - 0x18], 0x2d8c
mov dword [ebp + 8], ebx
jmp 0x1001a31f
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x68]
mov dword [eax + ecx*4], 0x37831e42
inc dword [ebp + 8]
cmp dword [ebp + 8], esi
jl 0x1001a30f
inc dword [ebp - 0x18]
mov byte [ebp + 0xb], bl
cmp byte [ebp + 0xb], bl
je 0x1001a337
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea ecx, [ebp - 0x68]
call fcn.10018895
mov dword [ebp - 0x18], 0xd3c891c5
mov dword [ebp - 0x10], 0xfffffff6
mov dword [ebp - 8], ebx
mov dword [ebp - 0x14], 0xef307d7c
mov dword [ebp - 0x1c], 7
mov dword [ebp - 8], esi
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], ebx
jmp 0x1001a49b
mov dword [ebp - 0x20], 0xd045
mov byte [ebp + 0xb], bl
cmp byte [ebp + 0xb], bl
je 0x1001a38f
push 0x1f71
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualQueryEx]
mov dword [ebp - 0x14], 0xffffffe3
jmp 0x1001a48e
mov dword [ebp + 8], ebx
jmp 0x1001a3aa
mov eax, dword [ebp + 8]
mov dword [ebp + eax*4 - 0x78], ebx
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x1001a3a0
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 8], eax
mov dword [ebp - 8], 2
jmp 0x1001a481
mov dword [ebp - 0x24], 0x54ab
mov dword [ebp - 0x10], ebx
jmp 0x1001a474
mov dword [ebp - 0xc], esi
mov dword [ebp - 0xc], ebx
jmp 0x1001a467
mov dword [ebp + 8], 0xfffffff7
mov dword [ebp + 8], 3
cmp dword [ebp + 8], ebx
jl 0x1001a464
mov dword [ebp - 0x1c], 0xfffffff8
xor ecx, ecx
mov eax, dword [ebp + 8]
mov eax, dword [ebp + eax*4 - 0x78]
cmp eax, 0xfffffffd
mov eax, dword [ebp - 0xc]
setge cl
xor edx, edx
mov dword [ebp + eax*4 - 0x78], ecx
neg ecx
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setne dl
sub edx, 0x137d
neg edx
sbb edx, edx
inc edx
sub edx, dword [ebp - 0x10]
sub edx, dword [ebp + 8]
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp edx, 0x132d
setg al
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 8]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x78]
mov eax, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
mov dword [ebp + eax*4 - 0x78], 0xffffffff
dec dword [ebp + 8]
jns 0x1001a3ee
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jle 0x1001a3db
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jle 0x1001a3d0
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xfffffff9
jne 0x1001a3c1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jne 0x1001a39b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jge 0x1001a372
mov dword [ebp + 8], 9
mov byte [ebp + 0xb], bl
cmp byte [ebp + 0xb], bl
je 0x1001a4ba
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
mov byte [ebp + 0xb], bl
cmp byte [ebp + 0xb], bl
je 0x1001a4d8
push 0x1883
push ebx
push 0xac
push 0x1091
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
mov edi, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [edi]
mov ecx, dword [edi]
mov eax, dword [edi]
cmp ecx, eax
mov eax, dword [ebp + 0x10]
setge dl
mov dword [eax], edx
cmp dword [eax], ebx
je 0x1001a4f3
mov ebx, esi
mov eax, dword [edi]
xor edx, edx
cmp ebx, eax
mov eax, dword [edi]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [edi]
setge cl
sub eax, ecx
cmp eax, 0xc54c9751
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0x18d
mov eax, dword [edi]
setle cl
imul eax, ecx
xor ecx, ecx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x2c]
setl cl
inc ecx
mov eax, dword [eax]
mov dword [eax + 8], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret