Function at 0x10056187
Capabilities:
Capture webcam image

Disassembly:
push ebp
sub esp, 0x5c
mov eax, 0x100c226a
call fcn.100a35ac
sub esp, 0x98
push ebx
push esi
push edi
mov esi, ecx
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx]
mov dword [ebp - 0x10], esp
xor ebx, ebx
push ebx
push str.IsInitializing
mov dword [ebp + 0x50], esi
mov dword [ebp - 4], ebx
call dword [eax + 0xb8]
cmp eax, ebx
jne 0x100567e0
mov ecx, esi
call fcn.100552ee
cmp al, bl
je 0x100567e0
mov ecx, dword [esi + 0xc]
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0x18], ebx
mov dword [ebp + 0x1c], ebx
mov dword [ebp + 0x20], ebx
mov eax, dword [ecx]
call dword [eax + 0x5c]
lea ecx, [ebp + 0x14]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp + 0x1c]
sub eax, dword [ebp + 0x14]
je 0x100567e0
cmp eax, 0x64
je 0x100567e0
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx]
push str.chevron
call dword [eax + 0x84]
mov ecx, dword [esi + 0xc]
mov edi, eax
mov eax, dword [ecx]
push str.chevron_spacing
call dword [eax + 0x84]
mov dword [ebp], eax
cmp edi, ebx
je 0x100567e0
cmp eax, ebx
je 0x100567e0
or dword [esi], 0xffffffff
lea ecx, [ebp - 0x84]
mov dword [ebp + 0x44], ebx
call fcn.10080475
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 1
call fcn.10080475
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 2
call fcn.10055437
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 3
call fcn.10055437
push dword [esi + 0xc]
lea ecx, [ebp + 0x3c]
mov byte [ebp - 4], 4
mov dword [ebp + 0x40], ebx
call fcn.1005533f
mov ecx, dword [ebp + 0x3c]
mov eax, dword [ecx]
mov byte [ebp - 4], 5
call dword [eax + 0x10]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp + 0x3c]
mov eax, dword [ecx]
call dword [eax + 0xc]
cmp al, bl
jne 0x100565b0
mov ecx, dword [ebp + 0x3c]
mov eax, dword [ecx]
call dword [eax]
mov esi, eax
mov eax, dword [esi]
push 0x100cb0a0
push 0x100cb370
mov ecx, esi
call dword [eax + 0xc]
push eax
lea ecx, [ebp + 0x5c]
mov dword [ebp + 0x48], eax
call fcn.10005f07
mov byte [ebp - 4], 6
call fcn.1009e739
push dword [ebp + 0x48]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 4]
push ebx
push 0x100d6288
lea ecx, [ebp + 0x5c]
call fcn.10003080
test eax, eax
jg 0x10056590
push str.chevron
lea ecx, [ebp + 0x5c]
call fcn.10002834
cmp eax, ebx
jne 0x10056382
lea eax, [ebp + 0x5c]
push eax
lea ecx, [ebp - 0x18]
call fcn.10004a20
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x50]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x5c]
push ebx
push dword [esi + 0xc]
push 0x419
push eax
call edi
mov dword [ebp + 0x4c], eax
mov eax, dword [ebp + 0x50]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
mov eax, dword [ecx]
call dword [eax + 0x5c]
lea ecx, [ebp - 0x44]
push ecx
mov ecx, dword [esi + 0xc]
sub ecx, 0x400
push ecx
push 0x41d
push eax
call edi
mov eax, dword [ebp + 0x4c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x44]
mov dword [ebp - 0x1c], eax
jne 0x10056590
mov dword [ebp - 0x1c], 0x11
jmp 0x10056590
push str.chevron_spacing
lea ecx, [ebp + 0x5c]
call fcn.10002834
cmp eax, ebx
jne 0x1005640c
lea eax, [ebp + 0x5c]
push eax
lea ecx, [ebp - 0x8c]
call fcn.10004a20
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp + 0x50]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x5c]
push ebx
push dword [esi + 0xc]
push 0x419
push eax
call edi
mov dword [ebp + 0x4c], eax
mov eax, dword [ebp + 0x50]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
mov eax, dword [ecx]
call dword [eax + 0x5c]
lea ecx, [ebp - 0x34]
push ecx
mov ecx, dword [esi + 0xc]
sub ecx, 0x400
push ecx
push 0x41d
push eax
call edi
mov eax, dword [ebp + 0x4c]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x34]
mov dword [ebp - 0x90], eax
jmp 0x10056590
lea eax, [ebp + 0x5b]
push eax
push ebx
push ecx
lea eax, [ebp + 0x5c]
mov dword [ebp + 0x4c], esp
mov ecx, esp
push eax
mov byte [ebp + 0x5b], bl
call fcn.10003561
mov ecx, dword [ebp + 0x50]
call fcn.10055a11
mov dword [ebp + 0x48], eax
cmp byte [ebp + 0x5b], bl
je 0x10056445
mov eax, dword [esi]
push ebx
push str.visibility
mov ecx, esi
call dword [eax + 0x10]
jmp 0x10056590
mov eax, dword [ebp + 0x50]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x5c]
push ebx
push dword [esi + 0xc]
push 0x419
push eax
call edi
mov dword [ebp + 0x4c], eax
mov eax, dword [ebp + 0x50]
mov ecx, dword [eax + 0xc]
mov dword [ebp + 4], ebx
mov dword [ebp + 8], ebx
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x10], ebx
mov eax, dword [ecx]
call dword [eax + 0x5c]
lea ecx, [ebp + 4]
push ecx
push dword [ebp + 0x4c]
push 0x41d
push eax
call edi
cmp dword [ebp + 0x48], ebx
je 0x10056493
mov eax, dword [ebp + 0xc]
sub eax, dword [ebp + 4]
add dword [ebp + 0x44], eax
lea ecx, [ebp + 0x28]
call fcn.10055437
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x28], eax
mov eax, dword [ebp + 0x4c]
mov dword [ebp + 0x2c], eax
mov eax, dword [ebp + 0xc]
sub eax, dword [ebp + 4]
lea ecx, [ebp + 0x34]
mov dword [ebp + 0x30], eax
lea eax, [ebp + 0x5c]
push eax
mov byte [ebp - 4], 7
call fcn.10004a20
cmp dword [ebp + 0x48], ebx
jne 0x100564f8
push ecx
mov ecx, esp
mov dword [ebp + 0x4c], esp
push str.tb_items_sizes
call fcn.10005f07
push ebx
push ecx
lea eax, [ebp + 0x5c]
mov dword [ebp + 0x54], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 8
call fcn.10003561
mov byte [ebp - 4], 7
call fcn.100400d9
add esp, 0xc
mov dword [ebp + 0x30], eax
mov eax, dword [esi]
push 0x100cb0a0
push str.flags
mov ecx, esi
call dword [eax + 0xc]
mov esi, eax
push esi
lea ecx, [ebp + 0x24]
call fcn.10005f07
mov byte [ebp - 4], 9
call fcn.1009e739
mov edx, dword [eax]
push esi
mov ecx, eax
call dword [edx + 4]
push ebx
push str._CSB_
lea ecx, [ebp + 0x24]
call fcn.10003080
cmp eax, 0xffffffff
jne 0x1005654e
push ebx
push str._GS_
lea ecx, [ebp + 0x24]
call fcn.10003080
mov byte [ebp + 0x38], bl
cmp eax, 0xffffffff
je 0x10056552
mov byte [ebp + 0x38], 1
mov ecx, dword [ebp + 0x24]
add ecx, 0xfffffff0
mov byte [ebp - 4], 7
call fcn.10001d29
cmp dword [ebp + 0x48], ebx
je 0x1005656e
lea ecx, [ebp - 0x84]
jmp 0x1005657c
cmp byte [ebp + 0x38], bl
je 0x10056579
mov eax, dword [ebp + 0x30]
add dword [ebp + 0x40], eax
lea ecx, [ebp - 0x64]
lea eax, [ebp + 0x28]
push eax
call fcn.1005612c
mov ecx, dword [ebp + 0x34]
add ecx, 0xfffffff0
call fcn.10001d29
mov ecx, dword [ebp + 0x5c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 5
call fcn.10001d29
mov ecx, dword [ebp + 0x3c]
mov eax, dword [ecx]
push ebx
call dword [eax + 4]
mov esi, dword [ebp + 0x50]
jmp 0x10056298
mov edi, dword [ebp + 0x1c]
sub edi, dword [ebp + 0x14]
sub edi, dword [ebp + 0x44]
cmp dword [ebp - 0x48], ebx
je 0x1005660b
cmp edi, ebx
jle 0x1005660b
mov ecx, esi
call fcn.10055381
test al, al
jne 0x1005660b
lea ecx, [ebp - 0x64]
call fcn.1008055e
push eax
lea ecx, [ebp + 0x28]
call fcn.1005547f
mov ecx, dword [ebp + 0x30]
mov byte [ebp - 4], 0xa
mov eax, ecx
cmp byte [ebp + 0x38], bl
je 0x100565ef
mov eax, dword [ebp + 0x40]
cmp dword [ebp - 0x48], 1
jbe 0x100565f8
add eax, dword [ebp - 0x1c]
cmp eax, edi
jle 0x1005663b
mov ecx, dword [ebp + 0x34]
add ecx, 0xfffffff0
mov byte [ebp - 4], 5
call fcn.10001d29
mov eax, dword [ebp + 0x1c]
sub eax, dword [ebp + 0x14]
mov edi, dword [ebp + 0x44]
cmp edi, eax
jae 0x1005668e
cmp dword [ebp - 0x48], ebx
jne 0x1005668e
push ebx
push ecx
mov ecx, esp
mov dword [ebp + 0x54], esp
push str.chevron
call fcn.10005f07
mov ecx, esi
call fcn.10055929
push ebx
jmp 0x1005677c
cmp byte [ebp + 0x38], bl
je 0x10056643
sub dword [ebp + 0x40], ecx
push 1
push ecx
lea eax, [ebp + 0x34]
mov dword [ebp + 0x54], esp
mov ecx, esp
push eax
call fcn.10003561
mov ecx, esi
call fcn.10055929
mov eax, dword [ebp + 0x30]
add dword [ebp + 0x44], eax
sub edi, eax
lea eax, [ebp + 0x28]
push eax
lea ecx, [ebp - 0x84]
call fcn.1005612c
lea ecx, [ebp - 0x64]
call fcn.10055511
mov ecx, dword [ebp + 0x34]
add ecx, 0xfffffff0
mov byte [ebp - 4], 5
call fcn.10001d29
jmp 0x100565b9
push 1
push ecx
mov ecx, esp
mov dword [ebp + 0x54], esp
push str.chevron
call fcn.10005f07
mov ecx, esi
call fcn.10055929
cmp dword [ebp - 0x48], ebx
jbe 0x100566b8
lea ecx, [ebp - 0x64]
call fcn.1008055e
mov eax, dword [eax]
mov dword [esi], eax
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x1c]
sub eax, dword [ebp + 0x14]
add ecx, edi
cmp ecx, eax
jbe 0x10056744
cmp dword [ebp - 0x68], ebx
je 0x10056744
lea ecx, [ebp + 0x28]
call fcn.10055437
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x84]
call fcn.10080579
push eax
lea ecx, [ebp + 0x28]
call fcn.100554e0
push ebx
push ecx
lea eax, [ebp + 0x34]
mov dword [ebp + 0x54], esp
mov ecx, esp
push eax
call fcn.10003561
mov ecx, esi
call fcn.10055929
sub edi, dword [ebp + 0x30]
lea ecx, [ebp - 0x84]
call fcn.10055544
cmp dword [ebp - 0x68], ebx
je 0x1005672b
cmp byte [ebp + 0x38], bl
je 0x1005672b
lea ecx, [ebp - 0x84]
call fcn.10080579
cmp byte [eax + 0x10], bl
jne 0x100566d8
mov ecx, dword [ebp + 0x34]
mov eax, dword [ebp + 0x28]
add ecx, 0xfffffff0
mov dword [esi], eax
mov byte [ebp - 4], 5
call fcn.10001d29
jmp 0x100566b8
push ebx
push 0x1010eff8
push 0x1010d3f4
push ebx
push dword [ebp]
call fcn.100a2fa0
add esp, 0x14
cmp eax, ebx
je 0x10056770
mov ecx, dword [ebp + 0x1c]
sub ecx, dword [ebp + 0x14]
sub ecx, dword [ebp - 0x1c]
sub ecx, edi
mov dword [eax + 0xd4], ecx
xor ecx, ecx
cmp dword [eax + 0xd4], ebx
setg cl
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x54], esp
push str.chevron_spacing
call fcn.10005f07
mov ecx, esi
call fcn.10055929
mov ecx, dword [ebp + 0x3c]
mov eax, dword [ecx]
mov byte [ebp - 4], 4
call dword [eax + 0x14]
mov ecx, dword [ebp - 0x8c]
add ecx, 0xfffffff0
call fcn.10001d29
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.10001d29
lea ecx, [ebp - 0x64]
call fcn.10055576
push dword [ebp - 0x64]
call fcn.100a2009
pop ecx
lea ecx, [ebp - 0x84]
call fcn.10055576
push dword [ebp - 0x84]
call fcn.100a2009
pop ecx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
add ebp, 0x60
leave
ret 0x10