Function at 0x40bef7
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 0x40c207
dec eax
je 0x40c013
dec eax
dec eax
jne 0x40bf90
mov eax, dword [ebp + 0xc]
cmp eax, 0x200
jne 0x40bf55
xor edi, edi
inc edi
lea edx, [esp + 0x10]
mov dword [esp + 0x10], edi
call fcn.0040e4af
jmp 0x40c1b9
cmp eax, 0x104
jne 0x40bf75
mov ebx, dword [ebp + 0x10]
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 1
call fcn.0040e60e
jmp 0x40c3b2
cmp eax, 0x105
jne 0x40bfa6
mov al, byte [esi + 0x85]
test al, 8
jne 0x40bf8e
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.00416201
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 0x106
jne 0x40bfd0
xor eax, eax
test byte [esi + 0x84], 1
jne 0x40bfc7
mov ecx, dword [esi + 0x20]
cmp ecx, dword [esi + 4]
je 0x40bfc7
cmp dword [ebp + 0x10], 0x20
je 0x40bfc7
inc eax
mov dword [ebx], edx
cmp eax, edx
jmp 0x40c3bd
cmp eax, 0x100
jne 0x40bff2
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.0040e6a6
jmp 0x40c1b9
cmp eax, 0x213
jne 0x40c001
mov dword [ebx], 1
jmp 0x40bf90
cmp eax, 0x102
jne 0x40bf90
xor eax, eax
cmp dword [ebp + 0x10], 0x1b
sete al
jmp 0x40bfc7
cmp dword [ebp + 0xc], 0x4e
jne 0x40c0cc
cmp dword [edi + 8], 0xfffffd37
jne 0x40c056
mov eax, dword [edi]
mov dword [esp + 0x10], 1
cmp eax, dword [esi + 4]
je 0x40c03d
mov dword [esp + 0x10], edx
xor eax, eax
jmp 0x40c04a
lea eax, [esp + 0x10]
push eax
push edi
call fcn.0040e107
xor edx, edx
mov dword [ebx], eax
cmp dword [esp + 0x10], edx
jne 0x40c21d
cmp dword [edi + 8], 0xfffffd3a
jne 0x40c100
mov ecx, dword [edi]
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
cmp ecx, dword [esi + 4]
je 0x40c077
mov dword [esp + 0x10], edx
jmp 0x40c0bf
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, dword [esi + 4]
je 0x40c08d
mov edi, esi
call fcn.00410265
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.0040f98b
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 0x40c100
jmp 0x40c21d
mov eax, 0x117
cmp dword [ebp + 0xc], eax
jne 0x40c100
push dword [ebp + 0x10]
mov ecx, edi
push eax
lea edx, [esp + 0x18]
mov edi, esi
mov dword [esp + 0x18], 1
call fcn.0040d852
cmp dword [esp + 0x10], 0
mov dword [ebx], eax
jne 0x40c21d
mov edi, dword [esp + 0x14]
call fcn.0040e987
cmp dword [ebp + 0xc], eax
je 0x40c356
mov eax, dword [ebp + 0xc]
cmp eax, 0x112
jne 0x40c133
push dword [ebp + 0x10]
lea ebx, [esp + 0x14]
mov eax, esi
mov dword [esp + 0x14], 1
call fcn.0040e196
jmp 0x40c3b2
cmp eax, 0x52e
je 0x40c451
cmp eax, 0x120
je 0x40c39a
cmp eax, 0x52f
je 0x40c460
cmp eax, 0x52d
je 0x40c480
cmp eax, 0x1a
jne 0x40c18c
cmp dword [ebp + 0x10], 0x2a
je 0x40c180
cmp dword [ebp + 0x10], 0x100b
je 0x40c180
cmp dword [ebp + 0x10], 0x1023
jne 0x40bff9
mov ecx, esi
call fcn.0040fde8
jmp 0x40bff9
cmp eax, 0x2b
je 0x40c48d
cmp eax, 0x2c
je 0x40c4ba
cmp eax, 6
jne 0x40c1cd
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.0040e244
cmp dword [esp + 0x10], 0
mov dword [ebx], eax
je 0x40bf90
mov eax, edi
jmp 0x40bf92
cmp eax, 0x4e
jne 0x40bf90
cmp dword [edi + 8], 0xfffffff4
jne 0x40bf90
mov ecx, dword [edi]
xor eax, eax
mov dword [esp + 0x10], eax
cmp ecx, dword [esi + 4]
jne 0x40c3e8
lea edx, [esp + 0x10]
mov ecx, edi
mov ebx, esi
call fcn.0040e2a3
mov ebx, dword [esp + 0x18]
jmp 0x40c3e8
mov ecx, dword [ebp + 0xc]
xor eax, eax
inc eax
cmp ecx, eax
jne 0x40c225
push edi
push dword [ebp + 0x10]
push eax
call fcn.0040d3b7
mov dword [ebx], eax
xor eax, eax
inc eax
jmp 0x40bf92
cmp ecx, 2
jne 0x40c238
push edi
push dword [ebp + 0x10]
mov eax, esi
push ecx
call fcn.0040d513
jmp 0x40c21b
cmp ecx, 0x14
jne 0x40c296
test byte [esi + 0x84], 2
mov dword [esp + 0x10], eax
jne 0x40c286
test byte [esi + 0x58], 1
jne 0x40c286
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 0x40c28c
mov dword [esp + 0x10], edx
xor eax, eax
mov dword [ebx], eax
cmp dword [esp + 0x10], edx
je 0x40c305
jmp 0x40c21d
cmp ecx, 0x116
jne 0x40c2d2
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 0x40c305
mov eax, 0x117
cmp ecx, eax
jne 0x40c327
push dword [ebp + 0x10]
mov ecx, edi
push eax
lea edx, [esp + 0x18]
mov edi, esi
mov dword [esp + 0x18], 1
call fcn.0040d852
cmp dword [esp + 0x10], 0
mov dword [ebx], eax
jne 0x40c21d
mov edi, dword [esp + 0x14]
call fcn.0040e946
cmp dword [ebp + 0xc], eax
jne 0x40c34c
mov ecx, dword [ebp + 0x10]
push 0
mov ebx, esi
call fcn.0040f98b
mov eax, dword [esp + 0x18]
and dword [eax], 0
jmp 0x40c21d
mov eax, 0x11f
cmp ecx, eax
jne 0x40c305
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.0040db7f
jmp 0x40c2f4
call fcn.0040e987
cmp dword [ebp + 0xc], eax
jne 0x40c364
mov eax, dword [ebp + 0x10]
push esi
call fcn.0040dcbf
jmp 0x40c21b
mov eax, dword [ebp + 0xc]
cmp eax, 0x1a
jne 0x40c393
cmp dword [ebp + 0x10], 0x2a
je 0x40c384
cmp dword [ebp + 0x10], 0x100b
je 0x40c384
cmp dword [ebp + 0x10], 0x1023
jne 0x40c38b
mov ecx, esi
call fcn.0040fde8
and dword [ebx], 0
jmp 0x40c21d
cmp eax, 0x120
jne 0x40c3c8
push dword [ebp + 0x10]
lea edx, [esp + 0x14]
mov ecx, edi
mov ebx, esi
mov dword [esp + 0x14], 1
call fcn.0040dced
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
cmp dword [esp + 0x10], 0
je 0x40bf90
jmp 0x40c21d
cmp eax, 0x100
jne 0x40c3ec
lea eax, [esp + 0x10]
push eax
push dword [ebp + 0x10]
mov eax, edi
mov ecx, esi
mov dword [esp + 0x18], 1
call fcn.0040d673
mov dword [ebx], eax
jmp 0x40c3b8
cmp eax, 0x101
jne 0x40c405
xor eax, eax
inc eax
cmp dword [ebp + 0x10], 0x20
je 0x40c3fe
xor eax, eax
and dword [ebx], 0
test eax, eax
jmp 0x40c3bd
cmp eax, 0x102
jne 0x40c42d
cmp dword [ebp + 0x10], 0x20
mov dword [esp + 0x10], 1
je 0x40c429
lea eax, [esp + 0x10]
push eax
push dword [ebp + 0x10]
call fcn.0040d725
jmp 0x40c3e8
xor eax, eax
jmp 0x40c3e8
cmp eax, 0x104
jne 0x40c43c
and dword [ebx], 0
jmp 0x40bf90
cmp eax, 0x105
je 0x40c434
cmp eax, 0x106
je 0x40c434
cmp eax, 0x52e
jne 0x40c459
mov eax, dword [esi + 0x44]
jmp 0x40c21b
cmp eax, 0x52f
jne 0x40c479
test edi, edi
jne 0x40c46b
xor eax, eax
jmp 0x40c21b
mov eax, edi
mov ecx, esi
call fcn.0040e096
jmp 0x40c21b
cmp eax, 0x52d
jne 0x40c488
mov eax, dword [esi + 4]
jmp 0x40c21b
cmp eax, 0x2b
jne 0x40c4b5
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
cmp dword [edi], eax
jne 0x40c4ab
lea eax, [esp + 0x10]
push eax
mov edx, edi
mov ecx, esi
call fcn.0040e05e
jmp 0x40c3e8
and dword [esp + 0x10], 0
jmp 0x40c3e8
cmp eax, 0x2c
jne 0x40c4f9
mov ecx, dword [edi + 0x14]
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
cmp dword [edi], eax
jne 0x40c4e2
test ecx, ecx
je 0x40c4e2
cmp dword [ecx], 0x1313
jne 0x40c4e2
mov edx, edi
mov ecx, esi
call fcn.0040f725
xor eax, eax
inc eax
jmp 0x40c4e7
and dword [esp + 0x10], 0
cmp dword [esp + 0x10], 0
mov dword [ebx], eax
je 0x40bf90
jmp 0x40bf92
cmp eax, 0x37f
jne 0x40bf90
mov eax, edi
mov ecx, esi
call fcn.0040d360
jmp 0x40c21b