Function at 0x4648d0
Capabilities:
Capture webcam image

Disassembly:
sub esp, 0x14
mov eax, dword [esp + 0x24]
push ebx
push ebp
push esi
xor esi, esi
mov ebx, ecx
mov dword [eax], esi
mov eax, dword [esp + 0x2c]
mov ecx, eax
lea edx, [esp + 0x18]
shr eax, 0x10
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x498c]
push edi
and ecx, 0xffff
push edx
push eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ecx
call dword [sym.imp.USER32.dll_ScreenToClient]
mov edx, dword [ebx + 0x498c]
mov ebp, dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [esp + 0x1c]
push ecx
push esi
push 0x445
push edx
call ebp
mov edi, eax
cmp edi, esi
jl 0x464c84
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x30], esi
mov esi, 0x8497
mov eax, dword [ebx + 0x498c]
push 0
push esi
push 0x419
push eax
call ebp
cmp edi, eax
je 0x46496b
inc esi
cmp esi, 0x84a3
jl 0x464943
mov edi, 1
jmp 0x4649fe
mov ecx, dword [esp + 0x34]
mov edi, 1
cmp esi, 0x8497
mov dword [ecx], edi
je 0x4649e4
cmp esi, 0x849c
je 0x4649e4
cmp esi, 0x849d
je 0x4649e4
cmp esi, 0x8498
jne 0x46499c
mov dword [esp + 0x14], edi
jmp 0x4649ec
cmp esi, 0x8499
je 0x4649e8
cmp esi, 0x849e
je 0x4649e8
cmp esi, 0x849f
je 0x4649e8
cmp esi, 0x849a
jne 0x4649c6
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], edi
jmp 0x4649f0
cmp esi, 0x849b
je 0x4649ec
cmp esi, 0x84a0
je 0x4649e8
cmp esi, 0x84a1
jne 0x4649f0
mov dword [esp + 0x14], edi
jmp 0x4649ec
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x30], edi
mov edx, dword [ebx + 4]
push 0
push esi
push 0x111
push edx
call ebp
mov eax, dword [esp + 0x34]
cmp dword [eax], 0
je 0x464c84
cmp esi, 0x849e
je 0x464a6d
cmp esi, 0x849f
je 0x464a6d
mov eax, dword [esp + 0x30]
test eax, eax
je 0x464a31
push edi
push 0xffffffffffffffff
lea ecx, [ebx + 0x64c4]
call fcn.0042e050
mov eax, dword [esp + 0x10]
test eax, eax
je 0x464a47
push edi
push 0xffffffffffffffff
lea ecx, [ebx + 0x6538]
call fcn.0042e050
mov eax, dword [esp + 0x14]
test eax, eax
je 0x464c84
push edi
push 0xffffffffffffffff
lea ecx, [ebx + 0x65ac]
call fcn.0042e050
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0x10
lea esi, [ebx + 0x64c4]
mov dword [ebx + 0x6500], 0x19c8
test esi, esi
je 0x464a86
lea eax, [esi - 0x20]
jmp 0x464a88
xor eax, eax
mov ecx, dword [eax + 4]
lea edi, [esi + 8]
push edi
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
test byte [esi + 0x44], 1
je 0x464b02
mov eax, dword [esi + 0x18]
test eax, eax
je 0x464ab4
mov eax, dword [esi + 0x10]
mov ebp, dword [esi + 0x30]
mov edx, dword [esi + 0x24]
mov ecx, dword [edi]
sub eax, ebp
sub eax, edx
jmp 0x464ac4
mov eax, dword [esi + 0x14]
mov edi, dword [esi + 0x30]
mov edx, dword [esi + 0x24]
mov ecx, dword [esi + 0xc]
sub eax, edi
sub eax, edx
sub eax, ecx
test eax, eax
jle 0x464b13
mov edx, dword [esi + 0x3c]
push 0x2710
push eax
push edx
call dword [sym.imp.KERNEL32.dll_MulDiv]
test esi, esi
mov byte [esi + 0x40], 0
je 0x464af2
lea ecx, [esi - 0x20]
push 0
push eax
add ecx, 0x20
call fcn.0042e050
jmp 0x464b13
xor ecx, ecx
push ecx
push eax
mov ecx, 0x20
call fcn.0042e050
jmp 0x464b13
mov eax, dword [esi + 0x44]
shr eax, 2
test al, 1
je 0x464b13
mov ecx, esi
call fcn.0042df00
mov ecx, esi
call fcn.0042dce0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x464bd1
mov ecx, dword [ebx + 0x6550]
mov edi, dword [ebx + 0x6568]
mov ebp, dword [ebx + 0x655c]
lea esi, [ebx + 0x6538]
test ecx, ecx
je 0x464b4a
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 8]
jmp 0x464b50
mov eax, dword [esi + 0x14]
mov edx, dword [esi + 0xc]
sub eax, edx
sub eax, ebp
sub eax, edi
cdq
sub eax, edx
sar eax, 1
test ecx, ecx
je 0x464b67
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 8]
jmp 0x464b6d
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0xc]
sub ecx, edx
mov edx, dword [esi + 0x2c]
lea ebx, [edx + edi]
cmp eax, ebx
jge 0x464b7d
mov eax, edx
jmp 0x464b89
sub ecx, edx
sub ecx, ebp
sub ecx, edi
cmp eax, ecx
jle 0x464b89
mov eax, ecx
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x1c], eax
cmp ecx, eax
mov al, byte [esi + 0x40]
setne bl
test al, al
je 0x464bbe
test byte [esi + 0x44], 1
je 0x464baa
mov ecx, esi
call fcn.00484100
jmp 0x464bc2
mov ecx, dword [esi + 0x44]
shr ecx, 2
test cl, 1
je 0x464bc2
mov ecx, esi
call fcn.00484630
jmp 0x464bc2
mov byte [esi + 0x40], 1
test bl, bl
je 0x464bcd
mov ecx, esi
call fcn.0042dce0
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x464c84
mov ecx, dword [ebx + 0x65c4]
mov edi, dword [ebx + 0x65dc]
mov ebp, dword [ebx + 0x65d0]
lea esi, [ebx + 0x65ac]
test ecx, ecx
je 0x464c01
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 8]
jmp 0x464c07
mov eax, dword [esi + 0x14]
mov edx, dword [esi + 0xc]
sub eax, edx
sub eax, ebp
sub eax, edi
cdq
sub eax, edx
sar eax, 1
test ecx, ecx
je 0x464c1e
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 8]
jmp 0x464c24
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0xc]
sub ecx, edx
mov edx, dword [esi + 0x2c]
lea ebx, [edx + edi]
cmp eax, ebx
ret
jge 0x464c34
mov eax, edx
jmp 0x464c40
sub ecx, edx
sub ecx, ebp
sub ecx, edi
cmp eax, ecx
jle 0x464c40
mov eax, ecx
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x1c], eax
cmp ecx, eax
mov al, byte [esi + 0x40]
setne bl
test al, al
je 0x464c75
test byte [esi + 0x44], 1
je 0x464c61
mov ecx, esi
call fcn.00484100
jmp 0x464c79
mov edx, dword [esi + 0x44]
shr edx, 2
test dl, 1
je 0x464c79
mov ecx, esi
call fcn.00484630
jmp 0x464c79
mov byte [esi + 0x40], 1
test bl, bl
je 0x464c84
mov ecx, esi
call fcn.0042dce0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0x10