Function at 0x40d6af
Capabilities:
Capture webcam image

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
mov eax, dword [0x42f064]
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 0x40d9bf
dec eax
je 0x40d7cb
dec eax
dec eax
jne 0x40d748
mov eax, dword [ebp + 0xc]
cmp eax, 0x200
jne 0x40d70d
xor edi, edi
inc edi
lea edx, [esp + 0x10]
mov dword [esp + 0x10], edi
call fcn.00410241
jmp 0x40d971
cmp eax, 0x104
jne 0x40d72d
mov ebx, dword [ebp + 0x10]
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 1
call fcn.004103a0
jmp 0x40db6a
cmp eax, 0x105
jne 0x40d75e
mov al, byte [esi + 0x85]
test al, 8
jne 0x40d746
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.00414657
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 0x106
jne 0x40d788
xor eax, eax
test byte [esi + 0x84], 1
jne 0x40d77f
mov ecx, dword [esi + 0x20]
cmp ecx, dword [esi + 4]
je 0x40d77f
cmp dword [ebp + 0x10], 0x20
je 0x40d77f
inc eax
mov dword [ebx], edx
cmp eax, edx
jmp 0x40db75
cmp eax, 0x100
jne 0x40d7aa
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.00410438
jmp 0x40d971
cmp eax, 0x213
jne 0x40d7b9
mov dword [ebx], 1
jmp 0x40d748
cmp eax, 0x102
jne 0x40d748
xor eax, eax
cmp dword [ebp + 0x10], 0x1b
sete al
jmp 0x40d77f
cmp dword [ebp + 0xc], 0x4e
jne 0x40d884
cmp dword [edi + 8], 0xfffffd37
jne 0x40d80e
mov eax, dword [edi]
mov dword [esp + 0x10], 1
cmp eax, dword [esi + 4]
je 0x40d7f5
mov dword [esp + 0x10], edx
xor eax, eax
jmp 0x40d802
lea eax, [esp + 0x10]
push eax
push edi
call fcn.0040fe99
xor edx, edx
mov dword [ebx], eax
cmp dword [esp + 0x10], edx
jne 0x40d9d5
cmp dword [edi + 8], 0xfffffd3a
jne 0x40d8b8
mov ecx, dword [edi]
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
cmp ecx, dword [esi + 4]
je 0x40d82f
mov dword [esp + 0x10], edx
jmp 0x40d877
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, dword [esi + 4]
je 0x40d845
mov edi, esi
call fcn.00412283
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.004119a9
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 0x40d8b8
jmp 0x40d9d5
mov eax, 0x117
cmp dword [ebp + 0xc], eax
jne 0x40d8b8
push dword [ebp + 0x10]
mov ecx, edi
push eax
lea edx, [esp + 0x18]
mov edi, esi
mov dword [esp + 0x18], 1
call fcn.0040f5e2
cmp dword [esp + 0x10], 0
mov dword [ebx], eax
jne 0x40d9d5
mov edi, dword [esp + 0x14]
call fcn.00410719
cmp dword [ebp + 0xc], eax
je 0x40db0e
mov eax, dword [ebp + 0xc]
cmp eax, 0x112
jne 0x40d8eb
push dword [ebp + 0x10]
lea ebx, [esp + 0x14]
mov eax, esi
mov dword [esp + 0x14], 1
call fcn.0040ff28
jmp 0x40db6a
cmp eax, 0x52e
je 0x40dc09
cmp eax, 0x120
je 0x40db52
cmp eax, 0x52f
je 0x40dc18
cmp eax, 0x52d
je 0x40dc38
cmp eax, 0x1a
jne 0x40d944
cmp dword [ebp + 0x10], 0x2a
je 0x40d938
cmp dword [ebp + 0x10], 0x100b
je 0x40d938
cmp dword [ebp + 0x10], 0x1023
jne 0x40d7b1
mov ecx, esi
call fcn.00411e06
jmp 0x40d7b1
cmp eax, 0x2b
je 0x40dc45
cmp eax, 0x2c
je 0x40dc72
cmp eax, 6
jne 0x40d985
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.0040ffd6
cmp dword [esp + 0x10], 0
mov dword [ebx], eax
je 0x40d748
mov eax, edi
jmp 0x40d74a
cmp eax, 0x4e
jne 0x40d748
cmp dword [edi + 8], 0xfffffff4
jne 0x40d748
mov ecx, dword [edi]
xor eax, eax
mov dword [esp + 0x10], eax
cmp ecx, dword [esi + 4]
jne 0x40dba0
lea edx, [esp + 0x10]
mov ecx, edi
mov ebx, esi
call fcn.00410035
mov ebx, dword [esp + 0x18]
jmp 0x40dba0
mov ecx, dword [ebp + 0xc]
xor eax, eax
inc eax
cmp ecx, eax
jne 0x40d9dd
push edi
push dword [ebp + 0x10]
push eax
call fcn.0040f143
mov dword [ebx], eax
xor eax, eax
inc eax
jmp 0x40d74a
cmp ecx, 2
jne 0x40d9f0
push edi
push dword [ebp + 0x10]
mov eax, esi
push ecx
call fcn.0040f2a1
jmp 0x40d9d3
cmp ecx, 0x14
jne 0x40da4e
test byte [esi + 0x84], 2
mov dword [esp + 0x10], eax
jne 0x40da3e
test byte [esi + 0x58], 1
jne 0x40da3e
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 0x40da44
mov dword [esp + 0x10], edx
xor eax, eax
mov dword [ebx], eax
cmp dword [esp + 0x10], edx
je 0x40dabd
jmp 0x40d9d5
cmp ecx, 0x116
jne 0x40da8a
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 0x40dabd
mov eax, 0x117
cmp ecx, eax
jne 0x40dadf
push dword [ebp + 0x10]
mov ecx, edi
push eax
lea edx, [esp + 0x18]
mov edi, esi
mov dword [esp + 0x18], 1
call fcn.0040f5e2
cmp dword [esp + 0x10], 0
mov dword [ebx], eax
jne 0x40d9d5
mov edi, dword [esp + 0x14]
call fcn.004106d8
cmp dword [ebp + 0xc], eax
jne 0x40db04
mov ecx, dword [ebp + 0x10]
push 0
mov ebx, esi
call fcn.004119a9
mov eax, dword [esp + 0x18]
and dword [eax], 0
jmp 0x40d9d5
mov eax, 0x11f
cmp ecx, eax
jne 0x40dabd
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.0040f910
jmp 0x40daac
call fcn.00410719
cmp dword [ebp + 0xc], eax
jne 0x40db1c
mov eax, dword [ebp + 0x10]
push esi
call fcn.0040fa51
jmp 0x40d9d3
mov eax, dword [ebp + 0xc]
cmp eax, 0x1a
jne 0x40db4b
cmp dword [ebp + 0x10], 0x2a
je 0x40db3c
cmp dword [ebp + 0x10], 0x100b
je 0x40db3c
cmp dword [ebp + 0x10], 0x1023
jne 0x40db43
mov ecx, esi
call fcn.00411e06
and dword [ebx], 0
jmp 0x40d9d5
cmp eax, 0x120
jne 0x40db80
push dword [ebp + 0x10]
lea edx, [esp + 0x14]
mov ecx, edi
mov ebx, esi
mov dword [esp + 0x14], 1
call fcn.0040fa7f
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
cmp dword [esp + 0x10], 0
je 0x40d748
jmp 0x40d9d5
cmp eax, 0x100
jne 0x40dba4
lea eax, [esp + 0x10]
push eax
push dword [ebp + 0x10]
mov eax, edi
mov ecx, esi
mov dword [esp + 0x18], 1
call fcn.0040f403
mov dword [ebx], eax
jmp 0x40db70
cmp eax, 0x101
jne 0x40dbbd
xor eax, eax
inc eax
cmp dword [ebp + 0x10], 0x20
je 0x40dbb6
xor eax, eax
and dword [ebx], 0
test eax, eax
jmp 0x40db75
cmp eax, 0x102
jne 0x40dbe5
cmp dword [ebp + 0x10], 0x20
mov dword [esp + 0x10], 1
je 0x40dbe1
lea eax, [esp + 0x10]
push eax
push dword [ebp + 0x10]
call fcn.0040f4b5
jmp 0x40dba0
xor eax, eax
jmp 0x40dba0
cmp eax, 0x104
jne 0x40dbf4
and dword [ebx], 0
jmp 0x40d748
cmp eax, 0x105
je 0x40dbec
cmp eax, 0x106
je 0x40dbec
cmp eax, 0x52e
jne 0x40dc11
mov eax, dword [esi + 0x44]
jmp 0x40d9d3
cmp eax, 0x52f
jne 0x40dc31
test edi, edi
jne 0x40dc23
xor eax, eax
jmp 0x40d9d3
mov eax, edi
mov ecx, esi
call fcn.0040fe28
jmp 0x40d9d3
cmp eax, 0x52d
jne 0x40dc40
mov eax, dword [esi + 4]
jmp 0x40d9d3
cmp eax, 0x2b
jne 0x40dc6d
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
cmp dword [edi], eax
jne 0x40dc63
lea eax, [esp + 0x10]
push eax
mov edx, edi
mov ecx, esi
call fcn.0040fdf0
jmp 0x40dba0
and dword [esp + 0x10], 0
jmp 0x40dba0
cmp eax, 0x2c
jne 0x40dcb1
mov ecx, dword [edi + 0x14]
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
cmp dword [edi], eax
jne 0x40dc9a
test ecx, ecx
je 0x40dc9a
cmp dword [ecx], 0x1313
jne 0x40dc9a
mov edx, edi
mov ecx, esi
call fcn.00411743
xor eax, eax
inc eax
jmp 0x40dc9f
and dword [esp + 0x10], 0
cmp dword [esp + 0x10], 0
mov dword [ebx], eax
je 0x40d748
jmp 0x40d74a
cmp eax, 0x37f
jne 0x40d748
mov eax, edi
mov ecx, esi
call fcn.0040f0ec
jmp 0x40d9d3