Function at 0x10591dc
Capabilities:
Capture webcam image

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xb8
mov eax, dword [0x108e1f8]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push edi
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x44]
push eax
push edi
mov dword [ebp - 0x90], edi
call dword [sym.imp.USER32.dll_BeginPaint]
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0x7c]
push eax
push edi
call dword [sym.imp.USER32.dll_GetClientRect]
push 0x26200a
push dword [ebp - 0x70]
lea ecx, [ebp - 0xac]
push dword [ebp - 0x74]
call fcn.01055d29
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp - 0x64]
call fcn.01056474
xor ebx, ebx
cmp dword [0x1098654], ebx
je 0x10592a2
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x4c], eax
push 1
lea eax, [ebp - 0x50]
push eax
push edi
call dword [sym.imp.USER32.dll_GetParent]
push eax
push edi
call dword [sym.imp.USER32.dll_MapWindowPoints]
push 2
push dword [ebp - 0x70]
push dword [ebp - 0x74]
push dword [ebp - 0x4c]
cmp byte [0x1098640], bl
jne 0x1059280
push dword [ebp - 0x50]
jmp 0x1059292
mov ecx, dword [0x1098654]
call fcn.0104d9d8
sub eax, dword [ebp - 0x50]
sub eax, dword [ebp - 0x74]
push eax
push ebx
push ebx
push dword [0x1098654]
lea ecx, [ebp - 0x64]
call fcn.010585d9
push esi
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [ebp - 0x8c]
push eax
push ebx
push 0x41a
push edi
call esi
lea ecx, [ebp - 0x64]
call fcn.01058391
push 0x200f
push 0xa
lea ecx, [ebp - 0x8c]
push ecx
push eax
mov dword [ebp - 0x6c], eax
call dword [sym.imp.USER32.dll_DrawEdge]
push dword [ebp - 0x6c]
lea ecx, [ebp - 0x64]
call fcn.010583bc
push ebx
push ebx
push 0x410
push edi
call esi
mov edi, eax
cmp edi, 2
jle 0x10593dd
fld dword [0x1012588]
push ecx
mov dword [ebp - 0x48], ebx
fstp dword [esp]
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x6c], ebx
mov ebx, dword [ebp - 0x80]
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x5c]
add ebx, 0x10
mov dword [ebp - 0x54], 0x80ffffff
call fcn.01056ef5
and dword [ebp - 0x54], 0
lea eax, [edi - 2]
mov dword [ebp - 0x4c], eax
test eax, eax
jle 0x10593d3
add edi, 0xfffffffd
mov dword [ebp - 0x94], edi
push 0
push dword [ebp - 0x54]
push 0x40f
push dword [ebp - 0x90]
call esi
mov edi, eax
lea eax, [ebx + 8]
push eax
push edi
push ebx
push edi
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x64]
call fcn.010583e0
mov ecx, dword [ebp - 0x54]
test ecx, ecx
jne 0x1059371
mov dword [ebp - 0x48], edi
cmp ecx, 1
jne 0x1059383
mov eax, edi
sub eax, dword [ebp - 0x48]
sub dword [ebp - 0x48], eax
mov dword [ebp - 0x6c], eax
jmp 0x1059386
mov eax, dword [ebp - 0x6c]
cmp ecx, dword [ebp - 0x94]
jne 0x1059393
add edi, eax
mov dword [ebp - 0x68], edi
inc ecx
cmp ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x54], ecx
jl 0x1059340
cmp dword [ebp - 0x48], 0
jle 0x10593d3
cmp dword [ebp - 0x68], 0
jle 0x10593d3
lea edi, [ebx + 8]
push edi
push dword [ebp - 0x48]
lea eax, [ebp - 0x5c]
push ebx
push dword [ebp - 0x48]
lea ecx, [ebp - 0x64]
push eax
call fcn.010583e0
push edi
push dword [ebp - 0x68]
lea eax, [ebp - 0x5c]
push ebx
push dword [ebp - 0x68]
lea ecx, [ebp - 0x64]
push eax
call fcn.010583e0
push dword [ebp - 0x5c]
call sub.gdiplus.dll_GdipDeletePen
xor ebx, ebx
mov edi, dword [ebp - 0x90]
lea eax, [ebp - 0x8c]
push eax
push ebx
push 0x419
push edi
call esi
cmp byte [0x1098640], 0
je 0x105941b
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x84]
mov edx, eax
sub edx, dword [ebp - 0x8c]
sub eax, ecx
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0x4c]
cmp dword [0x1098648], edi
jne 0x105942c
or dword [ebp - 0x4c], 0xffffffff
jmp 0x1059433
mov dword [ebp - 0x4c], 0x80ffffff
push eax
lea ecx, [ebp - 0xb8]
call fcn.0105639f
push 2
push 2
push dword [ebp - 0x80]
push dword [ebp - 0x84]
push dword [ebp - 0x88]
push dword [ebp - 0x8c]
call dword [sym.imp.GDI32.dll_CreateRoundRectRgn]
mov esi, eax
push esi
lea ecx, [ebp - 0x98]
call fcn.010586da
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x64]
call fcn.010584bb
push esi
call dword [sym.imp.GDI32.dll_DeleteObject]
call dword [sym.imp.USER32.dll_GetFocus]
pop esi
cmp eax, edi
jne 0x10594db
fld1
push ecx
lea eax, [ebp - 0x4c]
fstp dword [esp]
push eax
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x4c], 0xc0ffffff
call fcn.01056ef5
push 1
lea ecx, [ebp - 0x5c]
call fcn.0105831d
mov eax, dword [ebp - 0x70]
dec eax
push eax
mov eax, dword [ebp - 0x74]
dec eax
push eax
push dword [ebp - 0x78]
lea eax, [ebp - 0x5c]
push dword [ebp - 0x7c]
lea ecx, [ebp - 0x64]
push eax
call fcn.01058456
push dword [ebp - 0x5c]
call sub.gdiplus.dll_GdipDeletePen
push dword [ebp - 0x9c]
lea ecx, [ebp - 0x5c]
call fcn.01058364
push dword [ebp - 0x70]
lea eax, [ebp - 0xac]
push dword [ebp - 0x74]
lea ecx, [ebp - 0x5c]
push ebx
push ebx
push eax
call fcn.01056521
lea eax, [ebp - 0x44]
push eax
push edi
call dword [sym.imp.USER32.dll_EndPaint]
push dword [ebp - 0x5c]
call sub.gdiplus.dll_GdipDeleteGraphics
push dword [ebp - 0x98]
call sub.gdiplus.dll_GdipDeleteRegion
push dword [ebp - 0xb4]
call sub.gdiplus.dll_GdipDeleteBrush
push dword [ebp - 0x64]
call sub.gdiplus.dll_GdipDeleteGraphics
push dword [ebp - 0xa8]
call sub.gdiplus.dll_GdipDisposeImage
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop ebx
call fcn.01034b69
leave
ret 4