Function at 0x40bef4
Capabilities:
Capture webcam image

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
mov eax, dword [0x433024]
xor eax, esp
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x1c]
push ebx
mov ebx, dword [ebp + 0x18]
push esi
push edi
mov edi, dword [ebp + 0x14]
xor edx, edx
sub eax, edx
mov esi, ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ebx
je 0x40c204
dec eax
je 0x40c010
dec eax
dec eax
jne 0x40bf8d
mov eax, dword [ebp + 0xc]
cmp eax, 0x200
jne 0x40bf52
xor edi, edi
inc edi
lea edx, [esp + 0x10]
mov dword [esp + 0x10], edi
call fcn.0040e408
jmp 0x40c1b6
cmp eax, 0x104
jne 0x40bf72
mov ebx, dword [ebp + 0x10]
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 1
call fcn.0040e567
jmp 0x40c3af
cmp eax, 0x105
jne 0x40bfa3
mov al, byte [esi + 0x85]
test al, 8
jne 0x40bf8b
or al, 8
mov byte [esi + 0x85], al
mov dword [ebx], edx
xor eax, eax
mov ecx, dword [esp + 0x2c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004161d1
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 0x106
jne 0x40bfcd
xor eax, eax
test byte [esi + 0x84], 1
jne 0x40bfc4
mov ecx, dword [esi + 0x20]
cmp ecx, dword [esi + 4]
je 0x40bfc4
cmp dword [ebp + 0x10], 0x20
je 0x40bfc4
inc eax
mov dword [ebx], edx
cmp eax, edx
jmp 0x40c3ba
cmp eax, 0x100
jne 0x40bfef
lea eax, [esp + 0x10]
push eax
push dword [ebp + 0x10]
xor edi, edi
inc edi
mov eax, esi
mov dword [esp + 0x18], edi
call fcn.0040e5ff
jmp 0x40c1b6
cmp eax, 0x213
jne 0x40bffe
mov dword [ebx], 1
jmp 0x40bf8d
cmp eax, 0x102
jne 0x40bf8d
xor eax, eax
cmp dword [ebp + 0x10], 0x1b
sete al
jmp 0x40bfc4
cmp dword [ebp + 0xc], 0x4e
jne 0x40c0c9
cmp dword [edi + 8], 0xfffffd37
jne 0x40c053
mov eax, dword [edi]
mov dword [esp + 0x10], 1
cmp eax, dword [esi + 4]
je 0x40c03a
mov dword [esp + 0x10], edx
xor eax, eax
jmp 0x40c047
lea eax, [esp + 0x10]
push eax
push edi
call fcn.0040e060
xor edx, edx
mov dword [ebx], eax
cmp dword [esp + 0x10], edx
jne 0x40c21a
cmp dword [edi + 8], 0xfffffd3a
jne 0x40c0fd
mov ecx, dword [edi]
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
cmp ecx, dword [esi + 4]
je 0x40c074
mov dword [esp + 0x10], edx
jmp 0x40c0bc
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, dword [esi + 4]
je 0x40c08a
mov edi, esi
call fcn.00410238
mov edi, dword [esp + 0x14]
mov edi, dword [edi + 0xc]
push 0
push edi
push 0x419
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
and byte [esi + 0x84], 0xcf
push 1
mov ecx, eax
mov ebx, esi
call fcn.0040f95e
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
xor eax, eax
xor edx, edx
mov dword [ebx], eax
cmp dword [esp + 0x10], edx
je 0x40c0fd
jmp 0x40c21a
mov eax, 0x117
cmp dword [ebp + 0xc], eax
jne 0x40c0fd
push dword [ebp + 0x10]
mov ecx, edi
push eax
lea edx, [esp + 0x18]
mov edi, esi
mov dword [esp + 0x18], 1
call fcn.0040d7ab
cmp dword [esp + 0x10], 0
mov dword [ebx], eax
jne 0x40c21a
mov edi, dword [esp + 0x14]
call fcn.0040e8e0
cmp dword [ebp + 0xc], eax
je 0x40c353
mov eax, dword [ebp + 0xc]
cmp eax, 0x112
jne 0x40c130
push dword [ebp + 0x10]
lea ebx, [esp + 0x14]
mov eax, esi
mov dword [esp + 0x14], 1
call fcn.0040e0ef
jmp 0x40c3af
cmp eax, 0x52e
je 0x40c44e
cmp eax, 0x120
je 0x40c397
cmp eax, 0x52f
je 0x40c45d
cmp eax, 0x52d
je 0x40c47d
cmp eax, 0x1a
jne 0x40c189
cmp dword [ebp + 0x10], 0x2a
je 0x40c17d
cmp dword [ebp + 0x10], 0x100b
je 0x40c17d
cmp dword [ebp + 0x10], 0x1023
jne 0x40bff6
mov ecx, esi
call fcn.0040fdbb
jmp 0x40bff6
cmp eax, 0x2b
je 0x40c48a
cmp eax, 0x2c
je 0x40c4b7
cmp eax, 6
jne 0x40c1ca
lea eax, [esp + 0x10]
push eax
push dword [ebp + 0x10]
xor edi, edi
inc edi
mov eax, esi
mov dword [esp + 0x18], edi
call fcn.0040e19d
cmp dword [esp + 0x10], 0
mov dword [ebx], eax
je 0x40bf8d
mov eax, edi
jmp 0x40bf8f
cmp eax, 0x4e
jne 0x40bf8d
cmp dword [edi + 8], 0xfffffff4
jne 0x40bf8d
mov ecx, dword [edi]
xor eax, eax
mov dword [esp + 0x10], eax
cmp ecx, dword [esi + 4]
jne 0x40c3e5
lea edx, [esp + 0x10]
mov ecx, edi
mov ebx, esi
call fcn.0040e1fc
mov ebx, dword [esp + 0x18]
jmp 0x40c3e5
mov ecx, dword [ebp + 0xc]
xor eax, eax
inc eax
cmp ecx, eax
jne 0x40c222
push edi
push dword [ebp + 0x10]
push eax
call fcn.0040d310
mov dword [ebx], eax
xor eax, eax
inc eax
jmp 0x40bf8f
cmp ecx, 2
jne 0x40c235
push edi
push dword [ebp + 0x10]
mov eax, esi
push ecx
call fcn.0040d46c
jmp 0x40c218
cmp ecx, 0x14
jne 0x40c293
test byte [esi + 0x84], 2
mov dword [esp + 0x10], eax
jne 0x40c283
test byte [esi + 0x58], 1
jne 0x40c283
and dword [esp + 0x1c], edx
xor eax, eax
lea edi, [esp + 0x20]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [esp + 0x1c]
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetClientRect]
push 5
lea eax, [esp + 0x20]
push eax
push dword [ebp + 0x10]
call dword [sym.imp.USER32.dll_FillRect]
mov edi, dword [esp + 0x14]
xor eax, eax
inc eax
xor edx, edx
jmp 0x40c289
mov dword [esp + 0x10], edx
xor eax, eax
mov dword [ebx], eax
cmp dword [esp + 0x10], edx
je 0x40c302
jmp 0x40c21a
cmp ecx, 0x116
jne 0x40c2cf
push 0
push 0
push 0x447
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
push dword [esi + 0x44]
movzx eax, ax
or eax, 0x900000
push eax
push 0x11f
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebx], 1
jmp 0x40c302
mov eax, 0x117
cmp ecx, eax
jne 0x40c324
push dword [ebp + 0x10]
mov ecx, edi
push eax
lea edx, [esp + 0x18]
mov edi, esi
mov dword [esp + 0x18], 1
call fcn.0040d7ab
cmp dword [esp + 0x10], 0
mov dword [ebx], eax
jne 0x40c21a
mov edi, dword [esp + 0x14]
call fcn.0040e89f
cmp dword [ebp + 0xc], eax
jne 0x40c349
mov ecx, dword [ebp + 0x10]
push 0
mov ebx, esi
call fcn.0040f95e
mov eax, dword [esp + 0x18]
and dword [eax], 0
jmp 0x40c21a
mov eax, 0x11f
cmp ecx, eax
jne 0x40c302
lea ecx, [esp + 0x10]
push ecx
mov ecx, dword [ebp + 0x10]
push eax
mov eax, edi
mov edi, esi
mov dword [esp + 0x18], 1
call fcn.0040dad8
jmp 0x40c2f1
call fcn.0040e8e0
cmp dword [ebp + 0xc], eax
jne 0x40c361
mov eax, dword [ebp + 0x10]
push esi
call fcn.0040dc18
jmp 0x40c218
mov eax, dword [ebp + 0xc]
cmp eax, 0x1a
jne 0x40c390
cmp dword [ebp + 0x10], 0x2a
je 0x40c381
cmp dword [ebp + 0x10], 0x100b
je 0x40c381
cmp dword [ebp + 0x10], 0x1023
jne 0x40c388
mov ecx, esi
call fcn.0040fdbb
and dword [ebx], 0
jmp 0x40c21a
cmp eax, 0x120
jne 0x40c3c5
push dword [ebp + 0x10]
lea edx, [esp + 0x14]
mov ecx, edi
mov ebx, esi
mov dword [esp + 0x14], 1
call fcn.0040dc46
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
cmp dword [esp + 0x10], 0
je 0x40bf8d
jmp 0x40c21a
cmp eax, 0x100
jne 0x40c3e9
lea eax, [esp + 0x10]
push eax
push dword [ebp + 0x10]
mov eax, edi
mov ecx, esi
mov dword [esp + 0x18], 1
call fcn.0040d5cc
mov dword [ebx], eax
jmp 0x40c3b5
cmp eax, 0x101
jne 0x40c402
xor eax, eax
inc eax
cmp dword [ebp + 0x10], 0x20
je 0x40c3fb
xor eax, eax
and dword [ebx], 0
test eax, eax
jmp 0x40c3ba
cmp eax, 0x102
jne 0x40c42a
cmp dword [ebp + 0x10], 0x20
mov dword [esp + 0x10], 1
je 0x40c426
lea eax, [esp + 0x10]
push eax
push dword [ebp + 0x10]
call fcn.0040d67e
jmp 0x40c3e5
xor eax, eax
jmp 0x40c3e5
cmp eax, 0x104
jne 0x40c439
and dword [ebx], 0
jmp 0x40bf8d
cmp eax, 0x105
je 0x40c431
cmp eax, 0x106
je 0x40c431
cmp eax, 0x52e
jne 0x40c456
mov eax, dword [esi + 0x44]
jmp 0x40c218
cmp eax, 0x52f
jne 0x40c476
test edi, edi
jne 0x40c468
xor eax, eax
jmp 0x40c218
mov eax, edi
mov ecx, esi
call fcn.0040dfef
jmp 0x40c218
cmp eax, 0x52d
jne 0x40c485
mov eax, dword [esi + 4]
jmp 0x40c218
cmp eax, 0x2b
jne 0x40c4b2
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
cmp dword [edi], eax
jne 0x40c4a8
lea eax, [esp + 0x10]
push eax
mov edx, edi
mov ecx, esi
call fcn.0040dfb7
jmp 0x40c3e5
and dword [esp + 0x10], 0
jmp 0x40c3e5
cmp eax, 0x2c
jne 0x40c4f6
mov ecx, dword [edi + 0x14]
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
cmp dword [edi], eax
jne 0x40c4df
test ecx, ecx
je 0x40c4df
cmp dword [ecx], 0x1313
jne 0x40c4df
mov edx, edi
mov ecx, esi
call fcn.0040f6f8
xor eax, eax
inc eax
jmp 0x40c4e4
and dword [esp + 0x10], 0
cmp dword [esp + 0x10], 0
mov dword [ebx], eax
je 0x40bf8d
jmp 0x40bf8f
cmp eax, 0x37f
jne 0x40bf8d
mov eax, edi
mov ecx, esi
call fcn.0040d2b9
jmp 0x40c218