Function at 0x42ffb3
Capabilities:
Capture webcam image

Disassembly:
push 0x6c
mov eax, 0x448d92
call fcn.004366c0
mov edi, ecx
push 0x7f89
xor ebx, ebx
push ebx
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov esi, dword [ebp + 8]
movsx eax, di
cmp dword [esi + 0x68], eax
jne 0x42fff2
mov ecx, edi
shr ecx, 0x10
movsx ecx, cx
cmp dword [esi + 0x6c], ecx
je 0x4303b0
shr edi, 0x10
cmp dword [ebp + 0xc], 0x200
mov dword [esi + 0x68], eax
movsx eax, di
mov dword [esi + 0x6c], eax
jne 0x43005c
cmp dword [esi + 0x30], ebx
jne 0x43005c
mov eax, dword [esi + 4]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x48]
push eax
mov dword [esi + 0x30], 1
mov dword [ebp - 0x48], 0x10
mov dword [ebp - 0x44], 2
call dword [sym.imp.COMCTL32.dll__TrackMouseEvent]
call fcn.00430470
mov dword [ebp - 0x78], vtable.shui::CSHMouseSignalArgs.0
mov dword [ebp - 4], ebx
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x58], eax
mov eax, dword [esi + 0x6c]
lea edx, [ebp - 0x78]
mov dword [ebp - 0x54], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x2c]
or dword [ebp - 4], 0xffffffff
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0x98]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x14], eax
cmp eax, ebx
je 0x4303b0
lea eax, [ebp - 0x48]
push eax
push ebx
lea edi, [esi + 4]
push 0x41a
push dword [edi]
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x1c], edi
call ebx
push 0
push 0
push 0x401
push dword [edi]
call ebx
push 0
push 0
push 0x402
push dword [edi]
mov dword [ebp + 0xc], eax
call ebx
or dword [esi + 0x5c], 0xffffffff
mov ebx, dword [esi + 0x50]
and dword [ebp - 0x10], 0
add esi, 0x44
inc eax
mov edi, esi
mov dword [ebp - 0x20], esi
lea esi, [ebp - 0x28]
mov dword [ebp - 0x18], eax
call fcn.00405692
mov edi, dword [ebp - 0x20]
mov ebx, dword [edi + 0x10]
lea esi, [ebp - 0x30]
call fcn.00405692
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x4300ef
cmp eax, dword [ebp - 0x30]
je 0x4300f4
call fcn.00433cf1
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x2c]
je 0x430235
lea esi, [ebp - 0x28]
call fcn.00405472
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebp + 0xc]
sub eax, dword [ebp + 0xc]
push ecx
push eax
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edi, eax
mov eax, dword [ebp - 0x14]
add edi, dword [ebp - 0x48]
call fcn.00416e2d
mov ebx, dword [ebp + 8]
mov ecx, eax
mov eax, dword [ebx + 0x68]
sub eax, edi
cdq
xor eax, edx
shr ecx, 1
sub eax, edx
cmp eax, ecx
jle 0x430153
inc dword [ebp - 0x10]
lea edi, [ebp - 0x38]
call fcn.00430656
jmp 0x4300d5
mov esi, ebx
call fcn.00430570
mov esi, eax
call fcn.00431462
mov eax, dword [ebp - 0x10]
mov dword [ebx + 0x5c], eax
lea eax, [ebp - 0x60]
push eax
call fcn.0042f428
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x44]
add eax, ecx
sub ecx, dword [ebp - 0x44]
cdq
sub eax, edx
mov edx, edi
sub edx, dword [ebp - 0x60]
sar eax, 1
add dword [ebp - 0x58], edx
mov edx, eax
sub edx, dword [ebp - 0x5c]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x14]
add dword [ebp - 0x54], edx
mov dword [ebp - 0x60], edi
mov esi, ecx
call fcn.00416e2d
lea ecx, [esi + esi]
shr eax, 1
push ecx
push eax
lea eax, [ebp - 0x60]
push eax
call dword [sym.imp.USER32.dll_InflateRect]
lea esi, [ebp - 0x28]
call fcn.00405472
mov eax, dword [eax]
add eax, 4
cmp dword [eax + 0x18], 8
jb 0x4301d0
mov eax, dword [eax + 4]
jmp 0x4301d3
add eax, 4
push eax
push dword [ebp - 0x50]
call fcn.00406041
lea esi, [ebp - 0x28]
call fcn.00405472
mov eax, dword [eax]
add eax, 0x20
cmp dword [eax + 0x18], 8
jb 0x4301f4
mov eax, dword [eax + 4]
jmp 0x4301f7
add eax, 4
push eax
push dword [ebp - 0x4c]
call fcn.00406041
mov edi, dword [ebp - 0x1c]
lea eax, [ebp - 0x60]
call fcn.0041ed9f
lea eax, [ebp - 0x60]
push eax
push ecx
mov esi, ebx
call fcn.0043052d
add esp, 4
call fcn.00431ff4
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.0040aba7
lea ecx, [ebp - 0x50]
call fcn.0040aba7
jmp 0x430238
mov ebx, dword [ebp + 8]
cmp dword [ebx + 0x2c], 0
je 0x4303a6
cmp dword [ebx + 0x5c], 0xffffffff
jne 0x4303a6
mov edi, dword [ebp - 0x18]
cmp dword [ebp + 0xc], edi
je 0x4303a6
mov eax, dword [ebx + 0x68]
cmp eax, dword [ebp - 0x48]
jl 0x4303a6
cmp eax, dword [ebp - 0x40]
jg 0x4303a6
mov esi, ebx
call fcn.0043052d
mov esi, eax
call fcn.00431462
mov esi, dword [ebx + 0x68]
mov eax, esi
sub eax, dword [ebp - 0x48]
sub edi, dword [ebp + 0xc]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x40]
fild dword [ebp - 0x20]
sub eax, dword [ebp - 0x48]
mov dword [ebp - 0x20], eax
fild dword [ebp - 0x20]
mov dword [ebp - 0x20], edi
fdivp st(1)
fld1
fsub st(1)
fld qword [0x44ed08]
fmul st(1), st(0)
fld st(2)
fmulp st(1)
fsubp st(1)
fild dword [ebp - 0x20]
fmulp st(2)
fild dword [ebp + 0xc]
faddp st(2)
faddp st(1)
call fcn.004426e0
mov edx, dword [ebp - 0x3c]
mov ecx, eax
mov eax, dword [ebp - 0x44]
add eax, edx
cdq
sub eax, edx
add ebx, 0x70
sar eax, 1
mov edx, esi
sub edx, dword [ebx]
mov dword [ebx], esi
add dword [ebx + 8], edx
mov edx, eax
sub edx, dword [ebx + 4]
mov dword [ebx + 4], eax
add dword [ebx + 0xc], edx
mov eax, ecx
cdq
mov ecx, 0x3e8
idiv ecx
xor edi, edi
mov esi, eax
cmp esi, 0x3c
jl 0x430303
push 0x3c
cdq
pop ecx
idiv ecx
mov edi, eax
mov esi, edx
mov eax, dword [0x45c92c]
mov ecx, 0x45c92c
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 0xc], eax
push esi
push edi
lea eax, [ebp + 0xc]
push 0x44e900
push eax
mov dword [ebp - 4], 2
call fcn.004014d7
mov esi, dword [ebp + 8]
add esp, 0x10
push 0x44c97c
push dword [esi + 0x84]
call fcn.00406041
push dword [ebp + 0xc]
sub esi, 0xffffff80
call fcn.0040ac53
mov edi, dword [ebp - 0x1c]
mov eax, ebx
call fcn.0041ed9f
lea eax, [ebp - 0x48]
push eax
xor esi, esi
push esi
push 0x419
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x44]
push 0xfffffffffffffffa
pop ecx
cdq
idiv ecx
push eax
push esi
push ebx
call dword [sym.imp.USER32.dll_OffsetRect]
push 5
push dword [edi]
call dword [sym.imp.USER32.dll_KillTimer]
push esi
push 0x32
push 5
push dword [edi]
call dword [sym.imp.USER32.dll_SetTimer]
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
call fcn.004018eb
mov ebx, dword [ebp + 8]
mov esi, ebx
call fcn.00430470
mov esi, dword [ebp + 8]
mov edx, esi
call fcn.004305b7
call fcn.00436798
ret 8