Function at 0x420372
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 0x420658
dec eax
je 0x420472
dec eax
dec eax
jne 0x4203fa
mov eax, dword [ebp + 0xc]
cmp eax, 0x200
jne 0x4203c1
xor ebx, ebx
inc ebx
lea edx, [esp + 0x10]
mov dword [esp + 0x10], ebx
call fcn.00421c83
jmp 0x42060e
cmp eax, 0x104
jne 0x4203e1
mov ebx, dword [ebp + 0x10]
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 1
call fcn.00421de2
jmp 0x4207f3
cmp eax, 0x105
jne 0x420405
add esi, 0x85
mov al, byte [esi]
test al, 8
jne 0x4203f8
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 0x42042f
xor eax, eax
test byte [esi + 0x84], 1
jne 0x420426
mov ecx, dword [esi + 0x20]
cmp ecx, dword [esi + 4]
je 0x420426
cmp dword [ebp + 0x10], 0x20
je 0x420426
inc eax
mov dword [edi], edx
cmp eax, edx
jmp 0x4207fa
cmp eax, 0x100
jne 0x420451
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.00421e78
jmp 0x42060e
cmp eax, 0x213
jne 0x420460
mov dword [edi], 1
jmp 0x4203fa
cmp eax, 0x102
jne 0x4203fa
xor eax, eax
cmp dword [ebp + 0x10], 0x1b
sete al
jmp 0x420426
cmp dword [ebp + 0xc], 0x4e
jne 0x420550
cmp dword [ebx + 8], 0xfffffd37
jne 0x4204b5
mov eax, dword [ebx]
mov dword [esp + 0x10], 1
cmp eax, dword [esi + 4]
je 0x42049c
mov dword [esp + 0x10], edx
xor eax, eax
jmp 0x4204a9
lea eax, [esp + 0x10]
push eax
push ebx
call fcn.004218e0
xor edx, edx
mov dword [edi], eax
cmp dword [esp + 0x10], edx
jne 0x42066f
cmp dword [ebx + 8], 0xfffffd3a
jne 0x42051d
mov ecx, dword [ebx]
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
cmp ecx, dword [esi + 4]
je 0x4204d2
mov dword [esp + 0x10], edx
jmp 0x420511
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, dword [esi + 4]
je 0x4204e8
mov edi, esi
call fcn.00423c7d
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.004233b8
xor eax, eax
xor edx, edx
cmp dword [esp + 0x10], edx
mov dword [edi], eax
jne 0x42066f
call fcn.0042233d
cmp dword [ebp + 0xc], eax
je 0x4207ae
mov eax, dword [ebp + 0xc]
cmp eax, 0x112
jne 0x420579
push dword [ebp + 0x10]
lea ebx, [esp + 0x14]
mov eax, esi
mov dword [esp + 0x14], 1
call fcn.0042196f
jmp 0x4207f3
mov eax, 0x117
cmp dword [ebp + 0xc], eax
jne 0x42051d
push dword [ebp + 0x10]
lea edx, [esp + 0x14]
push eax
push esi
mov ecx, ebx
mov dword [esp + 0x1c], 1
call fcn.00421077
cmp dword [esp + 0x10], 0
jmp 0x420515
cmp eax, 0x52e
je 0x42088e
cmp eax, 0x120
je 0x4207da
cmp eax, 0x52f
jne 0x4205c2
test ebx, ebx
je 0x4208b0
cmp dword [ebx], 0x18
jne 0x4208b0
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.00420324
jmp 0x42066d
cmp eax, 0x52d
je 0x4208a8
cmp eax, 0x1a
jne 0x4205e1
push dword [ebp + 0x10]
mov ecx, esi
call fcn.00421562
jmp 0x420458
cmp eax, 0x2b
je 0x4208bc
cmp eax, 0x2c
je 0x4208ff
cmp eax, 6
jne 0x420622
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.00421a1a
cmp dword [esp + 0x10], 0
mov dword [edi], eax
je 0x4203fa
mov eax, ebx
jmp 0x4203fc
cmp eax, 0x4e
jne 0x4203fa
cmp dword [ebx + 8], 0xfffffff4
jne 0x4203fa
mov ecx, dword [ebx]
xor eax, eax
mov dword [esp + 0x10], eax
cmp ecx, dword [esi + 4]
jne 0x4207f3
mov ecx, ebx
lea edx, [esp + 0x10]
mov ebx, esi
call fcn.00421a77
jmp 0x4207f3
mov ecx, dword [ebp + 0xc]
xor eax, eax
inc eax
cmp ecx, eax
jne 0x420677
push ebx
push dword [ebp + 0x10]
push eax
push esi
call fcn.00420b9c
mov dword [edi], eax
xor eax, eax
inc eax
jmp 0x4203fc
cmp ecx, 2
jne 0x42068a
push ebx
push dword [ebp + 0x10]
push ecx
mov ecx, esi
call fcn.00420d4d
jmp 0x42066d
cmp ecx, 0x14
jne 0x4206ec
test byte [esi + 0x84], 2
mov dword [esp + 0x10], eax
jne 0x4206d8
test byte [esi + 0x58], 1
jne 0x4206d8
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 0x4206de
mov dword [esp + 0x10], edx
xor eax, eax
cmp dword [esp + 0x10], edx
mov dword [edi], eax
je 0x420786
jmp 0x42066f
cmp ecx, 0x116
jne 0x420728
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 0x420786
mov eax, 0x117
cmp ecx, eax
jne 0x420750
push dword [ebp + 0x10]
lea edx, [esp + 0x14]
push eax
push esi
mov ecx, ebx
mov dword [esp + 0x1c], 1
call fcn.00421077
cmp dword [esp + 0x10], 0
jmp 0x4206e2
mov eax, 0x11f
cmp ecx, eax
jne 0x420786
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.004213f5
cmp dword [esp + 0x10], 0
mov ecx, dword [esp + 0x14]
mov dword [ecx], eax
jne 0x42066f
mov edi, ecx
call fcn.004222e6
cmp dword [ebp + 0xc], eax
jne 0x4207a4
push 0
push dword [ebp + 0x10]
mov ecx, esi
call fcn.004233b8
and dword [edi], 0
jmp 0x42066f
call fcn.0042233d
cmp dword [ebp + 0xc], eax
jne 0x4207bc
mov eax, dword [ebp + 0x10]
push esi
call fcn.00421536
jmp 0x42066d
mov eax, dword [ebp + 0xc]
cmp eax, 0x1a
jne 0x4207d3
push dword [ebp + 0x10]
mov ecx, esi
call fcn.00421562
jmp 0x42066d
cmp eax, 0x120
jne 0x420805
lea eax, [esp + 0x10]
push eax
push dword [ebp + 0x10]
mov ecx, ebx
mov edx, esi
mov dword [esp + 0x18], 1
call fcn.00421587
cmp dword [esp + 0x10], 0
mov dword [edi], eax
je 0x4203fa
jmp 0x42066f
cmp eax, 0x100
jne 0x420827
lea eax, [esp + 0x10]
push eax
push dword [ebp + 0x10]
mov eax, ebx
mov ecx, esi
mov dword [esp + 0x18], 1
call fcn.00420e9b
jmp 0x4207f3
cmp eax, 0x101
jne 0x420840
xor eax, eax
inc eax
cmp dword [ebp + 0x10], 0x20
je 0x420839
xor eax, eax
and dword [edi], 0
test eax, eax
jmp 0x4207fa
cmp eax, 0x102
jne 0x42086a
cmp dword [ebp + 0x10], 0x20
mov dword [esp + 0x10], 1
je 0x420866
lea eax, [esp + 0x10]
push eax
push dword [ebp + 0x10]
mov ecx, esi
call fcn.00420f4d
jmp 0x4207f3
xor eax, eax
jmp 0x4207f3
cmp eax, 0x104
jne 0x420879
and dword [edi], 0
jmp 0x4203fa
cmp eax, 0x105
je 0x420871
cmp eax, 0x106
je 0x420871
cmp eax, 0x52e
jne 0x420896
mov eax, dword [esi + 0x44]
jmp 0x42066d
cmp eax, 0x52f
je 0x420596
cmp eax, 0x52d
jne 0x4208b7
mov eax, dword [esi + 4]
jmp 0x42066d
xor eax, eax
jmp 0x42066d
cmp eax, 0x2b
jne 0x4208fa
mov ecx, dword [ebx + 0x2c]
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
cmp dword [ebx], eax
jne 0x4208e3
test ecx, ecx
je 0x4208e3
cmp dword [ecx], 0x1313
jne 0x4208e3
push esi
mov ecx, ebx
call fcn.004225c4
xor eax, eax
inc eax
jmp 0x4208e8
and dword [esp + 0x10], 0
cmp dword [esp + 0x10], 0
mov dword [edi], eax
je 0x4203fa
jmp 0x4203fc
cmp eax, 0x2c
jne 0x420924
mov ecx, dword [ebx + 0x14]
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
cmp dword [ebx], eax
jne 0x4208e3
test ecx, ecx
je 0x4208e3
cmp dword [ecx], 0x1313
jne 0x4208e3
mov ecx, ebx
mov ebx, esi
call fcn.00423019
jmp 0x4208de
cmp eax, 0x37f
jne 0x4203fa
mov eax, ebx
mov ecx, esi
call fcn.00420b45
jmp 0x42066d