Function at 0x41f94f
Capabilities:
Capture webcam image

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
mov eax, dword [ebp + 0x1c]
push ebx
mov ebx, dword [ebp + 0x14]
push esi
push edi
mov edi, dword [ebp + 0x18]
xor edx, edx
sub eax, edx
mov esi, ecx
mov dword [esp + 0x14], edi
je 0x41fc35
dec eax
je 0x41fa4f
dec eax
dec eax
jne 0x41f9d7
mov eax, dword [ebp + 0xc]
cmp eax, 0x200
jne 0x41f99e
xor ebx, ebx
inc ebx
lea edx, [esp + 0x10]
mov dword [esp + 0x10], ebx
call fcn.00421264
jmp 0x41fbeb
cmp eax, 0x104
jne 0x41f9be
mov ebx, dword [ebp + 0x10]
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 1
call fcn.004213c3
jmp 0x41fdd0
cmp eax, 0x105
jne 0x41f9e2
add esi, 0x85
mov al, byte [esi]
test al, 8
jne 0x41f9d5
or al, 8
mov byte [esi], al
mov dword [edi], edx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 0x106
jne 0x41fa0c
xor eax, eax
test byte [esi + 0x84], 1
jne 0x41fa03
mov ecx, dword [esi + 0x20]
cmp ecx, dword [esi + 4]
je 0x41fa03
cmp dword [ebp + 0x10], 0x20
je 0x41fa03
inc eax
mov dword [edi], edx
cmp eax, edx
jmp 0x41fdd7
cmp eax, 0x100
jne 0x41fa2e
lea eax, [esp + 0x10]
push eax
push dword [ebp + 0x10]
xor ebx, ebx
inc ebx
mov eax, esi
mov dword [esp + 0x18], ebx
call fcn.00421459
jmp 0x41fbeb
cmp eax, 0x213
jne 0x41fa3d
mov dword [edi], 1
jmp 0x41f9d7
cmp eax, 0x102
jne 0x41f9d7
xor eax, eax
cmp dword [ebp + 0x10], 0x1b
sete al
jmp 0x41fa03
cmp dword [ebp + 0xc], 0x4e
jne 0x41fb2d
cmp dword [ebx + 8], 0xfffffd37
jne 0x41fa92
mov eax, dword [ebx]
mov dword [esp + 0x10], 1
cmp eax, dword [esi + 4]
je 0x41fa79
mov dword [esp + 0x10], edx
xor eax, eax
jmp 0x41fa86
lea eax, [esp + 0x10]
push eax
push ebx
call fcn.00420ec1
xor edx, edx
mov dword [edi], eax
cmp dword [esp + 0x10], edx
jne 0x41fc4c
cmp dword [ebx + 8], 0xfffffd3a
jne 0x41fafa
mov ecx, dword [ebx]
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
cmp ecx, dword [esi + 4]
je 0x41faaf
mov dword [esp + 0x10], edx
jmp 0x41faee
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, dword [esi + 4]
je 0x41fac5
mov edi, esi
call fcn.00423102
mov edi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
push 0
push eax
push 0x419
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
and byte [esi + 0x84], 0xcf
push 1
push eax
mov ecx, esi
call fcn.0042283d
xor eax, eax
xor edx, edx
cmp dword [esp + 0x10], edx
mov dword [edi], eax
jne 0x41fc4c
call fcn.0042191e
cmp dword [ebp + 0xc], eax
je 0x41fd8b
mov eax, dword [ebp + 0xc]
cmp eax, 0x112
jne 0x41fb56
push dword [ebp + 0x10]
lea ebx, [esp + 0x14]
mov eax, esi
mov dword [esp + 0x14], 1
call fcn.00420f50
jmp 0x41fdd0
mov eax, 0x117
cmp dword [ebp + 0xc], eax
jne 0x41fafa
push dword [ebp + 0x10]
lea edx, [esp + 0x14]
push eax
push esi
mov ecx, ebx
mov dword [esp + 0x1c], 1
call fcn.00420658
cmp dword [esp + 0x10], 0
jmp 0x41faf2
cmp eax, 0x52e
je 0x41fe6b
cmp eax, 0x120
je 0x41fdb7
cmp eax, 0x52f
jne 0x41fb9f
test ebx, ebx
je 0x41fe8d
cmp dword [ebx], 0x18
jne 0x41fe8d
push dword [ebx + 0x14]
mov eax, esi
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.0041f901
jmp 0x41fc4a
cmp eax, 0x52d
je 0x41fe85
cmp eax, 0x1a
jne 0x41fbbe
push dword [ebp + 0x10]
mov ecx, esi
call fcn.00420b43
jmp 0x41fa35
cmp eax, 0x2b
je 0x41fe99
cmp eax, 0x2c
je 0x41fedc
cmp eax, 6
jne 0x41fbff
lea eax, [esp + 0x10]
push eax
push dword [ebp + 0x10]
xor ebx, ebx
inc ebx
mov eax, esi
mov dword [esp + 0x18], ebx
call fcn.00420ffb
cmp dword [esp + 0x10], 0
mov dword [edi], eax
je 0x41f9d7
mov eax, ebx
jmp 0x41f9d9
cmp eax, 0x4e
jne 0x41f9d7
cmp dword [ebx + 8], 0xfffffff4
jne 0x41f9d7
mov ecx, dword [ebx]
xor eax, eax
mov dword [esp + 0x10], eax
cmp ecx, dword [esi + 4]
jne 0x41fdd0
mov ecx, ebx
lea edx, [esp + 0x10]
mov ebx, esi
call fcn.00421058
jmp 0x41fdd0
mov ecx, dword [ebp + 0xc]
xor eax, eax
inc eax
cmp ecx, eax
jne 0x41fc54
push ebx
push dword [ebp + 0x10]
push eax
push esi
call fcn.0042017d
mov dword [edi], eax
xor eax, eax
inc eax
jmp 0x41f9d9
cmp ecx, 2
jne 0x41fc67
push ebx
push dword [ebp + 0x10]
push ecx
mov ecx, esi
call fcn.0042032e
jmp 0x41fc4a
cmp ecx, 0x14
jne 0x41fcc9
test byte [esi + 0x84], 2
mov dword [esp + 0x10], eax
jne 0x41fcb5
test byte [esi + 0x58], 1
jne 0x41fcb5
and dword [esp + 0x18], edx
xor eax, eax
lea edi, [esp + 0x1c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [esp + 0x18]
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetClientRect]
push 5
lea eax, [esp + 0x1c]
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 0x41fcbb
mov dword [esp + 0x10], edx
xor eax, eax
cmp dword [esp + 0x10], edx
mov dword [edi], eax
je 0x41fd63
jmp 0x41fc4c
cmp ecx, 0x116
jne 0x41fd05
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 [edi], 1
jmp 0x41fd63
mov eax, 0x117
cmp ecx, eax
jne 0x41fd2d
push dword [ebp + 0x10]
lea edx, [esp + 0x14]
push eax
push esi
mov ecx, ebx
mov dword [esp + 0x1c], 1
call fcn.00420658
cmp dword [esp + 0x10], 0
jmp 0x41fcbf
mov eax, 0x11f
cmp ecx, eax
jne 0x41fd63
lea ecx, [esp + 0x10]
push ecx
mov ecx, dword [ebp + 0x10]
push eax
mov eax, ebx
mov edi, esi
mov dword [esp + 0x18], 1
call fcn.004209d6
cmp dword [esp + 0x10], 0
mov ecx, dword [esp + 0x14]
mov dword [ecx], eax
jne 0x41fc4c
mov edi, ecx
call fcn.004218c7
cmp dword [ebp + 0xc], eax
jne 0x41fd81
push 0
push dword [ebp + 0x10]
mov ecx, esi
call fcn.0042283d
and dword [edi], 0
jmp 0x41fc4c
call fcn.0042191e
cmp dword [ebp + 0xc], eax
jne 0x41fd99
mov eax, dword [ebp + 0x10]
push esi
call fcn.00420b17
jmp 0x41fc4a
mov eax, dword [ebp + 0xc]
cmp eax, 0x1a
jne 0x41fdb0
push dword [ebp + 0x10]
mov ecx, esi
call fcn.00420b43
jmp 0x41fc4a
cmp eax, 0x120
jne 0x41fde2
lea eax, [esp + 0x10]
push eax
push dword [ebp + 0x10]
mov ecx, ebx
mov edx, esi
mov dword [esp + 0x18], 1
call fcn.00420b68
cmp dword [esp + 0x10], 0
mov dword [edi], eax
je 0x41f9d7
jmp 0x41fc4c
cmp eax, 0x100
jne 0x41fe04
lea eax, [esp + 0x10]
push eax
push dword [ebp + 0x10]
mov eax, ebx
mov ecx, esi
mov dword [esp + 0x18], 1
call fcn.0042047c
jmp 0x41fdd0
cmp eax, 0x101
jne 0x41fe1d
xor eax, eax
inc eax
cmp dword [ebp + 0x10], 0x20
je 0x41fe16
xor eax, eax
and dword [edi], 0
test eax, eax
jmp 0x41fdd7
cmp eax, 0x102
jne 0x41fe47
cmp dword [ebp + 0x10], 0x20
mov dword [esp + 0x10], 1
je 0x41fe43
lea eax, [esp + 0x10]
push eax
push dword [ebp + 0x10]
mov ecx, esi
call fcn.0042052e
jmp 0x41fdd0
xor eax, eax
jmp 0x41fdd0
cmp eax, 0x104
jne 0x41fe56
and dword [edi], 0
jmp 0x41f9d7
cmp eax, 0x105
je 0x41fe4e
cmp eax, 0x106
je 0x41fe4e
cmp eax, 0x52e
jne 0x41fe73
mov eax, dword [esi + 0x44]
jmp 0x41fc4a
cmp eax, 0x52f
je 0x41fb73
cmp eax, 0x52d
jne 0x41fe94
mov eax, dword [esi + 4]
jmp 0x41fc4a
xor eax, eax
jmp 0x41fc4a
cmp eax, 0x2b
jne 0x41fed7
mov ecx, dword [ebx + 0x2c]
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
cmp dword [ebx], eax
jne 0x41fec0
test ecx, ecx
je 0x41fec0
cmp dword [ecx], 0x1313
jne 0x41fec0
push esi
mov ecx, ebx
call fcn.00421aa6
xor eax, eax
inc eax
jmp 0x41fec5
and dword [esp + 0x10], 0
cmp dword [esp + 0x10], 0
mov dword [edi], eax
je 0x41f9d7
jmp 0x41f9d9
cmp eax, 0x2c
jne 0x41ff01
mov ecx, dword [ebx + 0x14]
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
cmp dword [ebx], eax
jne 0x41fec0
test ecx, ecx
je 0x41fec0
cmp dword [ecx], 0x1313
jne 0x41fec0
mov ecx, ebx
mov ebx, esi
call fcn.0042249e
jmp 0x41febb
cmp eax, 0x37f
jne 0x41f9d7
mov eax, ebx
mov ecx, esi
call fcn.00420126
jmp 0x41fc4a