Function at 0x420acc
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 0x420db2
dec eax
je 0x420bcc
dec eax
dec eax
jne 0x420b54
mov eax, dword [ebp + 0xc]
cmp eax, 0x200
jne 0x420b1b
xor ebx, ebx
inc ebx
lea edx, [esp + 0x10]
mov dword [esp + 0x10], ebx
call fcn.004223ba
jmp 0x420d68
cmp eax, 0x104
jne 0x420b3b
mov ebx, dword [ebp + 0x10]
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 1
call fcn.00422519
jmp 0x420f4d
cmp eax, 0x105
jne 0x420b5f
add esi, 0x85
mov al, byte [esi]
test al, 8
jne 0x420b52
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 0x420b89
xor eax, eax
test byte [esi + 0x84], 1
jne 0x420b80
mov ecx, dword [esi + 0x20]
cmp ecx, dword [esi + 4]
je 0x420b80
cmp dword [ebp + 0x10], 0x20
je 0x420b80
inc eax
mov dword [edi], edx
cmp eax, edx
jmp 0x420f54
cmp eax, 0x100
jne 0x420bab
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.004225af
jmp 0x420d68
cmp eax, 0x213
jne 0x420bba
mov dword [edi], 1
jmp 0x420b54
cmp eax, 0x102
jne 0x420b54
xor eax, eax
cmp dword [ebp + 0x10], 0x1b
sete al
jmp 0x420b80
cmp dword [ebp + 0xc], 0x4e
jne 0x420caa
cmp dword [ebx + 8], 0xfffffd37
jne 0x420c0f
mov eax, dword [ebx]
mov dword [esp + 0x10], 1
cmp eax, dword [esi + 4]
je 0x420bf6
mov dword [esp + 0x10], edx
xor eax, eax
jmp 0x420c03
lea eax, [esp + 0x10]
push eax
push ebx
call fcn.00422017
xor edx, edx
mov dword [edi], eax
cmp dword [esp + 0x10], edx
jne 0x420dc9
cmp dword [ebx + 8], 0xfffffd3a
jne 0x420c77
mov ecx, dword [ebx]
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
cmp ecx, dword [esi + 4]
je 0x420c2c
mov dword [esp + 0x10], edx
jmp 0x420c6b
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, dword [esi + 4]
je 0x420c42
mov edi, esi
call fcn.0042423c
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.00423977
xor eax, eax
xor edx, edx
cmp dword [esp + 0x10], edx
mov dword [edi], eax
jne 0x420dc9
call fcn.00422a74
cmp dword [ebp + 0xc], eax
je 0x420f08
mov eax, dword [ebp + 0xc]
cmp eax, 0x112
jne 0x420cd3
push dword [ebp + 0x10]
lea ebx, [esp + 0x14]
mov eax, esi
mov dword [esp + 0x14], 1
call fcn.004220a6
jmp 0x420f4d
mov eax, 0x117
cmp dword [ebp + 0xc], eax
jne 0x420c77
push dword [ebp + 0x10]
lea edx, [esp + 0x14]
push eax
push esi
mov ecx, ebx
mov dword [esp + 0x1c], 1
call fcn.004217ae
cmp dword [esp + 0x10], 0
jmp 0x420c6f
cmp eax, 0x52e
je 0x420fe8
cmp eax, 0x120
je 0x420f34
cmp eax, 0x52f
jne 0x420d1c
test ebx, ebx
je 0x42100a
cmp dword [ebx], 0x18
jne 0x42100a
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.00420a7e
jmp 0x420dc7
cmp eax, 0x52d
je 0x421002
cmp eax, 0x1a
jne 0x420d3b
push dword [ebp + 0x10]
mov ecx, esi
call fcn.00421c99
jmp 0x420bb2
cmp eax, 0x2b
je 0x421016
cmp eax, 0x2c
je 0x421059
cmp eax, 6
jne 0x420d7c
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.00422151
cmp dword [esp + 0x10], 0
mov dword [edi], eax
je 0x420b54
mov eax, ebx
jmp 0x420b56
cmp eax, 0x4e
jne 0x420b54
cmp dword [ebx + 8], 0xfffffff4
jne 0x420b54
mov ecx, dword [ebx]
xor eax, eax
mov dword [esp + 0x10], eax
cmp ecx, dword [esi + 4]
jne 0x420f4d
mov ecx, ebx
lea edx, [esp + 0x10]
mov ebx, esi
call fcn.004221ae
jmp 0x420f4d
mov ecx, dword [ebp + 0xc]
xor eax, eax
inc eax
cmp ecx, eax
jne 0x420dd1
push ebx
push dword [ebp + 0x10]
push eax
push esi
call fcn.004212d3
mov dword [edi], eax
xor eax, eax
inc eax
jmp 0x420b56
cmp ecx, 2
jne 0x420de4
push ebx
push dword [ebp + 0x10]
push ecx
mov ecx, esi
call fcn.00421484
jmp 0x420dc7
cmp ecx, 0x14
jne 0x420e46
test byte [esi + 0x84], 2
mov dword [esp + 0x10], eax
jne 0x420e32
test byte [esi + 0x58], 1
jne 0x420e32
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 0x420e38
mov dword [esp + 0x10], edx
xor eax, eax
cmp dword [esp + 0x10], edx
mov dword [edi], eax
je 0x420ee0
jmp 0x420dc9
cmp ecx, 0x116
jne 0x420e82
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 0x420ee0
mov eax, 0x117
cmp ecx, eax
jne 0x420eaa
push dword [ebp + 0x10]
lea edx, [esp + 0x14]
push eax
push esi
mov ecx, ebx
mov dword [esp + 0x1c], 1
call fcn.004217ae
cmp dword [esp + 0x10], 0
jmp 0x420e3c
mov eax, 0x11f
cmp ecx, eax
jne 0x420ee0
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.00421b2c
cmp dword [esp + 0x10], 0
mov ecx, dword [esp + 0x14]
mov dword [ecx], eax
jne 0x420dc9
mov edi, ecx
call fcn.00422a1d
cmp dword [ebp + 0xc], eax
jne 0x420efe
push 0
push dword [ebp + 0x10]
mov ecx, esi
call fcn.00423977
and dword [edi], 0
jmp 0x420dc9
call fcn.00422a74
cmp dword [ebp + 0xc], eax
jne 0x420f16
mov eax, dword [ebp + 0x10]
push esi
call fcn.00421c6d
jmp 0x420dc7
mov eax, dword [ebp + 0xc]
cmp eax, 0x1a
jne 0x420f2d
push dword [ebp + 0x10]
mov ecx, esi
call fcn.00421c99
jmp 0x420dc7
cmp eax, 0x120
jne 0x420f5f
lea eax, [esp + 0x10]
push eax
push dword [ebp + 0x10]
mov ecx, ebx
mov edx, esi
mov dword [esp + 0x18], 1
call fcn.00421cbe
cmp dword [esp + 0x10], 0
mov dword [edi], eax
je 0x420b54
jmp 0x420dc9
cmp eax, 0x100
jne 0x420f81
lea eax, [esp + 0x10]
push eax
push dword [ebp + 0x10]
mov eax, ebx
mov ecx, esi
mov dword [esp + 0x18], 1
call fcn.004215d2
jmp 0x420f4d
cmp eax, 0x101
jne 0x420f9a
xor eax, eax
inc eax
cmp dword [ebp + 0x10], 0x20
je 0x420f93
xor eax, eax
and dword [edi], 0
test eax, eax
jmp 0x420f54
cmp eax, 0x102
jne 0x420fc4
cmp dword [ebp + 0x10], 0x20
mov dword [esp + 0x10], 1
je 0x420fc0
lea eax, [esp + 0x10]
push eax
push dword [ebp + 0x10]
mov ecx, esi
call fcn.00421684
jmp 0x420f4d
xor eax, eax
jmp 0x420f4d
cmp eax, 0x104
jne 0x420fd3
and dword [edi], 0
jmp 0x420b54
cmp eax, 0x105
je 0x420fcb
cmp eax, 0x106
je 0x420fcb
cmp eax, 0x52e
jne 0x420ff0
mov eax, dword [esi + 0x44]
jmp 0x420dc7
cmp eax, 0x52f
je 0x420cf0
cmp eax, 0x52d
jne 0x421011
mov eax, dword [esi + 4]
jmp 0x420dc7
xor eax, eax
jmp 0x420dc7
cmp eax, 0x2b
jne 0x421054
mov ecx, dword [ebx + 0x2c]
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
cmp dword [ebx], eax
jne 0x42103d
test ecx, ecx
je 0x42103d
cmp dword [ecx], 0x1313
jne 0x42103d
push esi
mov ecx, ebx
call fcn.00422b83
xor eax, eax
inc eax
jmp 0x421042
and dword [esp + 0x10], 0
cmp dword [esp + 0x10], 0
mov dword [edi], eax
je 0x420b54
jmp 0x420b56
cmp eax, 0x2c
jne 0x42107e
mov ecx, dword [ebx + 0x14]
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
cmp dword [ebx], eax
jne 0x42103d
test ecx, ecx
je 0x42103d
cmp dword [ecx], 0x1313
jne 0x42103d
mov ecx, ebx
mov ebx, esi
call fcn.004235d8
jmp 0x421038
cmp eax, 0x37f
jne 0x420b54
mov eax, ebx
mov ecx, esi
call fcn.0042127c
jmp 0x420dc7