Function at 0x404bd0
Capabilities:
Capture webcam image
Create directory

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x40dea1
push eax
mov eax, 0x245c
mov dword fs:[0], esp
call fcn.00406860
push ebx
push ebp
push esi
mov esi, dword [esp + 0x247c]
cmp esi, 0xfbb
push edi
jg 0x405280
je 0x40524c
lea eax, [esi - 0xfa1]
cmp eax, 0x16
ja case.0x404c24.4004
mov esi, dword [esp + 0x247c]
xor ebp, ebp
jmp dword [eax*4 + 0x40536c]
mov eax, dword [esp + 0x247c]
push 0
push eax
call fcn.004046f0
add esp, 8
jmp case.0x404c24.4004
mov esi, dword [esp + 0x247c]
push 1
push esi
call fcn.00401590
mov ecx, dword [0x4113f0]
add esp, 8
push 0xfffffffffffffff0
push ecx
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov ecx, dword [0x411404]
xor ebp, ebp
cmp ecx, ebp
je 0x404ca1
mov edx, dword [0x4113f0]
or al, 3
push eax
push 0xfffffffffffffff0
push edx
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov eax, dword [0x4113f0]
push 0xf
push 0xfb1
push 0x42b
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [0x411404], ebp
jmp 0x404cd8
mov ecx, dword [0x4113f0]
and al, 0xfd
or al, 1
push eax
push 0xfffffffffffffff0
push ecx
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov edx, dword [0x4113f0]
push 0xe
push 0xfb1
push 0x42b
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [0x411404], 1
cmp dword [0x411410], 9
jne 0x404d3e
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.USER32.dll_GetCaretPos]
mov ecx, dword [0x411418]
mov eax, 0xcccccccd
mul ecx
shr edx, 3
cmp edx, 1
ja 0x404d06
mov edx, 1
push 1
push ecx
lea ecx, [esp + 0x18]
push edx
push ecx
call fcn.004021a0
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
add esp, 0x10
push edx
push eax
call dword [sym.imp.USER32.dll_SetCaretPos]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov eax, dword [0x411540]
push ebp
push ecx
push edx
push eax
call dword [sym.imp.GDI32.dll_MoveToEx]
push ebp
push esi
call fcn.00401590
add esp, 8
jmp case.0x404c24.4004
mov eax, dword [0x41140c]
cmp eax, ebp
jne 0x404d75
mov ecx, dword [0x4113f0]
push 0x13
push 0xfac
push 0x42b
mov dword [0x41140c], 1
push ecx
jmp 0x404db1
cmp eax, 1
jne 0x404d99
mov edx, dword [0x4113f0]
push 0x14
push 0xfac
push 0x42b
mov dword [0x41140c], 2
push edx
jmp 0x404db1
mov eax, dword [0x4113f0]
push 0x12
push 0xfac
push 0x42b
mov dword [0x41140c], ebp
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [0x411410]
push ecx
push esi
call fcn.004048f0
add esp, 8
mov ecx, 0x4111b8
call fcn.00401070
push esi
mov ecx, 0x4111b8
call fcn.00401160
push 1
push ebp
push esi
call dword [sym.imp.USER32.dll_InvalidateRect]
push esi
call dword [sym.imp.USER32.dll_UpdateWindow]
mov eax, dword [0x411538]
cmp eax, ebp
je 0x404e1e
mov ecx, dword [0x41153c]
cmp ecx, ebp
je 0x404e1e
mov edx, dword [0x4113dc]
push 0xcc0020
push ebp
push ebp
push eax
mov eax, dword [0x4113e8]
push edx
push eax
push ebp
push ebp
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov ecx, 0x4111b8
call fcn.004011c0
jmp case.0x404c24.4004
mov ecx, dword [esp + 0x247c]
push 0
push ecx
call fcn.004048f0
add esp, 8
jmp case.0x404c24.4004
mov edx, dword [esp + 0x247c]
push 1
push edx
call fcn.004048f0
add esp, 8
jmp case.0x404c24.4004
mov eax, dword [esp + 0x247c]
push 2
push eax
call fcn.004048f0
add esp, 8
jmp case.0x404c24.4004
mov ecx, dword [esp + 0x247c]
push 3
push ecx
call fcn.004048f0
add esp, 8
jmp case.0x404c24.4004
mov edx, dword [esp + 0x247c]
push 4
push edx
call fcn.004048f0
add esp, 8
jmp case.0x404c24.4004
mov eax, dword [esp + 0x247c]
push 5
push eax
call fcn.004048f0
add esp, 8
jmp case.0x404c24.4004
mov ecx, dword [esp + 0x247c]
push 6
push ecx
call fcn.004048f0
add esp, 8
jmp case.0x404c24.4004
mov edx, dword [esp + 0x247c]
push 7
push edx
call fcn.004048f0
add esp, 8
jmp case.0x404c24.4004
mov eax, dword [esp + 0x247c]
push 8
push eax
call fcn.004048f0
add esp, 8
jmp case.0x404c24.4004
mov ecx, dword [esp + 0x247c]
push 9
push ecx
call fcn.004048f0
add esp, 8
jmp case.0x404c24.4004
mov ebx, dword [esp + 0x247c]
push 1
push ebx
call fcn.00401590
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x180]
mov edx, dword [0x410250]
rep stosd dword es:[edi], eax
mov ecx, 0x41
lea edi, [esp + 0x7c]
rep stosd dword es:[edi], eax
mov ecx, 0x13
lea edi, [esp + 0x30]
add esp, 8
mov dword [esp + 0x10], edx
rep stosd dword es:[edi], eax
lea eax, [esp + 0x27c]
push 0x100
push eax
push str.Save_the_current_view
call sub.REDCOMM.dll_Ordinal_50
mov edx, dword [0x4111b4]
lea ecx, [esp + 0x178]
push 0x104
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x404fa5
lea eax, [esp + 0x178]
push 0x5c
push eax
call fcn.00406c70
add esp, 8
mov edx, eax
mov edi, str.ePview
jmp 0x404fb1
lea edx, [esp + 0x178]
mov edi, str.C:ePview
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xor ebp, ebp
mov eax, ecx
mov esi, edi
mov edi, edx
push ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x17c]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov edx, dword [0x4111b4]
lea ecx, [esp + 0x178]
lea eax, [esp + 0x74]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x44], eax
lea ecx, [esp + 0x28]
lea edx, [esp + 0x27c]
lea eax, [esp + 0x10]
push ecx
mov dword [esp + 0x2c], 0x4c
mov dword [esp + 0x30], ebx
mov dword [esp + 0x38], str.e_Pointer_View_.epv_
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], 1
mov dword [esp + 0x4c], 0x104
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], ebp
mov dword [esp + 0x5c], edx
mov word [esp + 0x64], bp
mov word [esp + 0x66], bp
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x60], 0x80006
call sub.comdlg32.dll_GetSaveFileNameA
test eax, eax
je 0x4050fa
push ebx
call dword [sym.imp.USER32.dll_UpdateWindow]
call fcn.00401650
mov esi, eax
cmp esi, ebp
je 0x4050ed
lea edx, [esp + 0x74]
push edx
push esi
call dword [sym.imp.RSCLASS.dll_unsigned_short_int___stdcall_DIB_SaveDIB_void___char__]
push esi
call fcn.004067b9
add esp, 4
lea ecx, [esp + 0x37c]
push 0x4101f8
call fcn.00406160
lea eax, [esp + 0x74]
lea ecx, [esp + 0x37c]
push eax
mov dword [esp + 0x2478], ebp
call fcn.004062e0
lea ecx, [esp + 0x37c]
call fcn.00406390
lea ecx, [esp + 0x37c]
mov dword [esp + 0x2474], 0xffffffff
call fcn.004061d0
push ebp
push ebx
call fcn.00401590
add esp, 8
jmp case.0x404c24.4004
push 0x30
push str.Error_occured._The_current_view_has_not_been_saved.
push ebx
call sub.REDCOMM.dll_Ordinal_54
push ebp
push ebx
call fcn.00401590
add esp, 8
jmp case.0x404c24.4004
push 0x4101f8
lea ecx, [esp + 0x13f8]
call fcn.00406160
lea ecx, [esp + 0x13f4]
mov dword [esp + 0x2474], 2
call fcn.004061e0
test eax, eax
jg 0x40515c
mov ecx, dword [esp + 0x247c]
push ecx
call fcn.00401e10
add esp, 4
mov dword [esp + 0x2474], 0xffffffff
lea ecx, [esp + 0x13f4]
jmp 0x40534e
mov edx, dword [0x4113f0]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
xor ebp, ebp
push ebp
push 0xfb7
push 0x419
push edx
call esi
mov edx, dword [0x4113f0]
lea ecx, [esp + 0x18]
push ecx
push eax
push 0x41d
push edx
call esi
mov ecx, dword [0x4113f0]
mov esi, dword [sym.imp.USER32.dll_ClientToScreen]
lea eax, [esp + 0x18]
push eax
push ecx
call esi
mov eax, dword [0x4113f0]
lea edx, [esp + 0x20]
push edx
push eax
call esi
mov ecx, dword [0x4111b4]
push str.IDR_OPENVIEWFILE
push ecx
call dword [sym.imp.USER32.dll_LoadMenuA]
mov edi, eax
cmp edi, ebp
je 0x405235
push ebp
push edi
call dword [sym.imp.USER32.dll_GetSubMenu]
mov esi, eax
push esi
call fcn.00404bb0
add esp, 4
lea ecx, [esp + 0x13f4]
push 0xcb20
push esi
call fcn.004063f0
push str.Recent_View
push ebp
push esi
call sub.REDCOMM.dll_Ordinal_86
mov eax, dword [0x411404]
mov ecx, dword [esp + 0x24]
cmp eax, ebp
jne 0x405207
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x247c]
push ebp
neg eax
push edx
push ebp
sbb eax, eax
push ecx
mov ecx, dword [esp + 0x28]
and al, 0xe0
add eax, 0x22
push ecx
push eax
push esi
call dword [sym.imp.USER32.dll_TrackPopupMenu]
push esi
call sub.REDCOMM.dll_Ordinal_87
push edi
call dword [sym.imp.USER32.dll_DestroyMenu]
mov dword [esp + 0x2474], 0xffffffff
lea ecx, [esp + 0x13f4]
jmp 0x40534e
mov esi, dword [esp + 0x247c]
push esi
call fcn.00401e10
add esp, 4
mov ecx, 0x4111b8
call fcn.00401070
push esi
mov ecx, 0x4111b8
call fcn.00401160
mov ecx, 0x4111b8
call fcn.004011c0
jmp case.0x404c24.4004
cmp esi, 0xcb20
jl case.0x404c24.4004
cmp esi, 0xcb33
jg case.0x404c24.4004
mov ebx, dword [esp + 0x247c]
push 1
push ebx
call fcn.00401590
add esp, 8
lea ecx, [esp + 0x37c]
push 0x4101f8
call fcn.00406160
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x74]
lea edx, [esp + 0x74]
rep stosd dword es:[edi], eax
push edx
push 0xcb20
push esi
lea ecx, [esp + 0x388]
mov dword [esp + 0x2480], 1
call fcn.00406560
test eax, eax
jne 0x4052fd
push 0x30
push str.Error_occured._Cannot_open_the_specified_view.
push ebx
call sub.REDCOMM.dll_Ordinal_54
jmp 0x405312
mov ecx, dword [0x41153c]
lea eax, [esp + 0x74]
push eax
push ecx
push ebx
call fcn.00401d10
add esp, 0xc
push 0
push ebx
call fcn.00401590
add esp, 8
mov ecx, 0x4111b8
call fcn.00401070
push ebx
mov ecx, 0x4111b8
call fcn.00401160
mov ecx, 0x4111b8
call fcn.004011c0
mov dword [esp + 0x2474], 0xffffffff
lea ecx, [esp + 0x37c]
call fcn.004061d0
mov ecx, dword [esp + 0x246c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x2468
ret