Function at 0x10021044
Capabilities:
Capture webcam image
Get graphical window text

Disassembly:
mov eax, 0x100b9045
call fcn.100a0664
sub esp, 0x864
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
push dword [ebp + 8]
xor ebx, ebx
mov esi, ecx
mov dword [ebp - 4], ebx
call fcn.10006460
push ecx
mov ecx, esp
mov dword [ebp - 0x38], esp
push 0x100c503c
call fcn.100057f4
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
mov edi, 0x100c51a4
push edi
mov byte [ebp - 4], 1
call fcn.100057f4
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push str.RunSearchAutomatically
mov byte [ebp - 4], 2
call fcn.100057f4
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], bl
call fcn.10044254
add esp, 0x10
push edi
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.1000272b
xor ecx, ecx
cmp eax, ebx
sete cl
mov byte [ebp - 4], bl
mov dword [esi + 0x100], ecx
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.10001ccd
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x100c503c
call fcn.100057f4
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push edi
mov byte [ebp - 4], 4
call fcn.100057f4
push ecx
mov ecx, esp
mov dword [ebp - 0x38], esp
push str.RunSearchDragAutomatically
mov byte [ebp - 4], 5
call fcn.100057f4
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], bl
call fcn.10044254
add esp, 0x10
push edi
mov ecx, eax
mov byte [ebp - 4], 6
call fcn.1000272b
xor ecx, ecx
cmp eax, ebx
sete cl
mov byte [ebp - 4], bl
mov dword [esi + 0x104], ecx
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.10001ccd
lea edi, [esi + 0xb0]
push dword [edi]
mov dword [ebp - 0x18], edi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x1002116b
push 0xfffffffffffffffd
pop eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 4
mov eax, dword [ebp + 8]
mov dword [esi + 0x11c], eax
cmp byte [esi + 0xa9], bl
je 0x100211eb
push 0x400
lea eax, [ebp - 0x870]
push eax
push dword [edi]
call dword [sym.imp.USER32.dll_GetWindowTextW]
lea eax, [ebp - 0x870]
push eax
call fcn.100a01ca
pop ecx
test eax, eax
jne 0x100211d3
mov eax, dword [ebp - 0x18]
lea edi, [esi + 0x88]
push dword [edi]
push dword [eax]
call dword [sym.imp.USER32.dll_SetWindowTextW]
lea ecx, [esi + 0x84]
push edi
call fcn.100046db
mov eax, dword [edi]
cmp dword [eax - 0xc], ebx
mov edi, dword [ebp - 0x18]
setne al
mov byte [esi + 0xfe], al
jmp 0x100211eb
lea eax, [ebp - 0x870]
lea ecx, [esi + 0x84]
push eax
call fcn.100049c6
mov byte [esi + 0xfe], bl
mov ecx, dword [esi + 0x78]
lea eax, [ebp - 0x11]
push eax
push esi
mov byte [ebp - 0x11], bl
call fcn.1006b272
mov dword [ebp + 8], eax
cmp byte [ebp - 0x11], bl
jne 0x1002123d
push ebx
push dword [esi + 0x68]
lea eax, [esi + 0x4c]
push ecx
mov dword [ebp - 0x1c], esp
mov ecx, esp
push eax
call fcn.100033f5
mov ecx, dword [esi + 0x78]
add ecx, 0xe4
call fcn.100587da
cmp eax, ebx
setne al
cmp al, bl
jne 0x1002123d
push ebx
push dword [edi]
call dword [sym.imp.USER32.dll_ShowWindow]
xor eax, eax
jmp 0x1002115a
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x30]
push edx
mov dword [ebp - 0x30], ebx
mov eax, dword [ecx]
push str.GetEditFont
call dword [eax + 0xb8]
mov eax, dword [ebp - 0x30]
cmp eax, ebx
jne 0x10021267
mov eax, dword [esi + 0x11c]
mov eax, dword [eax + 4]
push 1
push eax
push 0x30
push dword [edi]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
call edi
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x100c503c
call fcn.100057f4
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.EnableSearchAutocomplete
mov byte [ebp - 4], 7
call fcn.100057f4
mov byte [ebp - 4], bl
call fcn.10044598
add esp, 0xc
lea ecx, [esi + 0xd4]
cmp eax, 1
jne 0x100212cd
push ebx
push 0x21
push dword [esi + 0x128]
call fcn.1001f693
lea ecx, [esi + 0xd4]
call fcn.1001f80f
jmp 0x100212d2
call fcn.1001f7f0
mov eax, dword [esi + 0xc]
push ebx
push eax
push 0x419
push dword [ebp + 8]
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
call edi
lea ecx, [ebp - 0x2c]
push ecx
push eax
push 0x41d
push dword [ebp + 8]
call edi
push ecx
mov ecx, esp
mov dword [ebp + 8], esp
push 0x100c503c
call fcn.100057f4
push 0x16
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push str.Height
mov byte [ebp - 4], 8
call fcn.100057f4
mov byte [ebp - 4], bl
call fcn.10044598
add esp, 0xc
mov dword [ebp + 8], eax
lea eax, [ebp - 0x48]
push eax
lea edi, [esi + 0xb0]
push dword [edi]
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp + 8]
sub eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x28]
cdq
sub eax, edx
sar eax, 1
push eax
push ebx
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x20]
cdq
sub eax, edx
sar eax, 1
push eax
push ebx
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
cmp byte [esi + 0x131], bl
je 0x10021391
add dword [ebp - 0x20], 0x64
add dword [ebp - 0x2c], 2
sub dword [ebp - 0x24], 2
push 1
lea eax, [ebp - 0x2c]
push eax
mov ecx, edi
call fcn.10001cfe
push 5
jmp 0x1002122e