Function at 0x1003ed33
Capabilities:
Capture webcam image

Disassembly:
push 0x274
mov eax, 0x10088fda
call fcn.10085435
mov edi, ecx
mov dword [ebp - 0x260], ecx
mov dword [ebp - 0x274], edi
call fcn.1003ebfc
push 0x41b
push dword [edi + 0x34]
mov dword [ebp - 0x258], eax
mov esi, dword [eax + 0x45c]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ecx, esi
xor ebx, ebx
shr ecx, 3
inc ebx
and ecx, ebx
push ecx
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0x41c
push dword [edi + 0x34]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ecx, esi
shr ecx, 1
and ecx, ebx
push ecx
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0x41f
push dword [edi + 0x34]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ecx, esi
shr ecx, 2
and ecx, ebx
push ecx
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0x420
push dword [edi + 0x34]
call dword [sym.imp.USER32.dll_GetDlgItem]
shr esi, 4
and esi, ebx
push esi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
xor ebx, ebx
mov ecx, edi
mov dword [ebp - 4], ebx
call fcn.1003eb8a
dec eax
lea ecx, [ebp - 0x264]
neg eax
sbb eax, eax
add eax, 0x4c5
push eax
call fcn.10015928
push 0x41c
push dword [edi + 0x34]
mov esi, dword [eax]
call dword [sym.imp.USER32.dll_GetDlgItem]
push esi
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov ecx, dword [ebp - 0x264]
lea ecx, [ecx - 0x10]
call fcn.10015dfc
push 4
call dword [sym.imp.USER32.dll_BeginDeferWindowPos]
mov esi, eax
mov dword [ebp - 0x268], esi
push 0x41b
mov byte [ebp - 4], 1
push dword [edi + 0x34]
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
jne 0x1003ee4e
push 0x80004005
call dword [sym.imp.PhotoBase.dll_void___stdcall_Base::Throw_long_int_]
lea edx, [ebp - 0x38]
mov ecx, eax
call fcn.1003ecff
test eax, eax
jne 0x1003ee64
call fcn.100154b3
push eax
jmp 0x1003ee48
mov eax, dword [edi + 0x34]
push eax
mov dword [ebp - 0x1c], eax
call dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 2
test eax, eax
jne 0x1003ee82
call dword [sym.imp.PhotoBase.dll_void___stdcall_Base::ThrowLastError_void_]
push 0x5a
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0x60
push eax
push 3
call dword [sym.imp.KERNEL32.dll_MulDiv]
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x26c], eax
mov byte [ebp - 4], 1
call fcn.10040e9a
push 0x44e
push dword [edi + 0x34]
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x1003ee43
lea edx, [ebp - 0x28]
mov ecx, eax
call fcn.1003ecff
test eax, eax
je 0x1003ee5c
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x26c]
mov dword [ebp - 0x270], eax
mov eax, ebx
mov dword [ebp - 0x264], ebx
cmp eax, 4
jae 0x1003efb4
push dword [eax*4 + 0x1000c4e0]
push dword [edi + 0x34]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov dword [ebp - 0x25c], eax
test eax, eax
je 0x1003ee43
push eax
call dword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
je 0x1003ef6f
mov eax, dword [ebp - 0x270]
lea ecx, [ebp - 0x25c]
mov esi, dword [ebp - 0x25c]
xor dl, dl
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
mov dword [ebp - 0x25c], esi
mov dword [ebp - 0x1c], ebx
call fcn.10067b95
push 0x54
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x268]
push dword [ebp - 0x20]
push dword [ebp - 0x34]
push dword [ebp - 0x38]
push ebx
push esi
call fcn.1003dc4a
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x26c]
add dword [ebp - 0x34], eax
mov esi, dword [ebp - 0x268]
jmp 0x1003efa2
push dword [ebp - 0x25c]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1003efa2
test esi, esi
je 0x1003efa2
push 0x97
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x25c]
push esi
call dword [sym.imp.USER32.dll_DeferWindowPos]
mov esi, eax
mov dword [ebp - 0x268], esi
mov eax, dword [ebp - 0x264]
inc eax
mov dword [ebp - 0x264], eax
jmp 0x1003eee5
mov ebx, dword [ebp - 0x258]
mov ecx, edi
push ebx
call fcn.1003f7f2
test esi, esi
je 0x1003eff3
push esi
call dword [sym.imp.USER32.dll_EndDeferWindowPos]
jmp 0x1003eff3
or dword [ebp - 4], 0xffffffff
mov ecx, edi
mov esi, dword [ebx + 0xc]
mov eax, esi
not eax
and eax, 1
push eax
push 0x41b
call fcn.1003ebd0
mov eax, esi
mov ecx, edi
shr eax, 1
not eax
and eax, 1
push eax
push 0x41f
call fcn.1003ebd0
mov eax, esi
mov ecx, edi
shr eax, 5
and eax, 1
push eax
push 0x41c
call fcn.1003ebd0
shr esi, 0xc
mov ecx, edi
and esi, 1
push esi
push 0x420
call fcn.1003ebd0
mov eax, dword [ebx + 0x18]
mov bl, byte [ebx + 0x28]
push 0x448
push dword [edi + 0x34]
mov esi, dword [eax - 0xc]
call dword [sym.imp.USER32.dll_GetDlgItem]
xor ecx, ecx
test esi, esi
setne cl
push ecx
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
xor eax, eax
mov ecx, edi
test bl, bl
setne al
push eax
push 0x448
call fcn.1003ebd0
test bl, bl
mov ecx, edi
sete al
movzx eax, al
push eax
call fcn.1003ec1f
mov ebx, 0x451
push ebx
push dword [edi + 0x34]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov edi, dword [ebp - 0x258]
mov esi, eax
mov eax, dword [ebp - 0x260]
push ebx
mov edi, dword [edi + 0x2c]
push dword [eax + 0x34]
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push esi
push edi
mov ebx, eax
call fcn.1003ec8a
push eax
push 0x14e
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
mov ebx, dword [ebp - 0x260]
push 0x452
push dword [ebx + 0x34]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
mov eax, dword [ebp - 0x258]
mov edi, dword [eax + 0x30]
push 0x452
push dword [ebx + 0x34]
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push esi
push edi
mov ebx, eax
call fcn.1003ec8a
push eax
push 0x14e
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
mov ebx, dword [ebp - 0x260]
push 0x417
push dword [ebx + 0x34]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
lea ecx, [ebx + 0x58]
call fcn.1003d9bc
mov edi, dword [ebp - 0x258]
lea ecx, [ebp - 0x254]
lea eax, [edi + 0x34]
push eax
call fcn.1003d225
lea eax, [ebp - 0x254]
mov dword [ebp - 4], 4
push eax
lea ecx, [ebx + 0x58]
call fcn.1003db6a
or dword [ebp - 4], 0xffffffff
mov esi, eax
test esi, esi
js 0x1003f18c
push 0x417
push dword [ebx + 0x34]
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push esi
push 0x14e
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [ebx + 0x16b8], 0
je 0x1003f205
push 0x419
push dword [ebx + 0x34]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
lea ecx, [ebx + 0x68]
call fcn.1003d9bc
lea eax, [edi + 0x248]
push eax
lea ecx, [ebp - 0x254]
call fcn.1003d225
lea eax, [ebp - 0x254]
mov dword [ebp - 4], 5
push eax
lea ecx, [ebx + 0x68]
call fcn.1003db6a
or dword [ebp - 4], 0xffffffff
mov esi, eax
mov dword [ebp - 0x254], 0x10002610
test esi, esi
js 0x1003f205
push 0x419
push dword [ebx + 0x34]
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push esi
push 0x14e
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, ebx
call fcn.100401e0
call fcn.10085387
ret