Function at 0x452fac
Capabilities:
Capture webcam image
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb64
push ebx
push esi
mov esi, ecx
push edi
push dword [ebp + 8]
mov dword [ebp - 8], esi
lea ebx, [esi + 0xaac]
mov ecx, ebx
call fcn.0044877d
test eax, eax
jne 0x452fe1
push eax
mov ecx, 0x4776b0
call fcn.004193af
jmp 0x4534f1
push 0xc
xor eax, eax
pop ecx
lea edi, [ebp - 0x44]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x364]
mov ecx, ebx
push eax
mov dword [ebp - 0x44], 0x30
push dword [ebp + 8]
call fcn.004490d5
cmp eax, 0xffffffff
je 0x4534f1
lea eax, [ebp - 0x15c]
push 0x104
push eax
mov ecx, esi
call fcn.004540cb
lea edi, [ebp - 0x364]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0x15c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
xor ebx, ebx
and ecx, 3
push ebx
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x58]
push dword [ebp + 8]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0x419
stosd dword es:[edi], eax
mov edi, dword [ebp - 8]
push dword [edi + 0xab0]
call esi
lea ecx, [ebp - 0x58]
push ecx
push eax
push 0x417
push dword [edi + 0xab0]
call esi
mov ecx, 0x1ff
xor eax, eax
lea edi, [ebp - 0xb63]
mov byte [ebp - 0xb64], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ebp - 0x4c]
cmp eax, 3
je 0x453106
cmp eax, 7
je 0x453106
cmp eax, 4
je 0x4530b9
cmp eax, 9
jne 0x45315e
mov edi, 0x410e20
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0x15c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x800
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0xb64]
mov ecx, edx
push eax
and ecx, 3
lea eax, [ebp - 0x15c]
rep movsb byte es:[edi], byte [esi]
push eax
call fcn.00427441
add esp, 0xc
jmp 0x45315e
mov edi, 0x40e4fc
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0x15c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x15c]
mov ecx, edx
push eax
lea eax, [ebp - 0xb64]
push 0x800
push eax
and ecx, 3
push 0x45fc38
push 0x40aa68
push 0x40aa54
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp byte [ebp - 0xb64], bl
je 0x453179
lea eax, [ebp - 0xb64]
push ebx
push eax
call fcn.00420e9b
pop ecx
jmp 0x4534f0
mov edi, 0x40a0a0
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0x15c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push ebx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [ebp - 0x14]
and ecx, 3
push eax
mov eax, dword [ebp - 8]
push dword [ebp + 8]
rep movsb byte es:[edi], byte [esi]
lea ecx, [eax + 0xaac]
call fcn.0044877d
mov ecx, dword [ebp - 8]
push eax
push dword [ecx + 0xab0]
push 0x3e9
call fcn.00451a46
call fcn.0041f1f2
call dword [sym.imp.USER32.dll_CreatePopupMenu]
mov esi, dword [sym.imp.USER32.dll_LoadStringA]
mov dword [ebp - 4], eax
lea eax, [ebp - 0x260]
push 0x104
push eax
push 0xc9
push dword [0x534a50]
call esi
lea eax, [ebp - 0x260]
lea edi, [ebp - 0x260]
mov dword [ebp - 0x20], eax
or ecx, 0xffffffff
xor eax, eax
mov dword [ebp - 0x40], 0x42
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x34], reloc.ADVAPI32.dll_RegCloseKey
repne scasb al, byte es:[edi]
push ebx
push 0xffffffffffffffff
lea eax, [ebp - 0x44]
push ebx
push eax
push 1
not ecx
push ebx
dec ecx
push dword [ebp - 4]
mov dword [ebp - 0x1c], ecx
call fcn.00432d31
add esp, 0x1c
lea eax, [ebp - 0x260]
push 0x104
push eax
push 0x96
push dword [0x534a50]
call esi
lea eax, [ebp - 0x260]
lea edi, [ebp - 0x260]
mov dword [ebp - 0x20], eax
or ecx, 0xffffffff
xor eax, eax
mov dword [ebp - 0x40], 0x42
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x34], 0x9001
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ebp - 0x1c], ecx
push ebx
push 0xffffffffffffffff
lea eax, [ebp - 0x44]
push ebx
push eax
push 1
push 1
push dword [ebp - 4]
call fcn.00432d31
push ebx
push 0xffffffffffffffff
lea eax, [ebp - 0x44]
push ebx
push eax
push 1
push 2
mov dword [ebp - 0x40], 0x100
push dword [ebp - 4]
mov dword [ebp - 0x3c], 0x800
call fcn.00432d31
mov edx, dword [0x460724]
mov esi, dword [0x460718]
add esp, 0x38
cmp edx, ebx
je 0x4532e0
mov eax, dword [0x460728]
sub eax, edx
sar eax, 2
cmp eax, esi
ja 0x453304
lea eax, [ebp + 8]
add esi, 0x1f4
push eax
push esi
mov ecx, 0x460720
mov dword [ebp + 8], ebx
call fcn.00421046
mov edx, dword [0x460724]
mov esi, dword [0x460718]
lea edi, [ebp - 0x15c]
or ecx, 0xffffffff
xor eax, eax
lea esi, [edx + esi*4]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
inc edi
mov dword [ebp + 8], edi
lea eax, [edi + 1]
push eax
call dword [sym.imp.MSVCRT.dll_malloc]
pop ecx
mov dword [esi], eax
mov eax, dword [0x460724]
mov ecx, dword [0x460718]
lea esi, [ebp - 0x15c]
mov eax, dword [eax + ecx*4]
mov cl, byte [0x40aaf8]
mov byte [eax], cl
mov eax, dword [0x460718]
mov edx, dword [0x460724]
mov ecx, edi
mov edi, dword [edx + eax*4]
mov eax, ecx
inc edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x460718]
mov ecx, dword [0x460724]
inc eax
cmp ecx, ebx
mov dword [0x460718], eax
je 0x453389
mov edx, dword [0x460728]
sub edx, ecx
sar edx, 2
cmp edx, eax
ja 0x4533ab
lea ecx, [ebp - 0xc]
add eax, 0x1f4
push ecx
push eax
mov ecx, 0x460720
mov dword [ebp - 0xc], ebx
call fcn.00421046
mov ecx, dword [0x460724]
mov eax, dword [0x460718]
push dword [ebp + 8]
lea esi, [ecx + eax*4]
call dword [sym.imp.MSVCRT.dll_malloc]
mov dword [esi], eax
mov eax, dword [0x460718]
mov edx, dword [0x460724]
pop ecx
mov ecx, dword [ebp + 8]
lea esi, [ebp - 0x15c]
mov edi, dword [edx + eax*4]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x460718]
mov ecx, dword [0x460724]
inc eax
cmp ecx, ebx
mov dword [0x460718], eax
je 0x453403
mov edx, dword [0x460728]
sub edx, ecx
sar edx, 2
cmp edx, eax
ja 0x453425
lea ecx, [ebp - 0xc]
add eax, 0x1f4
push ecx
push eax
mov ecx, 0x460720
mov dword [ebp - 0xc], ebx
call fcn.00421046
mov ecx, dword [0x460724]
mov eax, dword [0x460718]
push dword [ebp + 8]
lea esi, [ecx + eax*4]
call dword [sym.imp.MSVCRT.dll_malloc]
mov dword [esi], eax
mov eax, dword [0x460718]
mov edx, dword [0x460724]
pop ecx
mov ecx, dword [ebp + 8]
lea esi, [ebp - 0x15c]
mov edi, dword [edx + eax*4]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 1
and ecx, 3
rep movsb byte es:[edi], byte [esi]
inc dword [0x460718]
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov esi, eax
sub esi, dword [ebp - 0x10]
call fcn.00432c09
mov ecx, eax
mov eax, esi
cdq
idiv ecx
push 0xa
pop esi
cmp eax, esi
jle 0x453481
mov esi, eax
mov edi, dword [ebp - 4]
push edi
call dword [sym.imp.USER32.dll_GetMenuItemCount]
push esi
push reloc.ADVAPI32.dll_RegCloseKey
push 2
push eax
lea eax, [ebp - 0x15c]
push eax
push edi
push 0x460718
push 0x460720
call fcn.0041f435
mov esi, dword [ebp - 8]
add esp, 0x20
push edi
lea ecx, [esi + 0x948]
call fcn.00432be0
push ebx
push dword [esi + 4]
push ebx
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push 0x100
push edi
call dword [sym.imp.USER32.dll_TrackPopupMenu]
cmp eax, ebx
jbe 0x4534e5
add eax, 0xffff7000
mov ecx, esi
push eax
call fcn.00452f99
call fcn.0041f1f2
push edi
call fcn.00432ca1
pop ecx
push 0xffffffffffffffff
mov ecx, 0x4776b0
call fcn.00415ed0
pop edi
pop esi
pop ebx
leave
ret 4