Function at 0xb588f3
Capabilities:
Capture webcam image

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x44
mov eax, dword [0xd08954]
xor eax, esp
mov dword [esp + 0x40], eax
push ebx
mov ebx, dword [ebp + 8]
xor edx, edx
push esi
push edi
mov edi, 0xfffffb1f
mov dword [esp + 0x20], ebx
mov eax, dword [ebx + 8]
mov esi, ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], edx
cmp eax, edi
je 0xb58b64
cmp eax, 0xfffffc7a
je 0xb58b2b
cmp eax, 0xfffffd2c
je 0xb58b03
cmp eax, 0xfffffd35
je 0xb589c7
cmp eax, 0xfffffd37
je 0xb58b84
cmp eax, 0xfffffff4
jne 0xb58c59
mov ecx, dword [esi + 0xf8]
mov edi, dword [ebx]
cmp edi, dword [ecx + 0x20]
jne 0xb58983
mov edi, edx
cmp dword [esi + 0xcc], edx
jne 0xb58aed
push ebx
call fcn.00c3d09e
jmp 0xb589c0
xor ecx, ecx
mov eax, ecx
sub eax, 0
je 0xb5899e
sub eax, 1
je 0xb5899a
sub eax, 1
jne 0xb5899a
push 0x50
jmp 0xb589a0
push 0x40
jmp 0xb589a0
push 0x60
pop eax
cmp dword [esi + eax], edi
jne 0xb589a9
xor edx, edx
inc edx
inc ecx
cmp ecx, 3
jb 0xb58985
test edx, edx
je 0xb58ae9
push ebx
push ecx
mov ecx, esi
call fcn.00b58c60
mov edi, eax
jmp 0xb58aed
mov edi, dword [ebx + 0x1c]
mov dword [esp + 0x24], edi
test edi, edi
je 0xb58c59
mov eax, dword [edi + 0x454]
mov dword [esp + 0x28], eax
test eax, eax
jne 0xb58aa3
push edx
call fcn.00c46961
push 3
call fcn.00b56c41
test dword [edi + 0xc], eax
jne 0xb58a63
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push edi
call fcn.00b5a6e4
mov eax, dword [esp + 0x10]
test eax, eax
je 0xb58a63
mov ecx, dword [ebx + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], eax
cmp ecx, 0xffffffff
je 0xb58a63
push ecx
push dword [eax + 0x10]
call fcn.00cac7d5
test eax, eax
je 0xb58a63
mov eax, dword [esp + 0x10]
and dword [esp + 0x18], 0
cmp dword [eax + 0xc], 0
jbe 0xb58a63
mov ebx, dword [esp + 0x18]
mov esi, eax
mov edi, dword [esp + 0x1c]
mov ecx, dword [esi + ebx*4]
push edi
call fcn.00c442a1
inc ebx
cmp ebx, dword [esi + 0xc]
jb 0xb58a48
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
cmp dword [edi + 0x18], 0
je 0xb58a72
push dword [edi + 0x18]
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp edi, dword [esi + 0x180]
jne 0xb58a81
and dword [esi + 0x180], 0
cmp dword [edi + 0x87c], 0
je 0xb58a91
mov ecx, edi
call fcn.00c444f4
push edi
push 0
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
jmp 0xb58aa9
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 0xb58ae9
push 1
mov ecx, esi
call fcn.00c46961
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x4c]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00bc0ea0
mov esp, ebp
pop ebp
ret 4
xor edi, edi
inc edi
cmp dword [ebx + 0x10], 0xffffffff
je 0xb58b11
cmp dword [ebx + 0x10], edi
jne 0xb58aed
cmp dword [ebx + 0x10], 1
sete al
movzx eax, al
push eax
push dword [ebx]
call fcn.00c48434
test al, al
jne 0xb58aed
xor edi, edi
jmp 0xb58aed
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
je 0xb58b57
mov edi, dword [esp + 0xc]
sub eax, 1
jne 0xb58aed
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 0x30]
mov dword [ebx + 0x14], eax
jmp 0xb58aed
mov eax, dword [esp + 0x34]
sub eax, dword [esp + 0x2c]
mov dword [ebx + 0x10], eax
jmp 0xb58ae9
cmp dword [esi + 0x10c], edx
jne 0xb58b84
mov eax, dword [esi + 0xf8]
mov eax, dword [eax + 0x20]
cmp dword [ebx], eax
jne 0xb58b84
push edx
push edx
push eax
call dword [sym.imp.ext_ms_win_ntuser_draw_l1_1_0.dll_InvalidateRect]
xor edx, edx
cmp dword [ebx + 8], edi
jne 0xb58b8e
mov eax, dword [ebx + 0xc]
jmp 0xb58b91
mov eax, dword [ebx + 0x14]
test al, 0x20
je 0xb58ba4
push 1
mov ecx, esi
mov dword [esi + 0xd8], edx
call fcn.00c46961
cmp dword [ebx + 8], 0xfffffd37
jne 0xb58ae9
call fcn.00b552a4
test eax, eax
je 0xb58ae9
push dword [ebx]
mov ecx, esi
call fcn.00c1c84c
test byte [ebx + 0x14], 0x10
mov esi, eax
mov dword [esp + 0x10], esi
jne 0xb58c0f
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.00ba4fa1
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.00c49a34
test byte [ebx + 0x14], 0x20
jne 0xb58ae9
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.00ba4fa1
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.00c49a34
jmp 0xb58ae9
mov edi, edx
jmp 0xb58aed