Function at 0x4179af
Capabilities:
Capture webcam image

Disassembly:
push 0xffffffffffffffff
push 0x43b9e8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc
mov eax, dword [0x444020]
push ebx
push ebp
push esi
mov esi, ecx
push edi
push 0x90
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], eax
call fcn.00405370
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 4]
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [esp + 0x14]
mov ecx, dword [0x444024]
lea edx, [eax - 0xc]
cmp edx, ecx
je 0x417a03
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x417a03
mov eax, dword [esp + 0x14]
add eax, 0xfffffff4
push eax
call fcn.0043a372
add esp, 4
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x80
call fcn.00402400
call fcn.00405ec0
mov ecx, dword [esi + 4]
add esp, 4
xor ebx, ebx
push eax
push ebx
push 0x80
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [esp + 0x10], ebx
push 0x4442d0
push 0x20
push ebx
push ebx
push ebx
push 0x86
push ebx
push ebx
push ebx
push 0x2bc
push ebx
push ebx
push ebx
push 0xfffffffffffffff2
mov dword [esp + 0x5c], ebx
call dword [sym.imp.GDI32.dll_CreateFontA]
mov edx, dword [esi + 4]
push 0x419
push edx
mov dword [esp + 0x18], eax
call dword [sym.imp.USER32.dll_GetDlgItem]
lea edi, [esi + 0x128]
mov dword [esp + 0x18], eax
push edi
mov ecx, edi
mov eax, dword [edi]
lea ebp, [edi + 8]
call dword [eax + 4]
push eax
mov ecx, ebp
call fcn.00416960
push ebp
mov ebp, dword [esp + 0x1c]
push 0xfffffffffffffffc
push ebp
call dword [sym.imp.USER32.dll_SetWindowLongA]
cmp eax, ebx
je 0x417aa1
mov dword [edi + 0x1c], eax
mov dword [edi + 4], ebp
mov eax, dword [esp + 0x10]
mov dword [esi + 0x14c], 0xff
mov ecx, dword [esi + 0x12c]
push 1
push eax
push 0x30
push ecx
mov dword [esp + 0x20], ebx
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [esp + 0x14], ebx
push 1
push 1
push 0x18
push 0x18
push 0x50
mov byte [esp + 0x38], 1
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
push ecx
mov ebp, eax
mov eax, esp
lea ecx, [esp + 0x18]
mov dword [esp + 0x1c], esp
mov dword [eax], 0xf6
call fcn.00402330
mov edx, dword [esp + 0x14]
push ebx
push edx
push ebp
call dword [sym.imp.COMCTL32.dll_ImageList_Add]
mov eax, dword [esp + 0x14]
mov byte [esp + 0x24], bl
cmp eax, ebx
je 0x417b18
lea ecx, [esp + 0x14]
call fcn.00402350
mov eax, dword [esi + 4]
push 0x41b
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
lea edi, [esi + 0x1a4]
push eax
mov ecx, edi
call fcn.00406c40
cmp eax, ebx
je 0x417b40
mov ecx, edi
call fcn.00404750
mov dword [edi + 0x24], ebp
mov al, byte [edi + 0x20]
test al, 8
je 0x417b5f
mov ecx, dword [edi + 4]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x417b5f
mov ecx, edi
call fcn.00404290
mov eax, 1
mov dword [edi + 0x28], ebx
mov dword [edi + 0x2c], 2
mov dword [edi + 0x30], eax
mov dword [edi + 0x34], 4
mov dword [edi + 0x20], eax
mov dword [esp + 0x18], ebx
push eax
push eax
push 0x18
push 0x18
push 0x50
mov byte [esp + 0x38], 2
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
push ecx
mov ebp, eax
mov eax, esp
lea ecx, [esp + 0x1c]
mov dword [esp + 0x18], esp
mov dword [eax], 0xf6
call fcn.00402330
mov edx, dword [esp + 0x18]
push ebx
push edx
push ebp
call dword [sym.imp.COMCTL32.dll_ImageList_Add]
mov eax, dword [esp + 0x18]
mov byte [esp + 0x24], bl
cmp eax, ebx
je 0x417bcc
lea ecx, [esp + 0x18]
call fcn.00402350
mov eax, dword [esi + 4]
push 1
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
lea edi, [esi + 0x1e8]
push eax
mov ecx, edi
call fcn.00406c40
cmp eax, ebx
je 0x417bf1
mov ecx, edi
call fcn.00404750
mov dword [edi + 0x24], ebp
mov al, byte [edi + 0x20]
test al, 8
je 0x417c10
mov ecx, dword [edi + 4]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x417c10
mov ecx, edi
call fcn.00404290
push ebx
push 1
mov ecx, edi
mov dword [edi + 0x28], ebx
mov dword [edi + 0x2c], 2
mov dword [edi + 0x30], 1
mov dword [edi + 0x34], 4
call fcn.004137d0
cmp dword [esi + 0x124], ebx
je 0x417c5f
mov edx, dword [esi + 4]
push 0x41b
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ecx, dword [esi + 0x124]
xor edx, edx
cmp dword [ecx + 0x10], ebx
sete dl
push edx
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, dword [esp + 0x10]
mov dword [esi + 0x120], ebx
cmp eax, ebx
mov dword [esp + 0x24], 0xffffffff
je 0x417c7e
lea ecx, [esp + 0x10]
call fcn.00402350
mov ecx, dword [esp + 0x1c]
pop edi
pop esi
pop ebp
xor eax, eax
mov dword fs:[0], ecx
pop ebx
add esp, 0x18
ret 8