Function at 0x4757b0
Capabilities:
Capture webcam image

Disassembly:
sub esp, 0x3c
mov eax, dword [esp + 0x44]
push ebx
push ebp
mov ebp, ecx
mov eax, dword [eax + 0xc]
push esi
cmp eax, 0x8496
push edi
mov dword [esp + 0x1c], ebp
jne 0x475807
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 0x498c]
push eax
push ecx
push edx
call fcn.00474c20
add esp, 0xc
cmp eax, 0x2b67
jne 0x475e8c
push 0
push 0
push ecx
mov ecx, esp
push str.i_net_
call fcn.00405730
mov ecx, ebp
call fcn.004736c0
jmp 0x475e8c
cmp eax, 0x806a
jne 0x475918
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push eax
mov eax, dword [ebp + 0x498c]
push 0x419
push eax
call esi
mov edx, dword [ebp + 0x498c]
lea ecx, [esp + 0x2c]
push ecx
push eax
push 0x41d
push edx
call esi
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x498c]
lea edx, [esp + 0x1c]
mov dword [esp + 0x20], ecx
push edx
push eax
call dword [sym.imp.USER32.dll_ClientToScreen]
push ecx
mov dword [esp + 0x14], 0
mov eax, esp
lea ecx, [esp + 0x14]
mov dword [eax], 0x80
call fcn.00411b90
mov ecx, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_GetSubMenu]
push 4
push ecx
call esi
mov edi, eax
push 3
push edi
call esi
push eax
mov dword [esp + 0x58], eax
call fcn.004bae10
mov edx, dword [esp + 0x58]
mov esi, dword [sym.imp.USER32.dll_DeleteMenu]
add esp, 4
push 0x400
push 4
push edx
call esi
test eax, eax
je 0x4758c6
mov eax, dword [esp + 0x54]
push 0x400
push 4
push eax
call esi
test eax, eax
jne 0x4758b4
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push 2
push ecx
mov ecx, dword [esp + 0x5c]
push eax
push ecx
lea ecx, [ebp + 0x898]
call fcn.0052bba0
mov eax, dword [esp + 0x54]
test eax, eax
je 0x4758f3
lea ecx, [esp + 0x54]
call fcn.00447300
test edi, edi
je 0x4758fe
push edi
call dword [sym.imp.USER32.dll_DestroyMenu]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x475e8c
lea ecx, [esp + 0x10]
call fcn.00447300
jmp 0x475e8c
cmp eax, 0x808b
jne 0x475e8c
mov esi, dword [ebp + 0x498c]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push eax
push 0x419
push esi
call edi
lea edx, [esp + 0x3c]
push edx
push eax
push 0x41d
push esi
call edi
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x48]
lea edx, [esp + 0x24]
mov dword [esp + 0x24], eax
push edx
push esi
mov dword [esp + 0x30], ecx
call dword [sym.imp.USER32.dll_ClientToScreen]
call dword [sym.imp.USER32.dll_CreatePopupMenu]
mov ebx, eax
lea eax, [esp + 0x54]
push 0x7a122
push eax
call fcn.004bd990
mov eax, dword [eax]
mov edi, dword [sym.imp.USER32.dll_AppendMenuW]
add esp, 8
push eax
push 0xb
push 0x400
push ebx
call edi
mov eax, dword [esp + 0x54]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4759c4
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x4759ca
mov edx, dword [esp + 0x54]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
jmp 0x4759ca
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
lea eax, [esp + 0x54]
push 0x7a123
push eax
call fcn.004bd990
mov eax, dword [eax]
add esp, 8
push eax
push 0xc
push 0x400
push ebx
call edi
mov eax, dword [esp + 0x54]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x475a14
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x475a14
mov edx, dword [esp + 0x54]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
lea eax, [esp + 0x54]
push 0x7a124
push eax
call fcn.004bd990
mov eax, dword [eax]
add esp, 8
push eax
push 0xd
push 0x400
push ebx
call edi
mov eax, dword [esp + 0x54]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x475a5e
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x475a5e
mov edx, dword [esp + 0x54]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
lea eax, [esp + 0x54]
push 0x7a125
push eax
call fcn.004bd990
mov eax, dword [eax]
add esp, 8
push eax
push 0xa
push 0x400
push ebx
call edi
mov eax, dword [esp + 0x54]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x475aa8
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x475aa8
mov edx, dword [esp + 0x54]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
push 0
push 0
push 0xc00
push ebx
call edi
lea eax, [esp + 0x54]
push 0x7a127
push eax
call fcn.004bd990
mov eax, dword [eax]
add esp, 8
push eax
push 4
push 0x400
push ebx
call edi
mov eax, dword [esp + 0x54]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x475afe
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x475afe
mov edx, dword [esp + 0x54]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, dword [0x547570]
mov ecx, str.__Passiv_
test ecx, ecx
mov dword [esp + 0x54], eax
je 0x475b6b
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, eax
test esi, esi
je 0x475b65
push esi
lea ecx, [esp + 0x58]
call fcn.00405530
test eax, eax
je 0x475b65
mov ecx, dword [esp + 0x54]
lea eax, [esi + 1]
test eax, eax
mov esi, ecx
jne 0x475b3c
test ecx, ecx
jne 0x475b5a
push eax
push ecx
push 0xffffffffffffffff
push str.__Passiv_
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jle 0x475b5a
mov word [esi + eax*2 - 2], 0
push 0xffffffffffffffff
lea ecx, [esp + 0x58]
call fcn.00405bb0
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
lea edx, [esp + 0x18]
push 0x7a127
push edx
call fcn.004bd990
mov ecx, dword [0x547570]
mov eax, dword [eax]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x5c]
add esp, 8
mov edx, dword [ecx - 8]
push ecx
push edx
push eax
mov eax, dword [eax - 8]
push eax
lea ecx, [esp + 0x20]
call fcn.004059f0
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x18]
call fcn.00405440
lea ecx, [esp + 0x10]
call fcn.00405700
mov edx, dword [esp + 0x14]
push edx
push 5
push 0x400
push ebx
call edi
mov eax, dword [esp + 0x14]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x475bf1
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x475bf1
mov edx, dword [esp + 0x14]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, dword [esp + 0x18]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x475c1c
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x475c1c
mov edx, dword [esp + 0x18]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, dword [esp + 0x54]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x475c47
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x475c47
mov edx, dword [esp + 0x54]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, dword [0x55b7a0]
test eax, eax
je 0x475de2
cmp eax, 2
mov ecx, 0x15180
jne 0x475c65
mov ecx, 0x93a80
jmp 0x475c6f
cmp eax, 3
jne 0x475c6f
mov ecx, 0x24ea00
mov eax, dword [0x55b718]
add ecx, eax
push ecx
lea ecx, [esp + 0x30]
push ecx
call fcn.00508ff0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
sub esp, 8
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x44]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x48]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
lea ecx, [esp + 0x24]
call fcn.004601d0
mov esi, dword [0x55b028]
xor eax, eax
mov ecx, dword [esi - 0xc]
lea ebp, [esi - 0xc]
cmp ecx, 1
jg 0x475cc4
mov ecx, dword [esi - 4]
test ecx, ecx
jge 0x475d34
mov esi, dword [esi - 8]
test esi, esi
mov dword [esp + 0x18], esi
jle 0x475cd1
mov eax, esi
push eax
mov ecx, 0x55b028
call fcn.00405530
test eax, eax
jne 0x475ce4
xor esi, esi
jmp 0x475d34
mov edi, dword [0x55b028]
lea ecx, [esi + esi + 2]
mov edx, ecx
lea esi, [ebp + 0xc]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x55b028]
mov ecx, dword [esp + 0x18]
mov dword [eax - 8], ecx
mov eax, dword [0x547574]
cmp ebp, eax
je 0x475d28
push ebp
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x475d28
push ebp
call fcn.00532222
add esp, 4
mov esi, dword [0x55b028]
mov edi, dword [sym.imp.USER32.dll_AppendMenuW]
mov edx, dword [0x547570]
test esi, esi
mov dword [esp + 0x54], edx
je 0x475d92
mov eax, esi
shr eax, 0x10
jne 0x475d5b
and esi, 0xffff
lea ecx, [esp + 0x54]
push esi
call fcn.00413ae0
jmp 0x475d92
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebp, eax
test ebp, ebp
je 0x475d92
push ebp
lea ecx, [esp + 0x58]
call fcn.00405530
test eax, eax
je 0x475d92
mov edi, dword [esp + 0x54]
lea ecx, [ebp + ebp]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [sym.imp.USER32.dll_AppendMenuW]
mov eax, dword [esp + 0x54]
push eax
push 4
push 0x403
push ebx
call edi
mov eax, dword [esp + 0x54]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x475dd0
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x475dd0
mov edx, dword [esp + 0x54]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
lea ecx, [esp + 0x14]
call fcn.0048d880
mov eax, dword [0x55b7a0]
mov ebp, dword [esp + 0x1c]
add eax, 0xa
push 8
push eax
push ebx
call dword [sym.imp.USER32.dll_CheckMenuItem]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
push 0x102
push ecx
push eax
push ebx
lea ecx, [ebp + 0x898]
call fcn.0052bba0
cmp eax, 0xd
jne 0x475e1b
mov dword [0x55b7a0], 3
jmp 0x475e6f
cmp eax, 0xc
jne 0x475e2c
mov dword [0x55b7a0], 2
jmp 0x475e6f
cmp eax, 0xb
jne 0x475e3d
mov dword [0x55b7a0], 1
jmp 0x475e6f
cmp eax, 0xa
jne 0x475e4e
mov dword [0x55b7a0], 0
jmp 0x475e6f
cmp eax, 4
jne 0x475e5e
push 0
mov ecx, ebp
call fcn.00483440
jmp 0x475e6f
cmp eax, 5
jne 0x475e6f
mov eax, dword [ebp + 4]
push eax
call fcn.004d25c0
add esp, 4
mov ecx, dword [0x55b7a0]
mov edx, dword [0x55df98]
push 0
push ecx
push 0x55b7a8
push edx
call fcn.0048ea80
add esp, 0x10
mov eax, dword [esp + 0x58]
pop edi
pop esi
pop ebp
mov dword [eax], 0
mov eax, 1
pop ebx
add esp, 0x3c
ret 0xc