Function at 0x100197df
Capabilities:
Capture webcam image
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xac
push ebx
mov ebx, eax
mov eax, dword [ebx + 0x1b8]
push esi
push edi
add eax, 0x610
call fcn.1002faf8
push dword [ebp + 0xc]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push dword [ebp + 8]
push 0xbef
push dword [ebx + 4]
call edi
cmp eax, 1
je 0x1001a053
push 0
push 0x65
push 0x419
push dword [ebx + 4]
call edi
cmp eax, 0xffffffff
je 0x10019989
lea ecx, [ebp - 0x20]
push ecx
push eax
push 0x41d
push dword [ebx + 4]
call edi
test eax, eax
je 0x10019989
lea esi, [ebx + 0x34]
push dword [esi]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x10019863
push 5
push dword [esi]
call dword [sym.imp.USER32.dll_ShowWindow]
lea eax, [ebp - 0x78]
push eax
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetClientRect]
cmp dword [ebp - 0x6c], 0x1a
jl 0x10019885
push 0x19
pop eax
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x14], eax
jmp 0x10019896
push 0xffffffffffffffff
push 0xffffffffffffffff
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.USER32.dll_InflateRect]
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
mov dword [ebp - 8], eax
test al, 1
je 0x100198a7
and dword [ebp - 8], 0xfffffffe
inc dword [ebp - 0x1c]
lea eax, [ebp - 0x30]
push eax
push dword [esi]
call dword [sym.imp.USER32.dll_GetClientRect]
push 2
lea eax, [ebp - 0x30]
push eax
push dword [ebx + 4]
push dword [esi]
call dword [sym.imp.USER32.dll_MapWindowPoints]
cmp dword [ebp + 0xc], 0
jne 0x100198e0
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.USER32.dll_EqualRect]
test eax, eax
jne 0x100199a1
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
push dword [ebp - 8]
mov dword [ebp + 0xc], eax
push eax
push dword [ebp - 0x1c]
mov eax, esi
push dword [ebp - 0x20]
call fcn.100162a1
mov eax, dword [ebx + 0x80]
mov esi, eax
sub esi, 3
neg esi
sbb esi, esi
not esi
and esi, dword [0x101366d4]
mov dword [ebp - 0x10], eax
cmp eax, 3
je 0x1001991d
xor eax, eax
jmp 0x10019922
call fcn.10037722
mov edx, dword [0x101366c8]
push 0xfffffffffffffffd
pop ecx
sub ecx, eax
sub ecx, esi
add dword [ebp + 0xc], ecx
mov ecx, dword [ebp - 8]
sub ecx, edx
sub ecx, 5
cmp dword [ebp - 0x10], 3
je 0x10019944
xor eax, eax
jmp 0x10019949
call fcn.10037722
push edx
push dword [ebp + 0xc]
push ecx
push eax
lea eax, [ebx + 0x160]
call fcn.100162a1
mov eax, dword [ebp - 0x18]
push 1
push dword [ebp - 8]
sub eax, esi
sub eax, dword [ebp - 0x20]
push esi
push 0
push eax
push dword [ebx + 0x90]
call dword [sym.imp.USER32.dll_MoveWindow]
push 0
push 0
push dword [ebx + 0x90]
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x100199a1
push dword [ebx + 0x34]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x100199a1
push 0
push dword [ebx + 0x34]
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push 0x67
push 0x419
push dword [ebx + 4]
call edi
cmp eax, 0xffffffff
je 0x100199c8
lea ecx, [ebx + 0x19c]
push ecx
push eax
push 0x41d
push dword [ebx + 4]
call edi
jmp 0x100199d5
lea eax, [ebx + 0x19c]
push eax
call dword [sym.imp.USER32.dll_SetRectEmpty]
lea eax, [ebp - 0x44]
push eax
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetClientRect]
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x1001a053
mov esi, dword [ebx + 0x2e0]
add esi, dword [ebx + 0x2e4]
or dword [ebp - 0x34], 0xffffffff
push 0xfffffffffffffffe
pop eax
sub eax, dword [0x10136630]
mov dword [ebp - 0x68], 0x20
add dword [ebp - 0x3c], eax
xor eax, eax
cmp dword [ebx + 0x2d4], eax
mov dword [ebp - 0x64], 0x40
mov dword [ebp - 4], eax
mov dword [ebp - 8], esi
mov dword [ebp + 0xc], eax
jle 0x10019bca
jmp 0x10019a3a
mov esi, dword [ebp - 8]
mov eax, dword [ebp + 0xc]
lea ecx, [ebx + 0x2d0]
mov dword [ebp - 4], esi
call fcn.1000bd7c
cmp dword [eax + 8], 0
je 0x10019b74
mov eax, dword [ebp + 0xc]
lea ecx, [ebx + 0x2d0]
call fcn.1000bd7c
mov eax, dword [eax]
cmp eax, dword [ebx + 0x2e8]
mov eax, dword [ebp + 0xc]
jne 0x10019a78
mov dword [ebp - 0x34], eax
jmp 0x10019b74
lea ecx, [ebx + 0x2d0]
call fcn.1000bd7c
cmp dword [eax], 0x65
je 0x10019a9b
mov eax, dword [ebp + 0xc]
lea ecx, [ebx + 0x2d0]
call fcn.1000bd7c
add esi, dword [eax + 4]
jmp 0x10019aa3
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
add esi, eax
cmp esi, dword [ebp - 0x3c]
mov dword [ebp - 8], esi
jg 0x10019b88
mov eax, dword [ebp + 0xc]
and dword [ebp - 0xc], 0
lea ecx, [ebx + 0x2d0]
call fcn.1000bd7c
mov esi, dword [eax]
lea ecx, [ebp - 0xc]
push ecx
lea ecx, [ebx + 0x1bc]
call fcn.1000bd4f
test al, al
je 0x10019b74
mov esi, dword [ebp - 0xc]
cmp dword [esi + 0x2c], 7
jne 0x10019b74
cmp dword [esi + 0xd4], 0
je 0x10019b74
mov eax, dword [ebp + 0xc]
lea ecx, [ebx + 0x2d0]
call fcn.1000bd7c
mov eax, dword [eax]
push 0
push eax
push 0x419
push dword [ebx + 4]
call edi
cmp eax, 0xffffffff
je 0x10019b74
lea ecx, [ebp - 0x30]
push ecx
push eax
push 0x41d
push dword [ebx + 4]
call edi
test eax, eax
je 0x10019b74
mov eax, dword [ebp - 0x24]
sub eax, dword [esi + 0xd0]
push 0
sub eax, dword [ebp - 0x2c]
push 0
push dword [esi + 0xd4]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x10], eax
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x10]
push 1
push dword [esi + 0xd0]
push eax
mov eax, dword [ebp - 0x2c]
add ecx, eax
push ecx
push dword [ebp - 0x30]
push dword [esi + 0xd4]
call dword [sym.imp.USER32.dll_MoveWindow]
inc dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
cmp eax, dword [ebx + 0x2d4]
jl 0x10019a37
jmp 0x10019bca
push 0
push 0x69
mov esi, 0x404
push esi
push dword [ebx + 4]
call edi
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x3c]
jge 0x10019bc0
push 0
push 0x68
push esi
push dword [ebx + 4]
call edi
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 4]
mov word [ebp - 0x56], ax
lea eax, [ebp - 0x68]
push eax
push 0x68
push 0x440
jmp 0x10019bc5
push 1
push 0x68
push esi
push dword [ebx + 4]
call edi
xor ecx, ecx
cmp dword [ebp + 8], ecx
jne 0x10019cde
xor eax, eax
cmp dword [ebp - 0x18], ecx
sete al
mov esi, eax
mov eax, dword [ebp + 0xc]
cmp eax, dword [ebx + 0x2d4]
jge 0x10019c57
lea ecx, [ebx + 0x2d0]
call fcn.1000bd7c
cmp dword [eax], 0x65
jne 0x10019c81
mov eax, dword [ebx + 0x80]
mov ecx, eax
sub ecx, 3
neg ecx
sbb ecx, ecx
not ecx
and ecx, dword [0x101366d4]
cmp eax, 3
je 0x10019c1e
xor eax, eax
jmp 0x10019c23
call fcn.10037722
add ecx, eax
mov eax, dword [ebx + 0x19c]
sub eax, dword [ebx + 0x1a4]
add ecx, dword [0x1012f4b8]
sub eax, dword [ebx + 0x2e0]
sub eax, dword [ebx + 0x2e4]
sub eax, dword [ebp - 4]
add eax, dword [ebp - 0x3c]
cmp eax, ecx
mov word [ebp - 0x56], ax
jg 0x10019c6e
mov word [ebp - 0x56], cx
jmp 0x10019c6e
lea eax, [ebx + 0x1b4]
cmp dword [eax], ecx
je 0x10019c81
and dword [eax], 0
mov ax, word [0x101365e4]
mov word [ebp - 0x56], ax
lea eax, [ebp - 0x68]
push eax
push 0x65
push 0x440
push dword [ebx + 4]
call edi
xor esi, esi
inc esi
test esi, esi
jne 0x10019cc7
mov ecx, dword [0x101365e4]
cmp dword [ebp - 0x18], ecx
jge 0x10019cc7
mov eax, dword [ebx + 0x19c]
sub eax, dword [ebx + 0x1a4]
sub eax, dword [ebx + 0x2e0]
sub eax, dword [ebx + 0x2e4]
add eax, dword [ebp - 0x3c]
cmp eax, ecx
mov word [ebp - 0x56], ax
jl 0x10019cb7
mov word [ebp - 0x56], cx
lea eax, [ebp - 0x68]
push eax
push 0x65
push 0x440
push dword [ebx + 4]
call edi
push 0
push 1
push 0xbda
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x1001a053
cmp dword [ebx + 0x2d4], ecx
mov dword [ebp + 8], ecx
jle 0x1001a009
mov eax, dword [ebp + 8]
lea esi, [ebx + 0x2d0]
mov ecx, esi
call fcn.1000bd7c
mov eax, dword [eax]
cmp eax, dword [ebx + 0x2e8]
mov eax, dword [ebp + 8]
jne 0x10019d12
mov dword [ebp - 0x34], eax
jmp 0x10019ff7
mov ecx, esi
call fcn.1000bd7c
cmp dword [eax], 0x65
je 0x10019ff7
mov eax, dword [ebp + 8]
lea ecx, [ebx + 0x2d0]
call fcn.1000bd7c
cmp dword [eax], 0x67
je 0x10019ff7
mov eax, dword [ebp + 8]
lea ecx, [ebx + 0x2d0]
call fcn.1000bd7c
cmp dword [eax + 8], 0
je 0x10019ff7
mov esi, dword [ebp + 8]
mov eax, esi
lea ecx, [ebx + 0x2d0]
call fcn.1000bd7c
mov eax, dword [eax]
xor ecx, ecx
cmp esi, dword [ebp + 0xc]
setge cl
push ecx
push eax
push 0x404
push dword [ebx + 4]
call edi
cmp esi, dword [ebp + 0xc]
mov dword [ebp - 0xc], str.chevron
jge 0x10019d8a
mov dword [ebp - 0xc], str.toolbar
mov eax, dword [ebp + 8]
lea esi, [ebx + 0x2d0]
mov ecx, esi
call fcn.1000bd7c
push dword [ebp - 0xc]
mov eax, dword [eax]
push 0x8000
call fcn.1001a3d4
mov eax, dword [ebp + 8]
and dword [ebp - 4], 0
mov ecx, esi
call fcn.1000bd7c
mov esi, dword [eax]
lea ecx, [ebp - 4]
push ecx
lea ecx, [ebx + 0x1bc]
call fcn.1000bd4f
cmp dword [ebp - 4], 0
je 0x10019ff7
mov esi, dword [ebp - 4]
cmp dword [esi + 0x2c], 7
jne 0x10019e8a
cmp dword [esi + 0xd4], 0
je 0x10019e8a
mov eax, dword [ebp + 8]
cmp eax, dword [ebp + 0xc]
jl 0x10019e07
push 0
push dword [esi + 0xd4]
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x10019e8a
push dword [esi + 0xd4]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x10019e25
push 5
push dword [esi + 0xd4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebp + 8]
lea ecx, [ebx + 0x2d0]
call fcn.1000bd7c
mov eax, dword [eax]
push 0
push eax
push 0x419
push dword [ebx + 4]
call edi
cmp eax, 0xffffffff
je 0x10019e8a
lea ecx, [ebp - 0x30]
push ecx
push eax
push 0x41d
push dword [ebx + 4]
call edi
test eax, eax
je 0x10019e8a
mov ecx, dword [esi + 0xd0]
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x30]
push 1
push ecx
push eax
mov eax, dword [ebp - 0x24]
sub eax, ecx
sub eax, dword [ebp - 0x2c]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x2c]
push eax
push dword [ebp - 0x30]
push dword [esi + 0xd4]
call dword [sym.imp.USER32.dll_MoveWindow]
cmp dword [esi + 0x2c], 6
jne 0x10019ff7
mov eax, dword [ebp + 8]
cmp eax, dword [ebp + 0xc]
jl 0x10019eaf
push 0
push dword [esi + 0x118]
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x10019ff7
cmp dword [esi + 0xb0], 0
je 0x10019f92
push dword [esi + 0xb0]
call dword [sym.imp.USER32.dll_GetMenuItemCount]
and dword [ebp - 0xc], 0
mov dword [ebp - 0x48], eax
test eax, eax
jle 0x10019fb0
push dword [ebp - 0xc]
mov eax, dword [ebp - 4]
push dword [eax + 0xb0]
call dword [sym.imp.USER32.dll_GetMenuItemID]
mov esi, eax
test esi, esi
jbe 0x10019f7e
and dword [ebp - 0x10], 0
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x1ec]
call fcn.1000bd4f
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x10019f7e
cmp dword [eax], 0x18
jne 0x10019f7e
lea eax, [ebp - 0xa8]
push eax
push 0
push esi
mov esi, dword [ebp - 4]
mov dword [ebp - 0xa8], 0x30
mov dword [ebp - 0xa4], 1
push dword [esi + 0xb0]
call dword [sym.imp.USER32.dll_GetMenuItemInfoW]
add esi, 0x118
cmp dword [ebp - 0x9c], 0
push dword [esi]
jne 0x10019f5e
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x10019f7e
push 0
jmp 0x10019f76
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x10019f7e
mov eax, dword [ebp - 4]
cmp byte [eax + 0xd1], 0
je 0x10019f7e
push 5
push dword [esi]
call dword [sym.imp.USER32.dll_ShowWindow]
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x48]
jl 0x10019ed7
mov esi, dword [ebp - 4]
jmp 0x10019fb0
push dword [esi + 0x118]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x10019fb0
push 5
push dword [esi + 0x118]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebp + 8]
lea ecx, [ebx + 0x2d0]
call fcn.1000bd7c
mov eax, dword [eax]
lea ecx, [ebp - 0x78]
push ecx
push eax
push 0x433
push dword [ebx + 4]
call edi
mov eax, dword [ebp - 0x74]
push 1
push dword [esi + 0x114]
add eax, 2
push dword [esi + 0x10c]
push eax
mov eax, dword [ebp - 0x78]
add eax, 0x19
push eax
push dword [esi + 0x118]
call dword [sym.imp.USER32.dll_MoveWindow]
inc dword [ebp + 8]
mov eax, dword [ebp + 8]
cmp eax, dword [ebx + 0x2d4]
jl 0x10019ced
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 8], eax
jne 0x1001a053
mov eax, dword [ebx + 0x2e0]
sub dword [ebp - 8], eax
push 1
push 0x69
mov esi, 0x404
push esi
push dword [ebx + 4]
call edi
cmp dword [ebp - 0x34], 0xffffffff
je 0x1001a053
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 8]
mov word [ebp - 0x56], ax
lea eax, [ebp - 0x68]
push eax
push 0x68
push 0x440
push dword [ebx + 4]
call edi
push 0
push 0x68
push esi
push dword [ebx + 4]
call edi
pop edi
pop esi
pop ebx
leave
ret 8