Function at 0x10058f50
Capabilities:
Capture webcam image

Disassembly:
push ebp
sub esp, 0x5c
mov eax, 0x100bd447
call fcn.100a0664
sub esp, 0x98
push ebx
push esi
push edi
mov esi, ecx
xor ebx, ebx
mov dword [ebp - 0x10], esp
mov dword [ebp + 0x50], esi
mov dword [ebp - 4], ebx
call fcn.10057fee
cmp al, bl
je 0x1005958e
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 0x1005958e
cmp eax, 0x64
je 0x1005958e
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 0x1005958e
cmp eax, ebx
je 0x1005958e
or dword [esi], 0xffffffff
lea ecx, [ebp - 0x84]
mov dword [ebp + 0x44], ebx
call fcn.10081d13
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 1
call fcn.10081d13
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 2
call fcn.100581f8
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 3
call fcn.100581f8
push dword [esi + 0xc]
lea ecx, [ebp + 0x3c]
mov byte [ebp - 4], 4
mov dword [ebp + 0x40], ebx
call fcn.1005803f
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 0x1005935e
mov ecx, dword [ebp + 0x3c]
mov eax, dword [ecx]
call dword [eax]
mov esi, eax
mov eax, dword [esi]
push 0x100c503c
push 0x100c51e4
mov ecx, esi
call dword [eax + 0xc]
push eax
lea ecx, [ebp + 0x5c]
mov dword [ebp + 0x48], eax
call fcn.100057f4
mov byte [ebp - 4], 6
call fcn.1009e30e
push dword [ebp + 0x48]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 4]
push ebx
push 0x100cffb8
lea ecx, [ebp + 0x5c]
call fcn.10002fb2
test eax, eax
jg 0x1005933e
push str.chevron
lea ecx, [ebp + 0x5c]
call fcn.1000272b
cmp eax, ebx
jne 0x10059130
lea eax, [ebp + 0x5c]
push eax
lea ecx, [ebp - 0x18]
call fcn.100046db
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 0x1005933e
mov dword [ebp - 0x1c], 0x11
jmp 0x1005933e
push str.chevron_spacing
lea ecx, [ebp + 0x5c]
call fcn.1000272b
cmp eax, ebx
jne 0x100591ba
lea eax, [ebp + 0x5c]
push eax
lea ecx, [ebp - 0x8c]
call fcn.100046db
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 0x1005933e
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.100033f5
mov ecx, dword [ebp + 0x50]
call fcn.100587da
mov dword [ebp + 0x48], eax
cmp byte [ebp + 0x5b], bl
je 0x100591f3
mov eax, dword [esi]
push ebx
push str.visibility
mov ecx, esi
call dword [eax + 0x10]
jmp 0x1005933e
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 0x10059241
mov eax, dword [ebp + 0xc]
sub eax, dword [ebp + 4]
add dword [ebp + 0x44], eax
lea ecx, [ebp + 0x28]
call fcn.100581f8
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.100046db
cmp dword [ebp + 0x48], ebx
jne 0x100592a6
push ecx
mov ecx, esp
mov dword [ebp + 0x4c], esp
push str.tb_items_sizes
call fcn.100057f4
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.100033f5
mov byte [ebp - 4], 7
call fcn.10044598
add esp, 0xc
mov dword [ebp + 0x30], eax
mov eax, dword [esi]
push 0x100c503c
push str.flags
mov ecx, esi
call dword [eax + 0xc]
mov esi, eax
push esi
lea ecx, [ebp + 0x24]
call fcn.100057f4
mov byte [ebp - 4], 9
call fcn.1009e30e
mov edx, dword [eax]
push esi
mov ecx, eax
call dword [edx + 4]
push ebx
push str._CSB_
lea ecx, [ebp + 0x24]
call fcn.10002fb2
cmp eax, 0xffffffff
jne 0x100592fc
push ebx
push str._GS_
lea ecx, [ebp + 0x24]
call fcn.10002fb2
mov byte [ebp + 0x38], bl
cmp eax, 0xffffffff
je 0x10059300
mov byte [ebp + 0x38], 1
mov ecx, dword [ebp + 0x24]
add ecx, 0xfffffff0
mov byte [ebp - 4], 7
call fcn.10001ccd
cmp dword [ebp + 0x48], ebx
je 0x1005931c
lea ecx, [ebp - 0x84]
jmp 0x1005932a
cmp byte [ebp + 0x38], bl
je 0x10059327
mov eax, dword [ebp + 0x30]
add dword [ebp + 0x40], eax
lea ecx, [ebp - 0x64]
lea eax, [ebp + 0x28]
push eax
call fcn.10058ef5
mov ecx, dword [ebp + 0x34]
add ecx, 0xfffffff0
call fcn.10001ccd
mov ecx, dword [ebp + 0x5c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 5
call fcn.10001ccd
mov ecx, dword [ebp + 0x3c]
mov eax, dword [ecx]
push ebx
call dword [eax + 4]
mov esi, dword [ebp + 0x50]
jmp 0x10059046
mov edi, dword [ebp + 0x1c]
sub edi, dword [ebp + 0x14]
sub edi, dword [ebp + 0x44]
cmp dword [ebp - 0x48], ebx
je 0x100593b9
cmp edi, ebx
jle 0x100593b9
mov ecx, esi
call fcn.10058142
test al, al
jne 0x100593b9
lea ecx, [ebp - 0x64]
call fcn.100582ce
push eax
lea ecx, [ebp + 0x28]
call fcn.1005826d
mov ecx, dword [ebp + 0x30]
mov byte [ebp - 4], 0xa
mov eax, ecx
cmp byte [ebp + 0x38], bl
je 0x1005939d
mov eax, dword [ebp + 0x40]
cmp dword [ebp - 0x48], 1
jbe 0x100593a6
add eax, dword [ebp - 0x1c]
cmp eax, edi
jle 0x100593e9
mov ecx, dword [ebp + 0x34]
add ecx, 0xfffffff0
mov byte [ebp - 4], 5
call fcn.10001ccd
mov eax, dword [ebp + 0x1c]
sub eax, dword [ebp + 0x14]
mov edi, dword [ebp + 0x44]
cmp edi, eax
jae 0x1005943c
cmp dword [ebp - 0x48], ebx
jne 0x1005943c
push ebx
push ecx
mov ecx, esp
mov dword [ebp + 0x54], esp
push str.chevron
call fcn.100057f4
mov ecx, esi
call fcn.100586f2
push ebx
jmp 0x1005952a
cmp byte [ebp + 0x38], bl
je 0x100593f1
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.100033f5
mov ecx, esi
call fcn.100586f2
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.10058ef5
lea ecx, [ebp - 0x64]
call fcn.1005831a
mov ecx, dword [ebp + 0x34]
add ecx, 0xfffffff0
mov byte [ebp - 4], 5
call fcn.10001ccd
jmp 0x10059367
push 1
push ecx
mov ecx, esp
mov dword [ebp + 0x54], esp
push str.chevron
call fcn.100057f4
mov ecx, esi
call fcn.100586f2
cmp dword [ebp - 0x48], ebx
jbe 0x10059466
lea ecx, [ebp - 0x64]
call fcn.100582ce
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 0x100594f2
cmp dword [ebp - 0x68], ebx
je 0x100594f2
lea ecx, [ebp + 0x28]
call fcn.100581f8
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x84]
call fcn.10081dc9
push eax
lea ecx, [ebp + 0x28]
call fcn.100582e9
push ebx
push ecx
lea eax, [ebp + 0x34]
mov dword [ebp + 0x54], esp
mov ecx, esp
push eax
call fcn.100033f5
mov ecx, esi
call fcn.100586f2
sub edi, dword [ebp + 0x30]
lea ecx, [ebp - 0x84]
call fcn.1005834d
cmp dword [ebp - 0x68], ebx
je 0x100594d9
cmp byte [ebp + 0x38], bl
je 0x100594d9
lea ecx, [ebp - 0x84]
call fcn.10081dc9
cmp byte [eax + 0x10], bl
jne 0x10059486
mov ecx, dword [ebp + 0x34]
mov eax, dword [ebp + 0x28]
add ecx, 0xfffffff0
mov dword [esi], eax
mov byte [ebp - 4], 5
call fcn.10001ccd
jmp 0x10059466
push ebx
push 0x10104d7c
push 0x10103324
push ebx
push dword [ebp]
call fcn.100a0cb6
add esp, 0x14
cmp eax, ebx
je 0x1005951e
mov ecx, dword [ebp + 0x1c]
sub ecx, dword [ebp + 0x14]
sub ecx, dword [ebp - 0x1c]
sub ecx, edi
mov dword [eax + 0xd8], ecx
xor ecx, ecx
cmp dword [eax + 0xd8], ebx
setg cl
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x54], esp
push str.chevron_spacing
call fcn.100057f4
mov ecx, esi
call fcn.100586f2
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.10001ccd
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.10001ccd
lea ecx, [ebp - 0x64]
call fcn.1005837f
push dword [ebp - 0x64]
call fcn.1009f549
pop ecx
lea ecx, [ebp - 0x84]
call fcn.1005837f
push dword [ebp - 0x84]
call fcn.1009f549
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