Function at 0xa78564
Capabilities:
Capture webcam image

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x44
mov eax, dword [0xc940a0]
xor eax, esp
mov dword [esp + 0x40], eax
push ebx
mov ebx, dword [ebp + 8]
xor edx, edx
push esi
push edi
mov esi, ecx
mov dword [esp + 0x20], ebx
mov ecx, dword [ebx + 8]
mov edi, 0xfffffb1f
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], edx
cmp ecx, edi
je 0xb2bdc9
cmp ecx, 0xfffffc7a
je 0xa7863d
cmp ecx, 0xfffffd2c
je 0xb2bd77
cmp ecx, 0xfffffd35
je 0xb2bc62
cmp ecx, 0xfffffd37
je 0xb2bdec
cmp ecx, 0xfffffff4
jne 0xa78639
mov ecx, dword [esi + 0xfc]
mov edi, dword [ebx]
cmp edi, dword [ecx + 0x20]
je 0xb2bc49
xor ecx, ecx
mov eax, ecx
sub eax, 0
je 0xa78630
sub eax, 1
je 0xa7862c
sub eax, 1
jne 0xa7862c
push 0x50
pop eax
cmp dword [esi + eax], edi
je 0xa78634
inc ecx
cmp ecx, 3
jb 0xa785e8
test edx, edx
je 0xa78662
push ebx
push ecx
mov ecx, esi
call fcn.00a78668
mov edi, eax
mov ecx, dword [esp + 0x4c]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00ab3c50
mov esp, ebp
pop ebp
ret 4
push 0x40
jmp 0xa785fb
push 0x60
jmp 0xa785fb
xor edx, edx
inc edx
jmp 0xa78601
mov edi, edx
jmp 0xa78616
lea eax, [esp + 0x2c]
push eax
push dword [esi + 0x60]
call dword [sym.imp.ext_ms_win_rtcore_ntuser_window_ext_l1_1_0.dll_GetWindowRect]
mov eax, dword [ebx + 0xc]
sub eax, 1
jne 0xb2bdac
mov eax, dword [esp + 0x34]
sub eax, dword [esp + 0x2c]
mov dword [ebx + 0x10], eax
mov edi, dword [esp + 0xc]
jmp 0xa78616
mov edi, edx
cmp dword [esi + 0xcc], edx
jne 0xa78616
push ebx
call fcn.00b7fb21
jmp 0xa78614
mov edi, dword [ebx + 0x1c]
mov dword [esp + 0x24], edi
test edi, edi
je 0xa78639
mov eax, dword [edi + 0x454]
mov dword [esp + 0x28], eax
test eax, eax
jne 0xb2bd28
push edx
mov ecx, esi
call fcn.00b8982f
push 3
call fcn.00a60aeb
test dword [edi + 0xc], eax
jne 0xb2bd00
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push edi
call fcn.00a4e123
mov eax, dword [esp + 0x10]
test eax, eax
je 0xb2bd00
mov ecx, dword [ebx + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], eax
cmp ecx, 0xffffffff
je 0xb2bd00
push ecx
push dword [eax + 0x10]
call fcn.00a4ec4a
test eax, eax
je 0xb2bd00
mov eax, dword [esp + 0x10]
and dword [esp + 0x18], 0
cmp dword [eax + 0xc], 0
jbe 0xb2bd00
mov ebx, dword [esp + 0x18]
mov esi, eax
mov edi, dword [esp + 0x1c]
mov ecx, dword [esi + ebx*4]
push edi
call fcn.00b869f8
inc ebx
cmp ebx, dword [esi + 0xc]
jb 0xb2bce5
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
cmp dword [edi + 0x18], 0
je 0xb2bd0f
push dword [edi + 0x18]
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp edi, dword [esi + 0x188]
jne 0xb2bd1e
and dword [esi + 0x188], 0
push ecx
mov ecx, edi
call fcn.00b883fd
jmp 0xb2bd2e
mov dword [edi + 0x454], edx
push 7
pop ecx
xor eax, eax
mov dword [esp + 0x2c], 0x20
lea edi, [esp + 0x30]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x30], 0x10
push eax
push dword [ebx + 0xc]
push 0x440
push dword [ebx]
call dword [sym.imp.ext_ms_win_rtcore_ntuser_window_ext_l1_1_0.dll_SendMessageW]
cmp dword [esp + 0x28], 0
jne 0xa78662
push 1
mov ecx, esi
call fcn.00b8982f
jmp 0xa78662
xor edi, edi
inc edi
cmp dword [ebx + 0x10], 0xffffffff
je 0xb2bd89
cmp dword [ebx + 0x10], edi
jne 0xa78616
cmp dword [ebx + 0x10], 1
mov ecx, esi
sete al
movzx eax, al
push eax
push dword [ebx]
call fcn.00b8afbe
test al, al
jne 0xa78616
xor edi, edi
jmp 0xa78616
mov edi, dword [esp + 0xc]
sub eax, 1
jne 0xa78616
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 0x30]
mov dword [ebx + 0x14], eax
jmp 0xa78616
cmp dword [esi + 0x114], edx
jne 0xb2bdec
mov eax, dword [esi + 0xfc]
mov eax, dword [eax + 0x20]
cmp dword [ebx], eax
jne 0xb2bdec
push edx
push edx
push eax
call dword [sym.imp.ext_ms_win_ntuser_draw_l1_1_0.dll_InvalidateRect]
mov ecx, dword [ebx + 8]
xor edx, edx
cmp ecx, edi
jne 0xb2bdf5
mov eax, dword [ebx + 0xc]
jmp 0xb2bdf8
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x10], eax
test al, 0x20
je 0xb2be16
push 1
mov ecx, esi
mov dword [esi + 0xdc], edx
call fcn.00b8982f
mov ecx, dword [ebx + 8]
mov eax, dword [esp + 0x10]
cmp ecx, 0xfffffd37
jne 0xa78662
test al, 1
je 0xb2be3a
push 0
push 0x10001
push 0x127
push dword [ebx]
call dword [sym.imp.ext_ms_win_rtcore_ntuser_window_ext_l1_1_0.dll_SendMessageW]
call fcn.00a78f8c
test eax, eax
je 0xa78662
push dword [ebx]
mov ecx, esi
call fcn.00b8a774
mov ecx, dword [ebx + 0x14]
mov esi, eax
mov dword [esp + 0x10], esi
test cl, 0x10
jne 0xb2be9d
push 0
push dword [ebx + 0xc]
push 0x419
push dword [ebx]
call dword [sym.imp.ext_ms_win_rtcore_ntuser_window_ext_l1_1_0.dll_SendMessageW]
mov edi, eax
mov ecx, esi
push 1
push edi
call fcn.00a48ab1
push 8
mov esi, eax
call dword [sym.imp.USER32.dll_GetSysColor]
mov ecx, dword [esp + 0x14]
push eax
push dword [esi + 0x14]
push esi
mov esi, dword [esp + 0x1c]
push edi
push esi
call fcn.00b8c68a
mov ecx, dword [ebx + 0x14]
test cl, 0x20
jne 0xa78662
push 0
push dword [ebx + 0x10]
push 0x419
push dword [ebx]
call dword [sym.imp.ext_ms_win_rtcore_ntuser_window_ext_l1_1_0.dll_SendMessageW]
mov edi, eax
mov ecx, esi
push 1
push edi
call fcn.00a48ab1
push 0xe
mov esi, eax
call dword [sym.imp.USER32.dll_GetSysColor]
mov ecx, dword [esp + 0x14]
push eax
push dword [esi + 0x14]
push esi
push edi
push dword [esp + 0x20]
call fcn.00b8c68a
jmp 0xa78662